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;
}