Ciao a tutti, ho usato il ciclo while nel mio source della calcolatrice V0.3
Stranamente il ciclo while non funziona, mi fa saltare la parte dello scanf e mi dice che il risultato è 7.
teoriacamente questo ciclo dovrebbe terminare quando come operatore inserisco il simbolo = ma non succede.
Ho riguardato il source centinaia di volte eppure io penso che è tutto giusto...
Guardate:
codice:#include <stdio.h> #define PER_ARRAY 50 int main () { int quante; int partenza = 0; int numeri[PER_ARRAY]; char operatore[PER_ARRAY]; char *puntatore_operatore; puntatore_operatore = operatore; printf("Calcolatrice V0.3 \n"); while(operatore[partenza] == '=') { printf("Numero %d: \n", partenza ); scanf( "%d", &numeri[partenza]); printf("Inserisci il tipo di operazione: + - * / \n Invece per il risultato digita = \n"); scanf(" %c",&operatore[partenza]); partenza++; } int i, risposta= numeri[0]; for(i = 1; i < quante; i++) { if(operatore[(i - 1)] == '*') { risposta *= numeri[i]; } else if(operatore[(i - 1)] == '/'){ risposta /= numeri[i]; } else if(operatore[(i - 1)] == '-'){ risposta -= numeri[i]; } else if(operatore[(i - 1)] == '+'){ risposta += numeri[i]; } } printf("Il risultato è: %i", risposta); return 0; }

Rispondi quotando
