elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Alguien podria orientarme con mi Menu?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Alguien podria orientarme con mi Menu?  (Leído 5,889 veces)
WiseHidden

Desconectado Desconectado

Mensajes: 225


La curiosidad es la semilla de la genialidad.


Ver Perfil WWW
Alguien podria orientarme con mi Menu?
« en: 7 Diciembre 2010, 12:07 pm »

Hola,
Llevo poco tiempo aprendiendo C++
Esta semana me e propuesto hacer un menu.

Me han guiado y he aprendido muchas cosas, pero por el momento tengo una duda con mi menu y no se que estoy haciendo mal. Y m gustaria que me orientaran
Un saludo a todos aqui expongo mi codigo:

Código
  1. #include <iostream.h>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6.  
  7. {
  8.  
  9. cout<<"******MENU PRINCIPAL********"<<endl;
  10. cout<<"* 1)Editor de Texto        *"<<endl;
  11. cout<<"* 2)Calculadora            *"<<endl;
  12. cout<<"* 3)Juegos                 *"<<endl;
  13. cout<<"*--------------------------*"<<endl;
  14. cout<<"* 4)Ayuda                  *"<<endl;
  15. cout<<"* 5)Salir                  *"<<endl;
  16. cout<<"****************************"<<endl;
  17. cout<<"Eliga una Opcion:";
  18. cin>>opc;  //AQUI ESTA MI PRIMER FALLO
  19.  
  20. switch (opc)
  21. {
  22.    case 1:
  23.    cout<<"EDITOR DE TEXTO"<<endl; //CREO QUE ESTO NO ESTA BIEN
  24. //Y LA VERDAD NO SE COMO INSERTA ALGO PARA QUE SALGA COMO EL MENU :(
  25.  
  26.    case 2:
  27.    cout<<"CALCULADORA "endl;
  28.  
  29.    case 3:
  30.    cout<<"JUEGOS "endl;
  31.  
  32.    case 4:
  33.    cout<<"AYUDA "endl;
  34.  
  35.    case 5:
  36.    cout<<"-----SALIENDO----- "endl; //LO QUE VIENE ACONTINUACION HE DE
  37. //RECONOCER QUE LO HE COPIADO DE UN CODIGO CON AUTORIZACION DEL
  38. //AUTOR,   AUNQUE AUN NO SE SI ES EFECTIVO
  39.    x=4;
  40. }
  41. system ("pause");
  42. } while (x !=4);
  43. return 0;
  44.  
  45. }

agradeceria vuestra ayuda

Atentamente
WH


« Última modificación: 8 Diciembre 2010, 17:42 pm por Novlucker » En línea

Si tu tienes una manzana y yo otra y decidimos intercambiarlas, seguiremos teniendo una manzana cada uno, pero si tu tienes una idea y yo otra y la intercambiamos, ambos tendremos dos ideas. (Origen Anónimo)
diskontrol

Desconectado Desconectado

Mensajes: 89


RAWR!


Ver Perfil
Re: Alguien podria orientarme con mi Menu?
« Respuesta #1 en: 7 Diciembre 2010, 14:27 pm »

Deberías prestar atención a los errores del compilador. Por ejemplo el uso de variables no declaradas. También te has comido varios operadores "<<". Te aconsejo que vigiles los corchetes, parece ser que te sobra uno. En el switch deberías meter un break en cada caso para que únicamente se ejecute ese Y el while del final no tiene mucho sentido (básicamente no hace nada).


En línea

Siempre ten tus cosas cuando las necesites con @Dropbox. ¡Una cuenta de 2 GB es gratis! http://db.tt/YxRhsCI
WiseHidden

Desconectado Desconectado

Mensajes: 225


La curiosidad es la semilla de la genialidad.


Ver Perfil WWW
Re: Alguien podria orientarme con mi Menu?
« Respuesta #2 en: 7 Diciembre 2010, 15:56 pm »

Diskontrol gracias por tu respuesta pero hay algunas cosas que no entiendo:

Citar
Deberías prestar atención a los errores del compilador. Por ejemplo el uso de variables no declaradas

Presto Atencion alos errores del compilador, Imposible no prestarle atencion pero no entiendo eso de variables no declaradas. Podrias especificar?

Citar
También te has comido varios operadores "<<". Te aconsejo que vigiles los corchetes, parece ser que te sobra uno.
Disculpa mi ignorancia, los "corchetes" como tu dices creo medio tenerlos controlado, Pero he mirado mi codigo y no consigo ver cual me sobra ninguno, en todo caso si he visto que los he dejado olvidado en el switch.
YA CORREJIDO.

Citar
En el switch deberías meter un break en cada caso para que únicamente se ejecute ese
Gracias ya lo he "correjido" aunque no se si se ha quedado bien.

Citar
Y el while del final no tiene mucho sentido (básicamente no hace nada)
Agradezco tu observacion, como he dicho en el comentario "ha sido" copiado de otro codigo con permiso de su autor, pero ya lo quito, si no tiene nignuna funcion.

Bueno segun tus arreglos, el codigo se queda asi (menos el corchete que me sobra que no lo encuentro)

Agradeceria si copiaras mi codigo y me pusieras "en un comentario" donde errato.
Mil gracias un saludo

