Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: khio123456 en 20 Febrero 2008, 20:59 pm



Título: como hacer un menu en c++
Publicado por: khio123456 en 20 Febrero 2008, 20:59 pm
como hacer un menu en c++


Título: Re: como hacer un menu en c++
Publicado por: ~~ en 20 Febrero 2008, 21:17 pm
Viva ese don de palabra q te a concedido Dios para exlicar lo q kieres!!!

Seré escueto:
En ventana o consola?  :P


Título: Re: como hacer un menu en c++
Publicado por: 43H4FH44H45H4CH49H56H45H en 21 Febrero 2008, 04:33 am
como hacer un menu en c++

switch, Pointers, API.........


Título: Re: como hacer un menu en c++
Publicado por: cassiani en 21 Febrero 2008, 17:24 pm
como hacer un menu en c++

???? debes explicarte mejor...

Te pongo un ejemplo sencillo usando la consola:
Código:
#include<conio.h>
void main()
{
int seleccion,repetir=1;
//Mostramos el menu mientras repetir sea igula a true o 1 ;-)
while (repetir==1)
{
clrscr();//Borrando pantalla
textcolor(WHITE);//Cambiando el color del texto
gotoxy(15,8),  cprintf("Archivo de personal");
gotoxy(10,10), cprintf("1. Agregar");
gotoxy(10,12), cprintf("2. Modificar");
gotoxy(10,14), cprintf("3. Eliminar");
gotoxy(10,16), cprintf("4. Mostrar");
gotoxy(10,18), cprintf("5. Salir a Guindous");
textcolor(GREEN);
gotoxy(10,20), cprintf("¨Que desea hacer?");
gotoxy(28,20);seleccion=getche();//Capturando la seleccion
textcolor(YELLOW);
//La proxima impresion aparecera en esta posicion
gotoxy(28,20);
switch(seleccion)
{
case '1': cprintf("Entraste en Agregar");getch();break;
case '2': cprintf("Entraste en Modificar");getch();break;
case '3': cprintf("Entraste en Eliminar");getch();break;
case '4': cprintf("Entraste en Mostrar");getch();break;
case '5': repetir=0;break;//se indica que debe salir
//Si la opcion es incorrecta, entra aqui
default:
{
cprintf("Opcion Invalida");
getch();
}
}
}
}

Podes usar getchar en lugar de getch, es que me fastidio cambiarlo...  :P

¡S4lu2!


Título: Re: como hacer un menu en c++
Publicado por: el novato de la red... en 21 Mayo 2008, 01:24 am
Hola pues aca echando una miradita, en el foro, me encontre con este problema, y pues no podia irme sin aportar algo...

y pues les dejo un trozo de code que realicew mas o menos por el 2006.

qu ehace referencia al tema aqui descrito, espero que sea de utilidad, aunque es muy parecido al code de arriba,

esta echo un poco diferente pero casi con los mismos resultados....




*----------------------------------*/
/* Muestra un menu si no se pulsa 0 */
/* Realizado en:                    */
/*   - Turbo C++                    */
/*                                  */
/*----------------------------------*/


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

main() /* Programa que muestra un menu si no se pulsa el cero */
   {
   char opcion;
      clrscr(); /* Para limpiar pantalla */
      do
      {
      gotoxy(2,1);printf("1.- Comenzar\n");
      gotoxy(2,2);printf("2.- Abrir\n");
      gotoxy(2,3);printf("3.- Guardar\n");
      gotoxy(2,4);printf("0.- Salir\n");
      gotoxy(2,6);printf("Escoge una opción:");
      opcion=getchar();
      switch(opcion)
         {
         case '1': gotoxy(2,8); printf("Has elegido la Opción Comenzar");
            break;
         case '2': gotoxy(2,10); printf("Has elegido la Opción Abrir");
            break;
         case '3': gotoxy(2,12); printf("Has elegido la Opción Guardar");
         }
      }
      while(opcion!='0');
      gotoxy(2,15); printf("Salu2.");
      gotoxy(2,16); printf("Que tengas un buen dia");
      gotoxy(2,17); printf("...");
      gotoxy(2,18); printf("...");
      gotoxy(2,19); printf("...");
      getch();
   }


Título: Re: como hacer un menu en c++
Publicado por: el novato de la red... en 21 Mayo 2008, 01:29 am
A otra cosilla con respecto al code...

Es libre de ser modificado, es libre de ser usado, por eso he llegado a esta comunidad para aportar algo, aprender, y por supuesto, creo que de eso se trata este foro.


Code con licencia libre.


salu2.


Título: Re: como hacer un menu en c++
Publicado por: cassiani en 21 Mayo 2008, 01:47 am
Esta bien... tranquilo... :xD como sugerencia "el clrscr(); debería ir dentro del ciclo, fuera de el es inservible en este caso".

Tranquilo, todos los codes que acá se dejan son para ser usados libremente, solo que se inique lo contrario, "promoción válida hasta el 31 de febrero  ;)"....

Vale la intención, saludos!!!


Título: Re: como hacer un menu en c++
Publicado por: HJZR4 en 21 Mayo 2008, 16:36 pm
Si no estás usando borland c++ (y consecuentemente no tienes conio.h -aunque está ya para otros programas-), aquí tienes otro: :p

Código:
#include <stdio.h>
#include <stdlib.h>

int main()

int fin = 0;
int opcion;

while (fin == 0)
{
system("cls");
printf("Menú simple\n\n");

printf("\t1] Ejecutar.\n");
printf("\t2] Ayuda.\n");
printf("\t3] Salir.\n");

printf("\n\nOpción: ");
scanf("%i", &opcion);

switch(opcion)
{
case 1:
fin = 1;
/* PROGRAMA SI LA OPCION ES 1 */
break;
case 2:
fin = 1;
/* PROGRAMA SI LA OPCION ES 2 */
break;
case 3:
fin = 1;
/* PROGRAMA SI LA OPCION ES 3 */
break;
default:
fin = 0;
break;
}

}

system("pause");
return 0;
}


Suerte!


Título: Re: como hacer un menu en c++
Publicado por: raybam en 3 Diciembre 2009, 12:15 pm
para que sirve la declaracion ?

using namespace System; 

y en el segundo programa, para que sirve?
system("cls");
y
system("pause");



Título: Re: como hacer un menu en c++
Publicado por: ^Winder^ en 3 Diciembre 2009, 12:53 pm
Citar
como hacer un menu en c++

Pasos a seguir para hacer un menú en C++:

1º Abrimos nuestro IDE favorito o editor de texto plano.

2º Pensamos que tipo de menú queremos hacer, si gráfico o de texto, que aspecto queremos que tenga, como estará organizado etc.

3º Empezamos a escribir código moduladamente, construimos cacho a cacho nuestro menú.

4º ¿Qué ha pasado? ¿Cómo continuo? me quedé atascado... puede ser que al probar un módulo no me compile (repasamos el código y si es necesario consultamos Google y manuales de C++), puede ocurrir que al ejecutar nos haya explotado (unfallo de segmentación u otro error inesperado) o que simplemente no haga lo que queramos (en ambos caso, depuramos con nuestro depurador favorito o a mano, con nuestra técnica favoritas, poniendo asertos o visualizando variables con cout... etc)

5º Demonios, he depurado, he consultado mis apuntes de C++, por internet y no me veo capaz de avanzar... entonces entramos a elhacker.net, categoría de programación, foro de C/C++

6º Lo primero, buscar si nuestra duda está resuelta en algún post ya existente, para esta tarea nos podemos ayudar el buscador del foro (mira botones superiores)

7º Vaya, no encuentro lo que busco... tendremos que preguntar, abrimos un tema, con un titulo significativo, por ejemplo: 'como hacer un menu en C++'

8º En nuestro mensaje explicamos detalladamente lo que queremos, tipo de menú, aspecto.... camino que hemos tomado para realizarlo, problemas que hemos tenido y cómo hemos intentado solucionar dichos problemas, esta epxlicación debería ir acompañada SIEMPRE del código programado.

9º Felicidades, la gente ha captado lo que quieres hacer, se ha convencido de que te hasm olestado en buscar y en solucionar tus problemas y tienen material suficiente para ayudarte. Ahora es cuestión de tiempo para que lleguen las respuestas y las ayudas.



Título: Re: como hacer un menu en c++
Publicado por: tragantras en 3 Diciembre 2009, 15:47 pm
Citar
como hacer un menu en c++

Pasos a seguir para hacer un menú en C++:

1º Abrimos nuestro IDE favorito o editor de texto plano.

2º Pensamos que tipo de menú queremos hacer, si gráfico o de texto, que aspecto queremos que tenga, como estará organizado etc.

3º Empezamos a escribir código moduladamente, construimos cacho a cacho nuestro menú.

4º ¿Qué ha pasado? ¿Cómo continuo? me quedé atascado... puede ser que al probar un módulo no me compile (repasamos el código y si es necesario consultamos Google y manuales de C++), puede ocurrir que al ejecutar nos haya explotado (unfallo de segmentación u otro error inesperado) o que simplemente no haga lo que queramos (en ambos caso, depuramos con nuestro depurador favorito o a mano, con nuestra técnica favoritas, poniendo asertos o visualizando variables con cout... etc)

5º Demonios, he depurado, he consultado mis apuntes de C++, por internet y no me veo capaz de avanzar... entonces entramos a elhacker.net, categoría de programación, foro de C/C++

6º Lo primero, buscar si nuestra duda está resuelta en algún post ya existente, para esta tarea nos podemos ayudar el buscador del foro (mira botones superiores)

7º Vaya, no encuentro lo que busco... tendremos que preguntar, abrimos un tema, con un titulo significativo, por ejemplo: 'como hacer un menu en C++'

8º En nuestro mensaje explicamos detalladamente lo que queremos, tipo de menú, aspecto.... camino que hemos tomado para realizarlo, problemas que hemos tenido y cómo hemos intentado solucionar dichos problemas, esta epxlicación debería ir acompañada SIEMPRE del código programado.

9º Felicidades, la gente ha captado lo que quieres hacer, se ha convencido de que te hasm olestado en buscar y en solucionar tus problemas y tienen material suficiente para ayudarte. Ahora es cuestión de tiempo para que lleguen las respuestas y las ayudas.





sin duda sin duda, pq yo tambien me empiezo a cansar de que la gente venga con preguntas del tipo:

¿Como se hace  XXXX programa? xD

lo suyo del foro es responder a preguntas no a ejercicios que manden en clase


pD: no quiero ser estupido, es solo que empiezo a cansarme xD


Título: Re: como hacer un menu en c++
Publicado por: nicolas2013alcubo en 5 Mayo 2013, 05:31 am
Por favor, coloquen el ejemplo de un código en C de un menú en el que con los cursores se resalten la opcion (El clásico video invertido) y al presionar Enter se seleccione la opción señalada, no me refiero a los menues en el que la opción se seleccione pulsando el número o letra indicada.


Título: Re: como hacer un menu en c++
Publicado por: nicolas2013alcubo en 1 Junio 2013, 01:06 am
Respondan por favor... Hace tiempo que solicité eso del menú con los cursores. Gracias. Nico


Título: Re: como hacer un menu en c++
Publicado por: leosansan en 2 Junio 2013, 12:02 pm
Por favor, coloquen el ejemplo de un código en C de un menú en el que con los cursores se resalten la opcion (El clásico video invertido) y al presionar Enter se seleccione la opción señalada, no me refiero a los menús en el que la opción se seleccione pulsando el número o letra indicada.

(http://i1280.photobucket.com/albums/a497/leosansan/GRAFICOS1/menucontraste_zpsb8b89ada.jpg)

La verdad es que me lo he tomado como todo un reto y al final salió, aunque es sólo un esbozo de algo que haré más depurado con un pelín más de tiempo, pero para que vayas viendo algo. Eso sí, haciendo uso  de las API de windows y con color en el contraste y en la opción seleccionada. Para más información a este respecto ver el tema de gama de colores. (http://foro.elhacker.net/programacion_cc/pequenita_aportacion_gama_de_colores_y_gran_duda_al_respecto-t391209.0.html) Espero te sea útil:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <windows.h>
  4.  
  5. void contraste (int abajo);
  6.  
  7. int main ()
  8. {
  9.    int arriba=1,abajo=1;
  10.    puts ("Menu");
  11.    puts ("1. Entrar datos");
  12.    puts ("2. Leer datos");
  13.    puts ("3. Borrrar datos");
  14.    gotoxy (0,1);
  15.    while (1)
  16.    {
  17.        contraste ( abajo);
  18.        if (abajo>3 || abajo<1)
  19.            {
  20.                gotoxy (0,1);
  21.                abajo=1;
  22.            }
  23.  
  24.        else if (GetAsyncKeyState(VK_DOWN))
  25.            {
  26.                contraste ( abajo);
  27.                gotoxy (0,abajo+1);
  28.  
  29.                abajo++;
  30.                Sleep(100);
  31.            }
  32.        else if (GetAsyncKeyState(VK_UP))
  33.            {
  34.                contraste ( abajo);
  35.                gotoxy (0,abajo-1);
  36.                contraste ( abajo);
  37.                abajo--;
  38.                Sleep(100);
  39.            }
  40.        else  if (GetAsyncKeyState(VK_RETURN))
  41.                {
  42.                    system ("cls");
  43.                    if (abajo==1)
  44.                        {
  45.                            color (30);
  46.                            puts("Hago esto si abajo=1");
  47.                            color (7);
  48.                            break;
  49.                        }
  50.                    else if (abajo==2)
  51.                        {
  52.                            color (62);
  53.                            puts("Hago esto si abajo=2");
  54.                            color (7);
  55.                            break;
  56.  
  57.                        }
  58.                    else
  59.                        {
  60.                             color (181);
  61.                             puts("Hago esto si abajo=3");
  62.                             color (7);
  63.                             break;
  64.                        }
  65.  
  66.                    Sleep(100);
  67.                }
  68.    }
  69.    system ("pause");
  70.    return 0;
  71. }
  72.  
  73. int gotoxy(int x, int y)
  74. {
  75.   COORD coord;
  76.   HANDLE h_stdout;
  77.   coord.X = x;
  78.   coord.Y = y;
  79.   if ((h_stdout = GetStdHandle(STD_OUTPUT_HANDLE)) == INVALID_HANDLE_VALUE)
  80.      return 0;
  81.   if (SetConsoleCursorPosition(h_stdout, coord) == 0)
  82.      return 0;
  83.   return 1;
  84. }
  85. int color (int n)
  86. {
  87.        SetConsoleTextAttribute(GetStdHandle (STD_OUTPUT_HANDLE), n );
  88. }
  89.  
  90. void contraste (int abajo)
  91. {
  92.  
  93.        if (abajo ==1)
  94.        {
  95.            color (7);
  96.            gotoxy (0,0);
  97.            puts ("Menu");
  98.            color (112);
  99.            puts ("1. Entrar datos");
  100.            color (7);
  101.            puts ("2. Leer datos");
  102.            puts ("3. Borrrar datos");
  103.            gotoxy (0,abajo);
  104.            Sleep(100);
  105.        }
  106.        else if (abajo ==2)
  107.        {
  108.            //color (112);
  109.            gotoxy (0,0);
  110.            color (7);
  111.            puts ("Menu");
  112.            puts ("1. Entrar datos");
  113.            color (112);
  114.            puts ("2. Leer datos");
  115.            color (7);
  116.            puts ("3. Borrrar datos");
  117.            color (7);
  118.            gotoxy (0,abajo);
  119.            Sleep(100);
  120.        }
  121.       else  if (abajo ==3)
  122.        {
  123.            //color (112);
  124.            gotoxy (0,0);
  125.            color (7);
  126.            puts ("Menu");
  127.            puts ("1. Entrar datos");
  128.            puts ("2. Leer datos");
  129.            color (112);
  130.            puts ("3. Borrrar datos");
  131.            color (7);
  132.            gotoxy (0,abajo);
  133.            Sleep(100);
  134.        }
  135. }
  136.  

Saluditos!. ... ..
(http://st.forocoches.com/foro/images/smilies/aaaaa.gif)


Título: Re: como hacer un menu en c++
Publicado por: roger2427 en 14 Diciembre 2013, 10:00 am
gracias parce eres un maestro me ayudo bastante con un rpoyecto que tengo que hacer
pero me podrias explicar como hacer las funciones que pusite la del contraste
y las sentencias que dicen GetAsyncKeyState(VK_UP) porque tengo que defender el proyecto
me seria de gran ayuda gracias


Título: Re: como hacer un menu en c++
Publicado por: leosansan en 14 Diciembre 2013, 18:32 pm

Lee la referencia de la  MSDN (http://msdn.microsoft.com/en-us/library/windows/desktop/ms646268(v=vs.85).aspx) tambien la de GetAsyncKeyState (http://msdn.microsoft.com/en-us/library/windows/desktop/ms646293(v=vs.85).aspx).


Saluditos! ..... !!!!        (http://st.forocoches.com/foro/images/smilies/aaaaa.gif)