Adesso compila correttamente, con qualche warning, ma compila, adesso però quando lo avvio, dopo "Inserisci un operatore (+ - * /)" il programma finisce, perchè? Poi volevo sapere che paramentri aggiuntivi avrei messo nelle printf()Originariamente inviato da Celebron
è un errore già apparso qua
devi capire la differenza tra
+ - / *
che sono OPERATORI del linguaggio e
'+' '-' '/' '*'
che invece sono char, e sono quelli che fanno al caso tuo e devono finire negli if
inoltre nella scanf devi usare il %c per leggere i char, non il %d
in aggiunta mi chiedo perché hai messo quei parametri aggiuntivi nelle printf. Non servono ne c'è motivo per inserirli. Anche perché, pur volessi stamparli (e devi usare la notazione apposita) in quel momento non sono nemmeno inizializzati, quindi avresti risultati di visualizzazione non prevedibili
Ecco le modifiche cho ho apportato:
codice:#include <stdio.h> int main(int argc, char **argv) { /*Dichiarazione delle variabili di tipo intero.*/ int a, b, addizione, sottrazione, moltiplicazione, divisione; char operatore; /*Con %d intendiamo spcificare la conversione * per numeri interi*/ printf("Inserisci il primo numero: ", a); scanf("%d", &a); printf("\n\nInserisci il secondo numero: ", b); scanf("%d", &b); printf("\n\n Inserisci l'operatore (+ - * /): ", operatore); scanf("%c", &operatore); addizione = a + b; sottrazione = a - b; moltiplicazione = a * b; divisione = a / b; if (operatore=="+"){ printf("\nRISULTATO: %d", addizione);} if (operatore=="-"){ printf("\nRISULTATO: %d", sottrazione);} if (operatore=="*"){ printf("\nRISULTATO: %d", moltiplicazione);} if (operatore=="/"){ printf("\nRISULTATO: %d", divisione);} return 0; }

Rispondi quotando