Oppure

Loading
10/10/08 7:31
torn24
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);

}
aaa
10/10/08 8:18
torn24
il problema è stato risolto aggiungendo uno spazio
prima del carattere di formato della prima scanf
suggerito da gioser
Ultima modifica effettuata da torn24 10/10/08 8:19
aaa