Código
  1. #include <iostream.h>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6.  
  7. {
  8.  
  9. cout<<"******MENU PRINCIPAL********"<<endl;
  10. cout<<"* 1)Editor de Texto        *"<<endl;
  11. cout<<"* 2)Calculadora            *"<<endl;
  12. cout<<"* 3)Juegos                 *"<<endl;
  13. cout<<"*--------------------------*"<<endl;
  14. cout<<"* 4)Ayuda                  *"<<endl;
  15. cout<<"* 5)Salir                  *"<<endl;
  16. cout<<"****************************"<<endl;
  17. cout<<"Eliga una Opcion:"<<endl;
  18. cin>>(opcion);
  19.  
  20. switch (opc)
  21. {
  22.    case 1:
  23.    cout<<"EDITOR DE TEXTO"<<endl;
  24.    break;
  25.  
  26.    case 2:
  27.    cout<<"CALCULADORA "<<endl;
  28.    break;
  29.  
  30.    case 3:
  31.    cout<<"JUEGOS "<<endl;
  32.    break;
  33.  
  34.    case 4:
  35.    cout<<"AYUDA "<<endl;
  36.    break;
  37.  
  38.    case 5:
  39.    cout<<"-----SALIENDO----- "<<endl;
  40.    break;
  41. }
  42.  
  43. system ("pause");
  44. return 0;
  45.  
  46. }
« Última modificación: 8 Diciembre 2010, 17:42 pm por Novlucker » En línea

Si tu tienes una manzana y yo otra y decidimos intercambiarlas, seguiremos teniendo una manzana cada uno, pero si tu tienes una idea y yo otra y la intercambiamos, ambos tendremos dos ideas. (Origen Anónimo)
diskontrol

Desconectado Desconectado

Mensajes: 89


RAWR!


Ver Perfil
Re: Alguien podria orientarme con mi Menu?
« Respuesta #3 en: 7 Diciembre 2010, 16:17 pm »

Buenas WiseHidden,

perdona por haber sido tan escueto, pero tenía que ir comer :-). Te digo e indico en el código.

Lo de las variables no declaradas, tomando como ejemplo el último código que has puesto; opc y opción no han sido declaradas, pero tú haces uso de ellas, por eso el compilador te lanza un error en las lineas donde intentas usarlas. Siempre que uses una variable tienes que declararla previamente. Hablando de estas variables, usas opcion para almacenar la lectura, pero en el switch utilizas opc.

Sobre los corchetes ahora están bien, pero si te fijas en el primer código había uno de más antes del while.

Los break los has implementado de forma correcta .

Si me indicas cual era tu intención con el while y cual es el código del que lo has copiado intentaré ayudarte con esa parte.

Código:
#include <iostream>

using namespace std;

int main()
{
int opcion; //DECLARACIÓN DE LA VARIABLE OPCIÓN

cout<<"******MENU PRINCIPAL********"<<endl;
cout<<"* 1)Editor de Texto        *"<<endl;
cout<<"* 2)Calculadora            *"<<endl;
cout<<"* 3)Juegos                 *"<<endl;
cout<<"*--------------------------*"<<endl;
cout<<"* 4)Ayuda                  *"<<endl;
cout<<"* 5)Salir                  *"<<endl;
cout<<"****************************"<<endl;
cout<<"Eliga una Opcion:"<<endl;
cin>>(opcion);  //ESTA VARIABLE Y LA DEL SWITCH DEBEN SER LA MISMA

switch (opcion)
{
    case 1:
    cout<<"EDITOR DE TEXTO"<<endl;
    break;

    case 2:
    cout<<"CALCULADORA "<<endl;
    break;

    case 3:
    cout<<"JUEGOS "<<endl;
    break;

    case 4:
    cout<<"AYUDA "<<endl;
    break;

    case 5:
    cout<<"-----SALIENDO----- "<<endl;
    break;
}


return 0;

}
En línea

Siempre ten tus cosas cuando las necesites con @Dropbox. ¡Una cuenta de 2 GB es gratis! http://db.tt/YxRhsCI
WiseHidden

Desconectado Desconectado

Mensajes: 225


La curiosidad es la semilla de la genialidad.


Ver Perfil WWW
Re: Alguien podria orientarme con mi Menu?
« Respuesta #4 en: 7 Diciembre 2010, 16:29 pm »

Todo lo contrario, no debes disculparte (te estoy muy agradecido por toda tu ayuda y orientacion)

Ahora me sale el programa compilado ala perfeccion.

* No sabia que habia que declarar con el mismo nombre, me has hecho entenderlo perfectamente :D gracias.

Referente a lo de mi Intención, no pretendia nada solo que al mirar como se hacia el menu vi que venia eso, y la verdad no sabia ni para que servia.

Lo facil esta hecho, lo dificil viene ahora.

*Ala hora de por ejemplo crear la calculadora, los juegos o el editor de texto. como lo hago?
lo inserto dentro de los case???

o tengo que crear programas independientes y luego enlazarlos de algun modo?

disculpen mi gran ignorancia pero apenas estoy empezando a gatear con C++

Un saludo a todos.

Atentamente
WiseHidden
En línea

Si tu tienes una manzana y yo otra y decidimos intercambiarlas, seguiremos teniendo una manzana cada uno, pero si tu tienes una idea y yo otra y la intercambiamos, ambos tendremos dos ideas. (Origen Anónimo)
satu


Desconectado Desconectado

Mensajes: 301

Siempre aprendiendo


