Programma in C

Sk_Anonymous
è 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

Risposte
TheWiz@rd
Anzitutto mancano un bel po di cose a quel codice. Definizione variabili, main e inclusione di librerie. Poi il formato della scanf è:
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. :wink:

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.