Ver Mensaje Individual
  #2 (permalink)  
Antiguo 18/06/2012, 13:16
alexg88
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Calculadora en c++

Buenas,

Tienes que realizar las operaciones después de leer los números, no antes, sino es normal que no te devuelva nada.

Código C++:
Ver original
  1. #include<iostream.h>
  2. #include<string.h>
  3. #include<math.h>
  4. using namespace std;
  5. int main ()
  6. {
  7. int a,b,s,r,m,d,res;
  8. char o;
  9.  
  10. cout<<"teclea el primer digito"<<endl;
  11. cin>>a;
  12. cout<<"teclea el signo"<<endl;
  13. cin>>o;
  14. cout<<"teclea el segundo numero"<<endl;
  15. cin>>b;
  16.  
  17. s=a+b;
  18. r=a-b;
  19. m=a*b;
  20. d=a/b;
  21. res=a%b;
  22.  
  23. switch(o)
  24. {
  25. case '+': cout<<s<<endl;
  26. break;
  27. case '-': cout<<r<<endl;
  28. break;
  29. case '*' : cout<<m<<endl;
  30. break;
  31. case '/' : cout<<d<<endl;
  32. break;
  33. case '%' : cout<<res<<endl;
  34. break;
  35. default:
  36. cout<<" Error, comando invalido "<<endl;
  37. break;
  38. }
  39. system ("pause");
  40. return 0;
  41. }

Puedes mejorarlo quitando operaciones cuando no son necesarias:

Código C++:
Ver original
  1. #include<iostream.h>
  2. #include<string.h>
  3. #include<math.h>
  4. using namespace std;
  5. int main ()
  6. {
  7. int a,b;
  8. char o;
  9.  
  10. cout<<"teclea el primer digito"<<endl;
  11. cin>>a;
  12. cout<<"teclea el signo"<<endl;
  13. cin>>o;
  14. cout<<"teclea el segundo numero"<<endl;
  15. cin>>b;
  16.  
  17.  
  18. switch(o)
  19. {
  20. case '+': cout<<a+b<<endl;
  21. break;
  22. case '-': cout<<a-b<<endl;
  23. break;
  24. case '*' : cout<<a*b<<endl;
  25. break;
  26. case '/' : cout<<a/b<<endl;
  27. break;
  28. case '%' : cout<<a%b<<endl;
  29. break;
  30. default:
  31. cout<<" Error, comando invalido "<<endl;
  32. break;
  33. }
  34. system ("pause");
  35. return 0;
  36. }