Ver Perfil WWW
Re: Alguien podria orientarme con mi Menu?
« Respuesta #5 en: 7 Diciembre 2010, 16:58 pm »

apenas estoy empezando a gatear con C++

y ya quieres programar juegos??? se ve que ganas de aprender no te faltan, enhorabuena por ello

Para lo que quieres, lo más sencillo es utilizar funciones, por ejemplo:

Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5.  
  6. //Funcion "calculadora"
  7. int calculadora()
  8. {
  9. //Aqui dentro va el codigo, por ejemplo
  10. int op1, op2, resultado;
  11. cout<<"Introduce el primer operando: ";
  12. cin>>op1;
  13. cout<<"Introduce el segundo operando: ";
  14. cin>>op2;
  15. resultado=op1+op2;
  16. return resultado;
  17.  
  18. //En tu programa deberias poner un switch con las operaciones que quieres que haga tu calculadora
  19. }
  20.  
  21. int main()
  22. {
  23. int opcion; //DECLARACIÓN DE LA VARIABLE OPCIÓN
  24. int resultado;  //DECLARACIÓN DE LA VARIABLE RESULTADO
  25.  
  26. cout<<"******MENU PRINCIPAL********"<<endl;
  27. cout<<"* 1)Editor de Texto        *"<<endl;
  28. cout<<"* 2)Calculadora            *"<<endl;
  29. cout<<"* 3)Juegos                 *"<<endl;
  30. cout<<"*--------------------------*"<<endl;
  31. cout<<"* 4)Ayuda                  *"<<endl;
  32. cout<<"* 5)Salir                  *"<<endl;
  33. cout<<"****************************"<<endl;
  34. cout<<"Eliga una Opcion:"<<endl;
  35. cin>>(opcion);  //ESTA VARIABLE Y LA DEL SWITCH DEBEN SER LA MISMA
  36.  
  37. switch (opcion)
  38. {
  39.    case 1:
  40.    cout<<"EDITOR DE TEXTO"<<endl;
  41.    break;
  42.  
  43.    case 2:
  44.    cout<<"CALCULADORA "<<endl;
  45.    resultado = calculadora();
  46.    //Aqui podrias mostrar el resultado o lo que quieras
  47.    break;
  48.  
  49.    case 3:
  50.    cout<<"JUEGOS "<<endl;
  51.    break;
  52.  
  53.    case 4:
  54.    cout<<"AYUDA "<<endl;
  55.    break;
  56.  
  57.    case 5:
  58.    cout<<"-----SALIENDO----- "<<endl;
  59.    break;
  60. }
  61.  
  62.  
  63. return 0;
  64.  
  65. }
  66.  

Saludos
En línea

Breakbeat como forma de vida
WiseHidden

Desconectado Desconectado

Mensajes: 225


La curiosidad es la semilla de la genialidad.


Ver Perfil WWW
Re: Alguien podria orientarme con mi Menu?
« Respuesta #6 en: 7 Diciembre 2010, 17:26 pm »

Satu, como bien has dicho no me faltan ganas de aprender.
Si bien si se que este lenguaje es muy completo, por lo tanto muy complejo, y me queda una largo,largisimo camino por andar.
Se que ahora mismo me seria imposible crear un juego, por simple que fuera, por lo que este "menu" se hara con tiempo, y añadiendo todo lo que voy aprendiendo.
es decir.

He creado este menu y dia a dia, o semana a semana, intentare ir añadiendo "nuevas opciones" Y exponerlo para todos aquellos que quieran aprender,participar u orientar en todo lo que se pueda.
:D

Me ha venido muy bien tu calculadora, es semejante alas operaciones que habia aprendido aunque menos "complejo" y sin tantos fallos como la mia. jajaja

por lo tanto si no te importa (la pondre en mi codigo) siempre y cuando no te importe.
Lo mismo que digo que todo aquel que quiera copiar mi codigo,tiene mi permiso previo. (Aunque por el momento no creo que a nadie le interese, pues no tiene gran cosa por el momento, pero intentare terminarlo.

Tengo tres pregunta para ti satu, o para todo aquel que pueda ayudarme como ha sido diskontrol.

1)He insertado "la calculadora" pero como puedo hacer para tener la opcion de elegir si quiero sumar,restar,multiplicar o dividir??
he de crear otro switch??

2)Cuando eliga una opcion como puedo volver al menu sin que se salga del programa en si

3)Y por ultimo si quiero salir del programa seleccionando el 5) como hacerlo para que se salga.

Gracias me veo muy apoyado en este foro, y la verdad que asi uno no se viene abajo y le da ganas de seguir con fuerza

un saludo a todos

expongo el ultimo añadido :

Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6.  
  7. {
  8.  
  9. int opcion; //DECLARACIÓN DE LA VARIABLE OPCIÓN
  10.  
  11. cout<<"******MENU PRINCIPAL********"<<endl;
  12. cout<<"* 1)Editor de Texto        *"<<endl;
  13. cout<<"* 2)Calculadora            *"<<endl;
  14. cout<<"* 3)Juegos                 *"<<endl;
  15. cout<<"*--------------------------*"<<endl;
  16. cout<<"* 4)Ayuda                  *"<<endl;
  17. cout<<"* 5)Salir                  *"<<endl;
  18. cout<<"****************************"<<endl;
  19. cout<<"Eliga una Opcion:";
  20. cin>>(opcion);  //ESTA VARIABLE Y LA DEL SWITCH DEBEN SER LA MISMA
  21.  
  22. switch (opcion)
  23. {
  24.    case 1:
  25.    cout<<"EDITOR DE TEXTO"<<endl;
  26.    break;
  27.  
  28.    case 2:
  29.    cout<<"CALCULADORA "<<endl;
  30.    cout<<"------------------------------"<<endl;
  31.    cout<<"SUMAR:                        "<<endl;
  32.    int op1, op2, resultado;
  33.    cout<<"Introduce el primer operando: ";
  34.    cin>>op1;
  35.    cout<<"Introduce el segundo operando: ";
  36.    cin>>op2;
  37.    resultado=op1+op2;
  38.    return resultado;
  39.  
  40.    cout<<"RESTAR:                        "<<endl;
  41.    int op1, op2, resultado;
  42.    cout<<"Introduce el primer operando: ";
  43.    cin>>op1;
  44.    cout<<"Introduce el segundo operando: ";
  45.    cin>>op2;
  46.    resultado=op1-op2;
  47.    return resultado;
  48.  
  49.    cout<<"MULTIPLICAR:                        "<<endl;
  50.    int op1, op2, resultado;
  51.    cout<<"Introduce el primer operando: ";
  52.    cin>>op1;
  53.    cout<<"Introduce el segundo operando: ";
  54.    cin>>op2;
  55.    resultado=op1*op2;
  56.    return resultado;
  57.  
  58.    cout<<"DIVIDIR:                        "<<endl;
  59.    int op1, op2, resultado;
  60.    cout<<"Introduce el primer operando: ";
  61.    cin>>op1;
  62.    cout<<"Introduce el segundo operando: ";
  63.    cin>>op2;
  64.    resultado=op1/op2;
  65.    return resultado;
  66.    break;
  67.  
  68.    case 3:
  69.    cout<<"JUEGOS "<<endl;
  70.    break;
  71.  
  72.    case 4:
  73.    cout<<"____________________________________________________________________________________"<<endl;
  74.    cout<<"|_____________________________________________|"<<endl;
  75.    cout<<"|            HA SELECCIONADO AYUDA            |"<<endl;
  76.    cout<<"|                                             |"<<endl;
  77.    cout<<"|----------------Indice General---------------|"<<endl;
  78.    cout<<"|                                             |"<<endl;
  79.    cout<<"|* 1)Editor de Texto                          |"<<endl;
  80.    cout<<"|* 2)Calculadora                              |"<<endl;
  81.    cout<<"|* 3)Juegos                                   |"<<endl;
  82.    cout<<"|* 4)Ayuda                                    |"<<endl;
  83.    cout<<"|* 5)Salir                                    |"<<endl;
  84.    cout<<"|____________________________________________ |"<<endl;
  85.  
  86.    cout<<" "<<endl;
  87.  
  88.    cout<<"_________________________________________________________________________"<<endl;
  89.    cout<<"1)Editor de texto:"<<endl;
  90.    cout<<"Este Programa permite al usuario escribir,editar,cambiar,guardar y borrar"<<endl;
  91.    cout<<"Al antojo del susodicho de manera facil y amena"<<endl;
  92.    cout<<"_________________________________________________________________________"<<endl;
  93.    cout<<"2)Calculadora"<<endl;
  94.    cout<<"Una calculadora basica donde se pueden resolver problemas basicos:"<<endl;
  95.    cout<<"Donde se puede sumar"<<endl;
  96.    cout<<"(a+b=c)"<<endl;
  97.    cout<<"Restar"<<endl;
  98.    cout<<"(a-b=c) "<<endl;
  99.    cout<<"Multiplicar"<<endl;
  100.    cout<<"(a*b=c)"<<endl;
  101.    cout<<"Dividir"<<endl;
  102.    cout<<"(a/b=c)"<<endl;
  103.    cout<<"_________________________________________________________________________"<<endl;
  104.    cout<<"3)Juegos"<<endl;
  105.    cout<<"En nuestro Sistema hemos introducido un par de juegos: "<<endl;
  106.    cout<<"Ahorcado: Juego en donde debes acertar la palabra secreta"<<endl;
  107.    cout<<"y cada error te dara una pieza de un ahorcado, si este se completa "<<endl;
  108.    cout<<"habras perdido."<<endl;
  109.    cout<<"Serpiente: "<<endl;
  110.    cout<<"Clásico donde una pequeña serpiente debe ir comiendo y haciendose mas grande"<<endl;
  111.    cout<<"sin dar con ningun obstaculo "<<endl;
  112.    cout<<"_________________________________________________________________________"<<endl;
  113.    cout<<"4)Ayuda"<<endl;
  114.    cout<<"En una ayuda para los usuarios nuevos en este sistema "<<endl;
  115.    cout<<"_________________________________________________________________________"<<endl;
  116.    cout<<"5)Salir"<<endl;
  117.    cout<<"Con esta opcion saldremos directamente de nuestro sistemab "<<endl;
  118.    break;
  119.  
  120.    case 5:
  121.    cout<<"-----SALIENDO----- "<<endl;
  122.    break;
  123. }
  124.  
  125.  
  126. return 0;
  127.  
  128. }
« Última modificación: 8 Diciembre 2010, 17:41 pm por Novlucker » En línea

