Advertisement
xlujiax

Operaciones

Aug 29th, 2017
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.90 KB | None | 0 0
  1. #include <cstdlib>
  2. #include <cstdio>
  3. using namespace std;
  4.  
  5. float calcular(float num1, float num2, char op){
  6.     float res;
  7.     switch(op){
  8.         case '+': res = num1+num2; break;
  9.         case '-': res = num1-num2; break;
  10.         case '*': res = num1*num2; break;
  11.         case '/': res = num1/num2; break;
  12.     }
  13.     return res;
  14. }
  15. /*
  16.  *
  17.  */
  18. int main(int argc, char** argv) {
  19.     freopen("operaciones.txt", "r", stdin);
  20.     float num1,num2,resultado;
  21.     int operaciones = 0;
  22.     int contRest = 0, contSum = 0, contMult = 0, contDiv = 0, contErrores = 0;    
  23.     char op;
  24.     bool flagError;
  25.     //Inicio de cada línea:
  26.     printf("Operacion\t\tResultado\n");
  27.     printf("------------------------------------------------------------------------------------------\n");
  28.     while(scanf("%f",&num1)>0){
  29.         operaciones++;
  30.         flagError = false;
  31.         //printf("%f",num1);
  32.         while(scanf(" %[-+*/]c",&op)==1){
  33.             scanf("%f",&num2);
  34.             if (op=='/' and num2==0){
  35.                 flagError=true;
  36.                 contErrores++;
  37.                 //break;
  38.             }
  39.             //printf(" |%c| %f",op,num2);
  40.             if (!flagError){
  41.                 resultado=calcular(num1,num2,op);
  42.                 if (op == '-')
  43.                     contRest++;
  44.                 else if (op == '+')
  45.                     contSum++;
  46.                 else if (op == '*')
  47.                     contMult++;
  48.                 else
  49.                     contDiv++;
  50.                 num1=resultado;
  51.             }
  52.         }
  53.         if (!flagError)
  54.             printf("%d\t\t%f\n",operaciones, resultado);
  55.         else
  56.             printf("%d\t\tERROR\n", operaciones);
  57.     }
  58.     printf("\nSumas: %d\n", contSum);
  59.     printf("Restas : %d\n", contRest);
  60.     printf("Productos: %d\n", contMult);
  61.     printf("Division: %d\n", contDiv);
  62.     printf("ERRORES: %d\n", contErrores);
  63.     return 0;
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement