Advertisement
samuelo123

calcolatrice

Mar 22nd, 2019
242
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.11 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. void main(void)
  4.  
  5.  {float operando1, operando2, totale;
  6.   char operazione; //dichiaro le variabili per la calcolatrice.
  7.   unsigned int errore=0;
  8.  
  9.  //è necessario prendere con lo scanf i caratteri che indichino le operazioni fondamentali.
  10.  
  11.   printf ("Primo operando: ");
  12.   scanf ("%f", &operando1);
  13.   printf ("Secondo operando: ");
  14.   scanf ("%f", &operando2);
  15.   printf ("Operazione (+,-,*,/): ");
  16.   scanf (" %c", &operazione);
  17.  
  18.  //con uno switch dico alla calcolatrice cosa fare nel caso vengano richieste le diverse operazioni e anche       nell'eventualità
  19.  //che la vecchietta abbia premuto qualcosa di sbagliato
  20.  
  21.  
  22.   switch (operazione)
  23.   {case '+':
  24.     totale = operando1+operando2;
  25.                            break;
  26.    case '-':
  27.     totale = operando1-operando2;
  28.                            break;
  29.    case '*':
  30.     totale = operando1*operando2;
  31.                            break;
  32.    case '/':
  33.     if (operando2 != 0)
  34.      {totale=operando1/operando2;
  35.      }
  36.      else
  37.      {
  38.       errore=1;
  39.      }
  40.          break;
  41.  
  42.   //darò il valore 1 a "errore" quando la vecchietta vorrà dividere per zero e il valore due per le altre eventualità
  43.   //non vorrei ripetere due volte lo switch ma per ora non trovo altra soluzione :(
  44.  
  45.    default: errore=2;
  46.   }          
  47.  
  48.   while(errore==2)
  49.   {printf("\nInput sbagliato, per favore riprova.\n");            
  50.    scanf(" %c",&operazione);
  51.    switch (operazione)
  52.     {case '+':
  53.       totale = operando1+operando2;
  54.                errore=0;
  55.                   break;
  56.      case '-':
  57.       totale = operando1-operando2;
  58.                errore=0;
  59.                   break;
  60.      case '*':
  61.       totale = operando1*operando2;
  62.                errore=0;
  63.                   break;
  64.      case '/': if (operando2 != 0)
  65.     {totale=operando1/operando2;
  66.      errore=0;
  67.     }
  68.      else
  69.     {
  70.      errore=1;
  71.     }
  72.         break;
  73.  
  74.     default: errore=2;
  75.            
  76.    }
  77.  }
  78.  
  79.  
  80.  if (errore==0)
  81.   {printf ("Il risultato della tua operazione è: %f\n", totale);
  82.   }
  83.  else
  84.   {printf ("Errore hai diviso per zero!\n");
  85.   }
  86.  
  87.  }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement