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,
//////////////////////////////////////////////////////
//Programa de calculadora (prometheus48@hotmail.com)//
/////////////////////////////////////////////////////
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
//Variables declaradas
double a,b,c,d,e,f,g,h;
float i,j,k,l,m,n;
int o=0;
//Pequeña informacion
cout<<"Pandora Software ;)"<<endl;
cout<<"Programa realizado por Samuel Dominguez Lorenzo"<<endl;
cout<<"Cualquier error o sugerencia enviar correo a prometheus48@hotmail.com"<<endl;
system("pause");
//Punto de regreso para el goto(re-ejecutar)
RETRY:
system("cls");
//Informacion acerca del orden de las operaciones
cout<<"Menu"<<endl
<< "1.-Sumar" << endl
<< "2.- Multiplicar" << endl
<< "3.- Restar " << endl
<< "4.- Dividir" << endl
<< "5.- Al cuadrado" << endl
<< "6.- Al cubo" << endl
<< "7.- A la cuadra" << endl
<< "8.- A la quinta" << endl
<< "9.- A la sexta" << endl
<< "10.- A la septima" << endl;
cin>>o;
if(o==1)
//Sumar
cout<<"Introduzca numero sumar: ";
cin>>a;
cout<<"Introduzca segundo numero: ";
cin>>b;
cout<<"Resultado de la suma: "<<a+b<<endl;
system("pause");
goto RETRY;
if(o==2)
//Multiplicar
cout<<"Introduzca numero multiplicar: ";
cin>>c;
cout<<"Introduzca segundo numero: ";
cin>>d;
cout<<"Resultado de la multiplicacion: "<<c*d<<endl;
system("pause");
goto RETRY;
if(o==3)
//Restar
cout<<"Introduzca numero a restar: ";
cin>>e;
cout<<"Introduzca segundo numero: ";
cin>>f;
cout<<"Resultado de la resta: "<<e-f<<endl;
system("pause");
goto RETRY;
if(o==4)
//Dividir
cout<<"Introduzca numero a dividir: ";
cin>>g;
cout<<"Introduzca segundo numero: ";
cin>>h;
cout<<"Resultado de la division: "<<g/h<<endl;
system("pause");
goto RETRY;
if(o==5)
//Al cuadrado
cout<<"Introduzca el numero al cuadrado: ";
cin>>i;
cout<<"Resultado: "<<i*i<<endl;
system("pause");
goto RETRY;
if(o==6)
//Al cubo
cout<<"Introduzca numero al cubo: ";
cin>>j;
cout<<"Resultado: "<<j*j*j<<endl;
system("pause");
goto RETRY;
if(o==7)
//A la cuadra
cout<<"Introduzca numero a la cuadra: ";
cin>>k;
cout<<"Resultado: "<<k*k*k*k<<endl;
system("pause");
goto RETRY;
if(o==8)
//A la quinta
cout<<"Introduzca un numero al la quinta: ";
cin>>l;
cout<<"Resultado: "<<l*l*l*l*l<<endl;
system("pause");
goto RETRY;
if(o==9)
//A la sexta
cout<<"Introduzca numero a la sexta: ";
cin>>m;
cout<<"Resultado: "<<m*m*m*m*m*m<<endl;
system("pause");
goto RETRY;
if(o==10)
//A la sépima
cout<<"Introduzca numero al la septima: ";
cin>>n;
cout<<"Resultado: "<<n*n*n*n*n*n*n<<endl;
system("pause");
goto RETRY;
//Pequeña informacion
cout<<"Pandora Software ;)"<<endl;
cout<<"Programa realizado por Samuel Dominguez Lorenzo"<<endl;
system("pause");
goto RETRY;
system("PAUSE");
return EXIT_SUCCESS;
}
Respondan!
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.
¿Y el error del menu?
Acabo de probar una suma y funciona:
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:
if(o==1) {
//Sumar
cout<<"Introduzca numero sumar: ";
cin>>a;
cout<<"Introduzca segundo numero: ";
cin>>b;
cout<<"Resultado de la suma: "<<a+b<<endl;
system("pause");
goto RETRY;
}
if(o==2) {
//Multiplicar
cout<<"Introduzca numero multiplicar: ";
cin>>c;
cout<<"Introduzca segundo numero: ";
cin>>d;
cout<<"Resultado de la multiplicacion: "<<c*d<<endl;
system("pause");
goto RETRY;
}
if(o==3) {
//Restar
cout<<"Introduzca numero a restar: ";
cin>>e;
cout<<"Introduzca segundo numero: ";
cin>>f;
cout<<"Resultado de la resta: "<<e-f<<endl;
system("pause");
goto RETRY;
}
Con este ejemplo ha funcionado como debería.
Muchisimas gracias pitbull!
Saludos