guarda ci sono dei problemi quando vai a fare questa istruzione:
codice:
char o = getchar();
in quanto la prima iterazione ti va bene, ma inseguito la getchar() fa casino con il '\n' penso!
perchè la getchar() di sopra va a leggere l'invio (\n) che dai quando premi invio per inserire il numero da sommare! non so se mi sono spiegato bene...il tutto è risolvibile in questo semplice modo anche se magari non tutti apprezzano forse...ma se qualcuno ha una soluzione migliore...può suggertirtela...io per ora ti posto la mia!
codice:
#include <stdio.h>
#include <stdlib.h>
float a,b;
float result=0.0;
char o;
char invio; // \n da prendere e buttare sostanzialmente
int main()
{
printf("...Calculator is ON...\n\n");
while(1){
printf("\nresult= %f",result);
printf("\ninsert the operator((+ - * /):");
char o = getchar();
printf ("SUKA STO CAZZO LA VAR O È: %c\n", o);
while (getchar() != '\n');
printf("\nInserire numero da sommare:");
scanf("%f%c",&a, &invio);
printf("operator is : %c",o);
if (o=='+')
result=result+a;
else if(o=='-')
result=result-a;
else if(o=='*')
result=a*result;
else if(o=='/')
result=result/a;
else
printf("\nIMPOSSIBLE!");
//printf("\nrisultato: %f",c);
}
getch();
return(0);
}
con la variabile char invio, vado ad immagazinare il \n che si genera appena premo invio per insierire il numero in modo da far eseguire correttamente la getchar()!
se trovi altri errori o se nn mi sn spiegato bene...scrivi qua...
ciao