Programma in C
è un dubbio stupido,ma meglio pensarci ora prima che le cose diverranno più complesse.
ecco il programma fattoci scrivere dal professore ,utilizzando l'istruzione if, per realizzare una delle 4 operazioni fondamentali:
{ printf("Inserire il primo operando");
scanf(a);
printf("Inserire il secondo operando");
scanf(b);
printf("Quale operazione? (+,-,*,/)");
scanf(op);
if (op == '+')
risultato=a+b;
else if (op == '-')
risultato=a-b;
else if (op == '*')
risultato=a*b;
A questo punto per la divisione continua così:
else if (b!=0)
risultato=a/b;
if (op == '/' && b==0)
printf("Operazione errata");
else printf(risultato);
}
Perchè per la divisione non procede come per le altre operazioni?Dice che il numero b deve essere diverso da zero ma non ha ancora specificato l'operazione divisione....mah
ecco il programma fattoci scrivere dal professore ,utilizzando l'istruzione if, per realizzare una delle 4 operazioni fondamentali:
{ printf("Inserire il primo operando");
scanf(a);
printf("Inserire il secondo operando");
scanf(b);
printf("Quale operazione? (+,-,*,/)");
scanf(op);
if (op == '+')
risultato=a+b;
else if (op == '-')
risultato=a-b;
else if (op == '*')
risultato=a*b;
A questo punto per la divisione continua così:
else if (b!=0)
risultato=a/b;
if (op == '/' && b==0)
printf("Operazione errata");
else printf(risultato);
}
Perchè per la divisione non procede come per le altre operazioni?Dice che il numero b deve essere diverso da zero ma non ha ancora specificato l'operazione divisione....mah
Risposte
Anzitutto mancano un bel po di cose a quel codice. Definizione variabili, main e inclusione di librerie. Poi il formato della scanf è:
Inoltre non capisco il tuo problema, la divisione è alla fine di una serie di "else-if" e quindi arrivati all'ultimo "else-if" per forza di cose sarà stata scelta l'operazione diviso e quindi esegue il controllo sul divisore. Tutto qua.
int scanf ( const char * format [ , argument , ...] );Quindi
scanf(a)diventa
scanf("%f",&a)e la variabile a è definita come
float a;
Inoltre non capisco il tuo problema, la divisione è alla fine di una serie di "else-if" e quindi arrivati all'ultimo "else-if" per forza di cose sarà stata scelta l'operazione diviso e quindi esegue il controllo sul divisore. Tutto qua.
