Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: prometheus48 en 9 Octubre 2011, 11:51 am



Título: Problema con calculadora basica!!!!!!!!!!
Publicado por: prometheus48 en 9 Octubre 2011, 11:51 am
Hola,
Estoy aprendiendo a programar desde hace tres semanas,
He hecho unas cuantas calculadoras, pero esta la decidi hacer con un menu,
Empeze a hacer el codigo, lo termine,
pero cuando lo compilo y ejecuto,
te sale el menu, pulso un numero pulso intro y salta de linea,
no entiendo donde esta el error,
Estoy haciendo esto por mi cuenta,
y clro no tengo a nadie a quien preguntar,
Epero que me respondan,
Copien el codigo y ejecutenlo,
y digan que corcho pasa con el menu,
o como podria mejorarlo,
Código
  1. //////////////////////////////////////////////////////
  2. //Programa de calculadora (prometheus48@hotmail.com)//
  3. /////////////////////////////////////////////////////
  4.  
  5. #include <cstdlib>
  6. #include <iostream>
  7.  
  8. using namespace std;
  9.  
  10. int main(int argc, char *argv[])
  11. {
  12.     //Variables declaradas
  13.    double a,b,c,d,e,f,g,h;
  14.    float i,j,k,l,m,n;
  15.    int o=0;
  16.  
  17.     //Peque&#241;a informacion
  18.    cout<<"Pandora Software ;)"<<endl;
  19.    cout<<"Programa realizado por Samuel Dominguez Lorenzo"<<endl;
  20.    cout<<"Cualquier error o sugerencia enviar correo a prometheus48@hotmail.com"<<endl;
  21.    system("pause");
  22.  
  23.    //Punto de regreso para el goto(re-ejecutar)
  24.    RETRY:
  25.    system("cls");
  26.  
  27.    //Informacion acerca del orden de las operaciones
  28.    cout<<"Menu"<<endl
  29.        << "1.-Sumar" << endl
  30.        << "2.- Multiplicar" << endl
  31.        << "3.- Restar " << endl
  32.        << "4.- Dividir" << endl
  33.        << "5.- Al cuadrado" << endl
  34.        << "6.- Al cubo" << endl
  35.        << "7.- A la cuadra" << endl
  36.        << "8.- A la quinta" << endl
  37.        << "9.- A la sexta" << endl
  38.        << "10.- A la septima" << endl;
  39.    cin>>o;
  40.  
  41.    if(o==1)
  42.  
  43.    //Sumar
  44.    cout<<"Introduzca numero sumar: ";
  45.    cin>>a;
  46.    cout<<"Introduzca segundo numero: ";
  47.    cin>>b;
  48.    cout<<"Resultado de la suma: "<<a+b<<endl;
  49.     system("pause");
  50.     goto RETRY;
  51.  
  52.     if(o==2)
  53.  
  54.    //Multiplicar
  55.    cout<<"Introduzca numero multiplicar: ";
  56.    cin>>c;
  57.    cout<<"Introduzca segundo numero: ";
  58.    cin>>d;
  59.    cout<<"Resultado de la multiplicacion: "<<c*d<<endl;
  60.     system("pause");
  61.     goto RETRY;
  62.     if(o==3)
  63.  
  64.    //Restar
  65.    cout<<"Introduzca numero a restar: ";
  66.    cin>>e;
  67.    cout<<"Introduzca segundo numero: ";
  68.    cin>>f;
  69.    cout<<"Resultado de la resta: "<<e-f<<endl;
  70.     system("pause");
  71.     goto RETRY;
  72.      if(o==4)
  73.  
  74.    //Dividir
  75.    cout<<"Introduzca numero a dividir: ";
  76.    cin>>g;
  77.    cout<<"Introduzca segundo numero: ";
  78.    cin>>h;
  79.    cout<<"Resultado de la division: "<<g/h<<endl;
  80.     system("pause");
  81.     goto RETRY;
  82.      if(o==5)
  83.  
  84.    //Al cuadrado
  85.    cout<<"Introduzca el numero al cuadrado: ";
  86.    cin>>i;
  87.    cout<<"Resultado: "<<i*i<<endl;
  88.     system("pause");
  89.     goto RETRY;
  90.      if(o==6)
  91.  
  92.    //Al cubo
  93.    cout<<"Introduzca numero al cubo: ";
  94.    cin>>j;
  95.    cout<<"Resultado: "<<j*j*j<<endl;
  96.     system("pause");
  97.     goto RETRY;
  98.      if(o==7)
  99.  
  100.    //A la cuadra
  101.    cout<<"Introduzca numero a la cuadra: ";
  102.    cin>>k;
  103.    cout<<"Resultado: "<<k*k*k*k<<endl;
  104.     system("pause");
  105.     goto RETRY;
  106.      if(o==8)
  107.  
  108.    //A la quinta
  109.    cout<<"Introduzca un numero al la quinta: ";
  110.    cin>>l;
  111.    cout<<"Resultado: "<<l*l*l*l*l<<endl;
  112.     system("pause");
  113.     goto RETRY;
  114.      if(o==9)
  115.  
  116.    //A la sexta
  117.    cout<<"Introduzca numero a la sexta: ";
  118.    cin>>m;
  119.    cout<<"Resultado: "<<m*m*m*m*m*m<<endl;
  120.     system("pause");
  121.     goto RETRY;
  122.      if(o==10)
  123.  
  124.    //A la s&#233;pima
  125.    cout<<"Introduzca numero al la septima: ";
  126.    cin>>n;
  127.    cout<<"Resultado: "<<n*n*n*n*n*n*n<<endl;
  128.     system("pause");
  129.     goto RETRY;
  130.  
  131.  
  132.    //Peque&#241;a informacion
  133.    cout<<"Pandora Software ;)"<<endl;
  134.    cout<<"Programa realizado por Samuel Dominguez Lorenzo"<<endl;
  135.    system("pause");
  136.    goto RETRY;
  137.  
  138.    system("PAUSE");
  139.    return EXIT_SUCCESS;
  140. }
  141.  
  142.  
  143.  
  144.  





Respondan!


Título: Re: Problema con calculadora basica!!!!!!!!!!
Publicado por: madpitbull_99 en 9 Octubre 2011, 13:01 pm
Algunas sugerencias:

- Utiliza las etiquetas [ code] (https://foro.elhacker.net/Themes/newgeneration/images/bbc/code.gif)cuando insertes código.
- Intenta sustituir los goto por funciones, en este programa, al ser corto es fácil de leer, pero imagínate que
tiene más de 1000 lineas.




Título: Re: Problema con calculadora basica!!!!!!!!!!
Publicado por: prometheus48 en 9 Octubre 2011, 13:14 pm
¿Y el error del menu?


Título: Re: Problema con calculadora basica!!!!!!!!!!
Publicado por: madpitbull_99 en 9 Octubre 2011, 13:28 pm
Acabo de probar una suma y funciona:

Código:
madpitbull@desktop:~/Escritorio$ g++ x.cpp 
madpitbull@desktop:~/Escritorio$ ./a.out
Pandora Software ;)
Programa realizado por Samuel Dominguez Lorenzo
Cualquier error o sugerencia enviar correo a prometheus48@hotmail.com
sh: pause: not found
sh: cls: not found
Menu
1.-Sumar
2.- Multiplicar
3.- Restar
4.- Dividir
5.- Al cuadrado
6.- Al cubo
7.- A la cuadra
8.- A la quinta
9.- A la sexta
10.- A la septima
1
Introduzca numero sumar: 10
Introduzca segundo numero: 5
Resultado de la suma: 15
sh: pause: not found
sh: cls: not found
Menu
1.-Sumar
2.- Multiplicar
3.- Restar
4.- Dividir
5.- Al cuadrado
6.- Al cubo
7.- A la cuadra
8.- A la quinta
9.- A la sexta
10.- A la septima

Trata de agregar llaves a las condiciones if, como en este ejemplo:

Código
  1. if(o==1) {
  2. //Sumar
  3. cout<<"Introduzca numero sumar: ";
  4. cin>>a;
  5. cout<<"Introduzca segundo numero: ";
  6. cin>>b;
  7. cout<<"Resultado de la suma: "<<a+b<<endl;
  8. system("pause");
  9. goto RETRY;
  10.  
  11.  
  12.  
  13. }
  14.  
  15.  
  16.  
  17. if(o==2) {
  18. //Multiplicar
  19. cout<<"Introduzca numero multiplicar: ";
  20. cin>>c;
  21. cout<<"Introduzca segundo numero: ";
  22. cin>>d;
  23. cout<<"Resultado de la multiplicacion: "<<c*d<<endl;
  24. system("pause");
  25. goto RETRY;
  26.  
  27. }
  28.  
  29.  
  30. if(o==3) {
  31. //Restar
  32. cout<<"Introduzca numero a restar: ";
  33. cin>>e;
  34. cout<<"Introduzca segundo numero: ";
  35. cin>>f;
  36. cout<<"Resultado de la resta: "<<e-f<<endl;
  37. system("pause");
  38. goto RETRY;
  39.  
  40. }

Con este ejemplo ha funcionado como debería.



Título: Re: Problema con calculadora basica!!!!!!!!!!
Publicado por: prometheus48 en 9 Octubre 2011, 14:48 pm
Muchisimas gracias pitbull!
Saludos