• Domingo 22 de Diciembre de 2024, 12:38

Autor Tema:  Re: elegir opcion  (Leído 2367 veces)

zure

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: elegir opcion
« en: Martes 28 de Mayo de 2002, 19:06 »
0
Hola programadores!!!! Como hago para crear una pantalla en c++ con una serie de opciones en donde el usuario pueda elegir lo que quiere, una funcion que sea como prompt en pascal, pero en c++ ¿como se utiliza prompt en c++? ¿Cual libreria se utiliza?
gracias:D

dheak

  • Miembro activo
  • **
  • Mensajes: 62
    • Ver Perfil
Re: elegir opcion
« Respuesta #1 en: Viernes 31 de Mayo de 2002, 21:59 »
0
guenas noshe maestro!

oye, a ver si te sirve esto:

#include <stdio.h>
#include <conio.h>
#include <ctype.h>
#include <stdlib.h>

int ShowMenu();

void main()
{
   int salir = 0;
   do
   {
      switch (ShowMenu())
      {
         case 1: opcion1(); break;
         case 2: opcion2(); break;
         case 3: opcion3(); break;
         case 4: opcion4(); break;
         case 5: opcion5(); break;
         case 6: salir = 1; break;
      }
   } while (salir == 0);
   clrscr();
}

int ShowMenu()
{
   char tecla;
   int pos;
   int salir;
   salir = 0;
   pos = 1;
   textbackground(0);
   clrscr();
   textbackground(1);
   textcolor(15);
   gotoxy(20,7); cprintf("       M E N U   P R I N C I P A L       ");
   textbackground(0);
   gotoxy(34,9); cprintf("opcion1");
   gotoxy(34,10); cprintf("opcion2");
   gotoxy(34,11); cprintf("opcion3");
   gotoxy(34,12); cprintf("opcion4");
   gotoxy(34,13); cprintf("opcion5");
   gotoxy(34,14); cprintf("Salir");
   do
   {
      textbackground(1);
      switch (pos)
      {
         case 1:
         {
            gotoxy(34,9);
            cprintf("opcion1");
            pos = 1;
            fflush(stdin);
            tecla = getch();
            textbackground(0);
            gotoxy(34,9);
            cprintf("opcion1");
            break;
         }
         case 2:
         {
            gotoxy(34,10);
            cprintf("opcion2");
            pos = 2;
            fflush(stdin);
            tecla = getch();
            textbackground(0);
            gotoxy(34,10);
            cprintf("opcion2");
            break;
         }
         case 3:
         {
            gotoxy(34,11);
            cprintf("opcion3");
            pos = 3;
            fflush(stdin);
            tecla = getch();
            textbackground(0);
            gotoxy(34,11);
            cprintf("opcion3");
            break;
         }
         case 4:
         {
            gotoxy(34,12);
            cprintf("opcion4");
            pos = 4;
            fflush(stdin);
            tecla = getch();
            textbackground(0);
            gotoxy(34,12);
            cprintf("opcion4");
            break;
         }
         case 5:
         {
            gotoxy(34,13);
            cprintf("opcion5");
            pos = 5;
            fflush(stdin);
            tecla = getch();
            textbackground(0);
            gotoxy(34,13);
            cprintf("opcion5");
            break;
         }
         case 6:
         {
            gotoxy(34,14);
            cprintf("Salir");
            pos = 6;
            fflush(stdin);
            tecla = getch();
            textbackground(0);
            gotoxy(34,14);
            cprintf("Salir");
            break;
         }
      }
      switch (tecla)
      {
         case 0x48: /* Abajo */
         {
            if (pos != 1) pos = pos - 1;
            break;
         }
         case 0x50: /* Arriba */
         {
            if (pos != 6) pos = pos + 1;
            break;
         }
         case 0x0d: /* Enter */
         {
            salir = 1;
            break;
         }
      }
   } while (salir == 0);
   return pos;
}

Piensa que en el main() se llaman a unas funciones que se llaman opcion1(), opcion2(), etc. Estas funciones son de ejemplo! Luego tienes que poner tu tus funciones o tu codigo que tu quieras. Okis?

Espero haberte podido ayudar. Saludos

LamKros

  • Miembro activo
  • **
  • Mensajes: 28
    • Ver Perfil
    • http://www.lamkros.com
elegir opcion
« Respuesta #2 en: Sábado 29 de Junio de 2002, 21:25 »
0
/* Visto el anterior ejemplo, aqui tienes una alternativa, a falta de uno, dos :D */

/*Realizado por LamKros*/

#include <iostream.h>
#include <stdlib.h>
#include <ctype.h> //Para utilizar toupper()

/*toupper pone a mayusculas un caracter*/


char Menu();
bool Confirmar_Salida();

int main()
{char opc;
bool fin = false;
do
{
system("CLS"); //Limpia la pantalla
opc = Menu();
switch (opc)
       {
       case 'A':
       // Aqui poner lo que quieres que haga la opcion A
       cout <<endl <<"Seleccionada la Opcion A" <<endl;
       break;
       case 'B':
       //Lo mismo con la opcion B
       cout <<endl <<"Seleccionada la Opcion B" <<endl;
       break;
       case 'C':
       //Con la C
       cout <<endl <<"Seleccionada la Opcion C" <<endl;
       break;
       case 'D':
       //Y asi todas las que quieras
       cout <<endl <<"Seleccionada la Opcion D" <<endl;
       break;
       case 'X'://Y la X por ejemplo para salir
       fin = Confirmar_Salida();
       break;
       }
      system("PAUSE");
}while (!(fin));
      return 0;
}

char Menu()
{char opc;
cout           << " <Titulo del Programa> " << endl <<endl;
cout           << "t A. Opcion A" << endl; //la t es para tabular
cout           << "t B. Opcion B" << endl;
cout           << "t C. Opcion C" << endl;
cout           << "t D. Opcion D" << endl;
cout           << "t X. Salir"    << endl;

cout    <<endl << "Introduce una opcion: " <<endl;
cin >> opc;
return toupper(opc);
}

bool Confirmar_Salida()
{char opc;
cout <<endl <<"Confirma que desea salir(S/N): ";
cin >> opc;
return (toupper(opc)=='S');
}