da un sorgente di una calcolatrice visto sul forum che usava i goto ho fatto una
calcolatrice senza in maniera strutturata
il problema che non mi considera uno scanf in
un ciclo while
se qualcucuno volesse dirmi l'errore ne sarei grato
il sorgente
#include <stdio.h>
#include <stdlib.h>
void somma();
void sottrazzione();
void divisione();
void moltiplicazione();
float num1,num2,ris;
char op,scelta;
int main(int argc, char *argv[])
{
while(scelta!='q' || scelta != 'Q'){
printf("\t\t------------ Calcolatrice ------------\n\n\t\tPremere q per uscire un altro tasto per continuare\n");
scanf("%c",&scelta); //scanf viene ignorato ??
if (scelta == 'q' || scelta == 'Q')
{
return 0;
}
// scelte "calcolatrice"
printf("\nInserisci il primo numero: ");
scanf(" %f", &num1);
printf("\nInserisci l'operatore (+, -, *, /): ");
scanf(" %c", &op);
printf("\nInserisci il secondo numero: ");
scanf(" %f", &num2);
// scelta "operatore +"
switch (op)
{
case '+' :
somma();
break;
case '-' :
sottrazzione();
break;
case '/' :
divisione();
break;
case '*' :
moltiplicazione();
break;
}
}
}
void somma()
{
ris = num1 + num2;
printf("\nIl risultato somma e': %.2f\n", ris);
}
void sottrazzione()
{
ris = num1 - num2;
printf("\nIl risultato sottrazione e': %.2f\n", ris);
}
void moltiplicazione()
{
ris = num1 * num2;
printf("\nIl risultato moltiplicazione e': %.2f\n", ris);
}
void divisione()
{
ris = num1 / num2;
printf("\nIl risultato divisione e': %.2f\n", ris);
}
|