Si tu tienes una manzana y yo otra y decidimos intercambiarlas, seguiremos teniendo una manzana cada uno, pero si tu tienes una idea y yo otra y la intercambiamos, ambos tendremos dos ideas. (Origen Anónimo)
winroot


Desconectado Desconectado

Mensajes: 589

#include<winroot.h>


Ver Perfil WWW
Re: Alguien podria orientarme con mi Menu?
« Respuesta #7 en: 7 Diciembre 2010, 19:56 pm »

Buenas!
Bien, perdona que te lo diga, y capas que yo soy el equivocado, pero...
Estás leyendo algún libro ?
Sobre la pregunta, en la función calculadora podrías pasarle un parámetro entero que indique que tipo de operación hacer...
Código
  1. enum calc{sumar=1,restar,div,mul};
  2. int calcular(const int mode=0)
  3. {
  4. switch(mode)
  5. {
  6. case sumar:
  7. //sumas
  8. break;
  9. case resta:
  10. //resta
  11. break;
  12. case div:
  13. //divides
  14. break;
  15. case mul:
  16. //multiplicas
  17. break;
  18. default:
  19. // ninguna de las otras operaciones
  20. break;
  21. }
  22. }
  23.  
  24.  
Aunque esto no es muy c++, en c++ tendríamos una clase calculadora, con sus otras clases de parseo...
Agregar también que el switch no es aconsejado en c++, justamente el tema del break es una de las cosas que se le cuestiona a c++.
Por último, fijate que pasa si  en la entrada el usuario escribe ffff.
Código
  1. int option=0;
  2. cin >>option;
  3. if(false ==cin)
  4. {
  5. cout <<" error en la entrada " <<endl;
  6. exit(1);
  7. }
  8. else cout <<option <<endl;
  9.  
Además, lo que se hace generalmente, es usar una variable de tipo string, y luego usar un objeto istringstream definido en sstream.
Saludos!
En línea

Mi blog sobre programación y seguridad informática:
http://win-root.blogspot.com
satu


Desconectado Desconectado

Mensajes: 301

Siempre aprendiendo


Ver Perfil WWW
Re: Alguien podria orientarme con mi Menu?
« Respuesta #8 en: 7 Diciembre 2010, 23:05 pm »

Hola

Winroot tiene razón, algunos de tus fallos y preguntas indican que no estás leyendo ningún libro, aquí dentro del subforo de C/C++ hay un post en las chinchetas con muchos muy buenos, si estoy equivocado lo siento pero es lo que parece.

En cuanto a tus preguntas
1)Sí, debes crear otro switch dentro de la función como ya te dije en mi anterior post, pero copiar lo de la funcion al switch del main no está bien como tú lo has hecho, si lo quieres meter ahí tienes que poner otro switch dentro
2)Cuando elijas la opción puedes volver al menú metiendo el menú en un bucle
3)Para salir compruebas la condición en el bucle

Te lo muestro para que lo comprendas

Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. void calculadora()
  6. {
  7. char operacion;
  8. float op1, op2, resultado=0;
  9. cout<<"Introduce el primer operando: ";
  10. cin>>op1;
  11. cout<<"Introduce el segundo operando: ";
  12. cin>>op2;
  13. cout<<"Introduce la operacion (+,-,*,/): ";
  14. cin>>operacion;
  15. switch(operacion)
  16.    {
  17.    case '+': resultado=op1+op2;
  18.                 break;
  19.    case '-': resultado=op1-op2;
  20.                 break;
  21.    case '*': resultado=op1*op2;
  22.                 break;
  23.    case '/': resultado=op1/op2;
  24.                 break;
  25.    }
  26. cout<<op1<<operacion<<op2<<"="<<resultado<<endl;
  27. }
  28.  
  29.  
  30. int main()
  31. {
  32. int opcion; //DECLARACIÓN DE LA VARIABLE OPCIÓN
  33.  
  34. do{
  35.  cout<<"******MENU PRINCIPAL********"<<endl;
  36.  cout<<"* 1)Editor de Texto        *"<<endl;
  37.  cout<<"* 2)Calculadora            *"<<endl;
  38.  cout<<"* 3)Juegos                 *"<<endl;
  39.  cout<<"*--------------------------*"<<endl;
  40.  cout<<"* 4)Ayuda                  *"<<endl;
  41.  cout<<"* 5)Salir                  *"<<endl;
  42.  cout<<"****************************"<<endl;
  43.  cout<<"Eliga una Opcion:";
  44.  cin>>(opcion);  //ESTA VARIABLE Y LA DEL SWITCH DEBEN SER LA MISMA
  45.  
  46.  switch (opcion)
  47.  {
  48.      case 1:
  49.      cout<<endl<<"EDITOR DE TEXTO"<<endl;
  50.      break;
  51.  
  52.      case 2:
  53.      cout<<endl<<"CALCULADORA "<<endl;
  54.      calculadora();
  55.      break;
  56.  
  57.      case 3:
  58.      cout<<endl<<"JUEGOS "<<endl;
  59.      break;
  60.  
  61.      case 4:
  62.      cout<<"____________________________________________________________________________________"<<endl;
  63.      cout<<"|_____________________________________________|"<<endl;
  64.      cout<<"|            HA SELECCIONADO AYUDA            |"<<endl;
  65.      cout<<"|                                             |"<<endl;
  66.      cout<<"|----------------Indice General---------------|"<<endl;
  67.      cout<<"|                                             |"<<endl;
  68.      cout<<"|* 1)Editor de Texto                          |"<<endl;
  69.      cout<<"|* 2)Calculadora                              |"<<endl;
  70.      cout<<"|* 3)Juegos                                   |"<<endl;
  71.      cout<<"|* 4)Ayuda                                    |"<<endl;
  72.      cout<<"|* 5)Salir                                    |"<<endl;
  73.      cout<<"|____________________________________________ |"<<endl;
  74.  
  75.      cout<<" "<<endl;
  76.  
  77.      cout<<"_________________________________________________________________________"<<endl;
  78.      cout<<"1)Editor de texto:"<<endl;
  79.      cout<<"Este Programa permite al usuario escribir,editar,cambiar,guardar y borrar"<<endl;
  80.      cout<<"Al antojo del susodicho de manera facil y amena"<<endl;
  81.      cout<<"_________________________________________________________________________"<<endl;
  82.      cout<<"2)Calculadora"<<endl;
  83.      cout<<"Una calculadora basica donde se pueden resolver problemas basicos:"<<endl;
  84.      cout<<"Donde se puede sumar"<<endl;
  85.      cout<<"(a+b=c)"<<endl;
  86.      cout<<"Restar"<<endl;
  87.      cout<<"(a-b=c) "<<endl;
  88.      cout<<"Multiplicar"<<endl;
  89.      cout<<"(a*b=c)"<<endl;
  90.      cout<<"Dividir"<<endl;
  91.      cout<<"(a/b=c)"<<endl;
  92.      cout<<"_________________________________________________________________________"<<endl;
  93.      cout<<"3)Juegos"<<endl;
  94.      cout<<"En nuestro Sistema hemos introducido un par de juegos: "<<endl;
  95.      cout<<"Ahorcado: Juego en donde debes acertar la palabra secreta"<<endl;
  96.      cout<<"y cada error te dara una pieza de un ahorcado, si este se completa "<<endl;
  97.      cout<<"habras perdido."<<endl;
  98.      cout<<"Serpiente: "<<endl;
  99.      cout<<"Clásico donde una pequeña serpiente debe ir comiendo y haciendose mas grande"<<endl;
  100.      cout<<"sin dar con ningun obstaculo "<<endl;
  101.      cout<<"_________________________________________________________________________"<<endl;
  102.      cout<<"4)Ayuda"<<endl;
  103.      cout<<"En una ayuda para los usuarios nuevos en este sistema "<<endl;
  104.      cout<<"_________________________________________________________________________"<<endl;
  105.      cout<<"5)Salir"<<endl;
  106.      cout<<"Con esta opcion saldremos directamente de nuestro sistema "<<endl<<endl;
  107.      break;
  108.  
  109.      case 5:
  110.      cout<<endl<<"-----SALIENDO----- "<<endl;
  111.      break;
  112.  }
  113. }while(opcion!=5);
  114.  
  115. return 0;
  116. }
  117.  

Todo el código que tienes en el case 4 yo lo metería en otra función para aligerar el main

No sé si me habré dejado algo, pero te animo a que sigas posteando lo que vayas haciendo para que los demás aprendamos de ti y también te podamos ayudar en tus programas.

Saludos
En línea

Breakbeat como forma de vida
WiseHidden

Desconectado Desconectado

Mensajes: 225


La curiosidad es la semilla de la genialidad.


Ver Perfil WWW
Re: Alguien podria orientarme con mi Menu?
« Respuesta #9 en: 8 Diciembre 2010, 14:10 pm »

 La verdad que he de reconocer que no estoy leyendo libro alguno.

Pero si me he molestado mi tiempo y mi esfuerzo en buscar todo lo que he ido aprendiendo, y la verdad que aunque me queda mucho,muchisimo que aprender he ido y voy comprendiendo este magnifico lenguaje.

He ojeado ademas los "libros que vienen en el foro" y alguno que otro en el tito google
- Como programar C++ de harley o algo asi no recuerdo.
- Aprende C++ orientada a objetos.
- C++ desde 0
-ect..................

Pero al menos ami entender veo mas eficaz "conocer" un poco como funcionan las cosas atraves de ejemplo y de intencion y logica. como estoy haciendo, y la verdad que solo en este post de "Alguien podria orientarme con mi Menu? " he aprendido muchisimas cosas, que creo que un libro me costaria mas entender no es cierto???

y agradezco a todos vosotros vuestro interes por enseñar cuanto sabeis, y prometo que iré añadiendo todos mis avances en este menu.

Y exponerlo en el foro para todo aquel que le sirviera para aprender o simplemente pa estudiarlo, modificarlo o tenerlo.



PD: Cuando valla entendiendo mejor este maravilloso lenguaje, me centrare en leerme un buen libro, y seguro que entonces me enterare mejor de todo.

Un saludo a todos
Atentamente
WiseHidden


Lh: No hagas doble post. Utiliza el botón modificar.


Acabo de hacerle unos pequeños cambios que ami parecer le dan mas tiron y atractivo ala pantalla.

He tenido varios problemas ala hora de "poder poner el color tanto al fondo como al texto"

En muchos sitios (y al decir muchos digo en la mayoria) te dicen que para introducir texto debes poner la libreria:
<conio.h>
y luego seleccionar el color de la siguiente manera.

usando textbackground("color") ...............PARA EL FONDO
textcolor("color")....................................... PARA EL TEXTO

Lo que en muchos sitios no dicen, es que estas "sentencias" son para ciertos IDE o compiladores como es el Borland.

Nota: Si cometo algun error, diganmelo, de hecho no se apenas un carajo, como se dice aqui en mi tierra, pero pongo esto aqui porque ami me ha llevado mucho tiempo dar con el fallo, y me gustaria que todo aquel que por h o por b no haya dado aun con la solucion,pueda guiarse aqui. :D


Cuestion que ciertos compiladores aceptan algunas librerias y comandos que otras no "reconocen" (segun tengo entendido)
y en mi caso tengo el Code::Blocks y para poder poner tanto al fondo como ala letra un color deseado solo debemos poner:

system("color 0a");

Leyenda:

el (primero) en este caso 0 corresponde al fondo.
el (segundo)en este caso a corresponde ala letra.

Me molesto en añadiros una pequeña tabla con los correspondientes numeros/colores:

Citar

0= Negro 8= Gris
1= Azul 9= Azul Claro
2= Verde A= Verde Claro
3= Aguamarina B= Aguamarina Claro
4= Rojo C= Rojo Claro
5= Purpura D= Purpura Claro
6= Amarillo E= Amarillo Claro
7= Blanco F= Blanco Brillante


Tambien he añadido un "Juego" que consiste en descifrar un codigo.
con un numero determinado de vidas e intentos.

PD: Este "programa" lo ha creado Grib Jr. Aunque no tengo el honor de conocerlo, he de dejar constancia de su trabajo.
Yo simplemente me he limitado a hacer copy&paste y hacerle unas pequeñesimas modificaciones como por ejemplo cambiarle el color para que no distorsionara mucho con mi menu.

El programa en si no me ha dado ningun Fallo al compilarlo, pero al introducirlo en mi case no me da error en ese codigo pero si en el case 4 podrian decirme por que??
bueno aqui os dejo el codigo:

Un saludo a todos.

Atentamente

WH

Código
  1. #include<iostream.h>
  2. #include<stdio.h>
  3. #include<stdlib.h>
  4. #include<conio.h>
  5. #include<time.h>
  6.  
  7.  
  8. using namespace std;
  9.  
  10. void calculadora()
  11. {
  12.  
  13. char operacion;
  14. float op1, op2, resultado=0;
  15. cout<<"Introduce x: ";
  16. cin>>op1;
  17. cout<<"Introduce y: ";
  18. cin>>op2;
  19. cout<<"Introduce la operacion (+,-,*,/): ";
  20. cin>>operacion;
  21. switch(operacion)
  22. {
  23. case '+': resultado=op1+op2;
  24. break;
  25. case '-': resultado=op1-op2;
  26. break;
  27. case '*': resultado=op1*op2;
  28. break;
  29. case '/': resultado=op1/op2;
  30.  
  31. break;
  32. }
  33. cout<<op1<<operacion<<op2<<"="<<resultado<<endl;
  34. }
  35.  
  36.  
  37. int main()
  38. {
  39.  
  40. system("color 2f");
  41.  
  42. int opcion; //DECLARACIÓN DE LA VARIABLE OPCIÓN
  43.  
  44. do{
  45.  
  46.  
  47. cout<<"****************************MENU PRINCIPAL******************************"<<endl;
  48. cout<<"* 1)Editor de Texto *"<<endl;
  49. cout<<"* 2)Calculadora *"<<endl;
  50. cout<<"* 3)Juegos *"<<endl;
  51. cout<<"*----------------------------------------------------------------------*"<<endl;
  52. cout<<"* 4)Ayuda *"<<endl;
  53. cout<<"* 5)Salir *"<<endl;
  54. cout<<"************************************************************************"<<endl;
  55. cout<<" Eliga una Opcion:";
  56. cin>>(opcion);
  57.  
  58. switch (opcion)
  59. {
  60. case 1:
  61. cout<<endl<<"EDITOR DE TEXTO"<<endl;
  62. break;
  63.  
  64. case 2:
  65. cout<<endl<<"CALCULADORA "<<endl;
  66. calculadora();
  67. break;
  68.  
  69. case 3:
  70. cout<<endl<<"JUEGOS "<<endl;
  71. RETRY:
  72. system("color 2f");
  73. int vida=3, hp=3;
  74. int win=1;
  75. int PDC; // Aqui declaro el "posible digito del codigo" que es el valor que ingresara
  76. // el usuario para tratar de asertar a algun digito del codigo
  77.  
  78. int c1,c2,c3,c4,c5,c6,i; // Aqui declaro las variables que equivalen a cada digito en
  79. // el codigo oculto
  80. int a1='*',a2='*',a3='*',a4='*',a5='*',a6='*'; // Aqui los asteriscos (digito a digito)
  81.  
  82. srand(time(NULL)); // Aqui declaro que la semilla de la funcion rand varie por tiempo
  83.  
  84. c1=(rand()%10)+48;
  85. c2=(rand()%10)+48; // Luego aqui las variables anteriormente declaradas toman un valor al
  86. c3=(rand()%10)+48; // azar del 0 al 9 (se preguntaran ¿Por que 48 a 58?, bueno, prueba
  87. c4=(rand()%10)+48; // hacerlo de otro modo, haber si descubres el por que lo ise asi)
  88. c5=(rand()%10)+48;
  89. c6=(rand()%10)+48;
  90.  
  91. INICIO: // Punto de referencia para el "goto" que pondre despues
  92.  
  93. system("cls"); // Limpio la pantalla
  94.  
  95. printf(" DESCIFRA EL CODIGO OCULTO DE 6 DIGITOS, INGRESANDO 1 DIGITO ALA VEZ");
  96. printf(" VIDAS: ");
  97. for(i=1;i<=hp;i++) printf("%c", vida );
  98. printf("xxxx--> %c%c%c%c%c%c <--xxxx--> ", a1,a2,a3,a4,a5,a6); // Los Asteriscos
  99. if (win==1) scanf ("%i", &PDC); // Aqui se escanea el "posible digito del codigo"
  100.  
  101. if (PDC==0)PDC=48;
  102. if (PDC==1)PDC=49;
  103. if (PDC==2)PDC=50;
  104. if (PDC==3)PDC=51;
  105. if (PDC==4)PDC=52; // Una traduccion
  106. if (PDC==5)PDC=53;
  107. if (PDC==6)PDC=54;
  108. if (PDC==7)PDC=55;
  109. if (PDC==8)PDC=56;
  110. if (PDC==9)PDC=57;
  111.  
  112. // Aqui va la sentencia que hara que los asteriscos sean remplazados al ser
  113. // revelada una parte del codigo
  114. if (PDC==c1) a1=c1;
  115. if (PDC==c2) a2=c2;
  116. if (PDC==c3) a3=c3;
  117. if (PDC==c4) a4=c4;
  118. if (PDC==c5) a5=c5;
  119. if (PDC==c6) a6=c6;
  120. if (PDC!=c1&&PDC!=c2&&PDC!=c3&&PDC!=c4&&PDC!=c5&&PDC!=c6)hp--;
  121. if (hp==-1)
  122. {
  123. printf("No te quedan vidas...nn");
  124. system("pause");
  125. goto RETRY;
  126. }
  127.  
  128. if (a1==c1&&a2==c2&&a3==c3&&a4==c4&&a5==c5&&a6==c6) win++;
  129. if (win==3) printf("WINNER <--nn");
  130. else goto INICIO;
  131. system("pause");
  132. system("cls");
  133. printf("Por WisseHidden.");
  134. system("pause");
  135. break;
  136.  
  137. case 4:
  138.  
  139. cout<<" HA SELECCIONADO AYUDA "<<endl;
  140. cout<<" "<<endl;
  141. cout<<"|---------------------------Indice General-------------------------|"<<endl;
  142. cout<<"| |"<<endl;
  143. cout<<"| 1)Editor de Texto |"<<endl;
  144. cout<<"| 2)Calculadora |"<<endl;
  145. cout<<"| 3)Juegos |"<<endl;
  146. cout<<"| 4)Ayuda |"<<endl;
  147. cout<<"| 5)Salir |"<<endl;
  148. cout<<"|_________________________________________________________________ |"<<endl;
  149.  
  150. cout<<"LEYENDA: "<<endl;
  151. cout<<"_________________________________________________________________________"<<endl;
  152. cout<<"1)Editor de texto:"<<endl;
  153. cout<<"Este Programa permite al usuario escribir,editar,cambiar,guardar y borrar"<<endl;
  154. cout<<"Al antojo del susodicho de manera facil y amena"<<endl;
  155. cout<<"_________________________________________________________________________"<<endl;
  156. cout<<"2)Calculadora"<<endl;
  157. cout<<"Una calculadora basica donde se pueden resolver problemas basicos:"<<endl;
  158. cout<<"Donde se puede sumar"<<endl;
  159. cout<<"(a+b=c)"<<endl;
  160. cout<<"Restar"<<endl;
  161. cout<<"(a-b=c) "<<endl;
  162. cout<<"Multiplicar"<<endl;
  163. cout<<"(a*b=c)"<<endl;
  164. cout<<"Dividir"<<endl;
  165. cout<<"(a/b=c)"<<endl;
  166. cout<<"_________________________________________________________________________"<<endl;
  167. cout<<"3)Juegos"<<endl;
  168. cout<<"En nuestro Sistema hemos introducido un par de juegos: "<<endl;
  169. cout<<"_________________________________________________________________________"<<endl;
  170. cout<<"4)Ayuda"<<endl;
  171. cout<<"Esta opcion permite tener una ayuda para los usuarios nuevos en este sistema "<<endl;
  172. cout<<"_________________________________________________________________________"<<endl;
  173. cout<<"5)Salir"<<endl;
  174. cout<<"Con esta opcion saldremos directamente de nuestro sistema "<<endl<<endl;
  175. break;
  176.  
  177. case 5:
  178. cout<<endl<<"Desea salir del sistema [S/N]"<<endl;
  179. break;
  180. }
  181. }while(opcion!=5);
  182.  
  183. return 0;
  184. }
« Última modificación: 8 Diciembre 2010, 17:48 pm por Littlehorse » En línea

Si tu tienes una manzana y yo otra y decidimos intercambiarlas, seguiremos teniendo una manzana cada uno, pero si tu tienes una idea y yo otra y la intercambiamos, ambos tendremos dos ideas. (Origen Anónimo)
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Read21, alguien puede orientarme?
Ingeniería Inversa
zayko 1 2,991 Último mensaje 4 Octubre 2004, 17:37 pm
por surgat
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines