#include void main(void){ int scelta; /*variabile per gestire lo switch*/ int primo_operando; /*dichiaro un intero per il primo operando*/ int secondo_operando; /*dichiaro un intero per il secondo operando*/ float risultato; /*un float per il risultato*/ int continua; /*variabile che gestisce il ciclo*/ int errore; /*gestione della divisione per 0*/ do{ errore=0; printf("Inserisci il primo operando: "); scanf("%i",&primo_operando); /*catturo valore*/ printf("Inserisci il secondo operando: "); scanf("%i",&secondo_operando); /*catturo valore*/ printf("Scegli quale operazione svolgere:\n"); printf("per la somma scegli 1\n"); printf("per la sottrazione scegli 2\n"); printf("per il prodotto scegli 3\n"); printf("per la divisione scegli 4\n"); scanf("%d",&scelta); /*catturo valore*/ switch(scelta){ case 1: risultato=somma(primo_operando,secondo_operando); /*chiamo la funzione somma passando i parametri per posizione*/ break; case 2: risultato=sottrazione(primo_operando,secondo_operando); /*chiamo la funzione sottrazione passando i parametri per posizione*/ break; case 3: risultato=moltiplicazione(primo_operando,secondo_operando); /*chiamo la funzione prodotto passando i parametri per posizione*/ break; default: if(secondo_operando==0){ errore=errore_divisione(); /*chiamo la funzione senza passare parametri*/ }else{ risultato=divisione_corretta(primo_operando,secondo_operando); /*chiamo la funzione prodotto passando i parametri per posizione*/ } break; } if (errore==0){ /*guardo se si è verificato un "errore"*/ printf("il risultato e' %f\n",risultato); /*se l'errore NON si è verificato scrivo il risultato*/ } printf("vuoi eseguire un'altra operazione? 0==SI "); scanf("%d",&continua); }while(continua==0); system("pause"); } /****************************INIZIA LA FUNZIONE SOMMA**************************/ float somma(int a_somma , int b_somma){ /*prendo in ingresso due interi e ritorno un float*/ float c_somma; /*definisco una variabile interna alla funzione*/ c_somma=a_somma+b_somma; /*eseguo l'operazione*/ return c_somma; /*ritorno il valore float*/ } /****************************FINISCE LA FUNZIONE SOMMA*************************/ /****************************INIZIA LA FUNZIONE SOTTRAZIONE********************/ float sottrazione(int a_sottrazione, int b_sottrazione){ /*prendo in ingresso due interi e ritorno un float*/ float c_sottrazione; /*definisco una variabile interna alla funzione*/ c_sottrazione=a_sottrazione-b_sottrazione;/*eseguo l'operazione*/ return c_sottrazione; /*ritorno il valore float*/ } /****************************FINISCE LA FUNZIONE SOTTRAZIONE*******************/ /****************************INIZIA LA FUNZIONE MOLTIPLICAZIONE****************/ float moltiplicazione(int a_moltiplicazione, int b_moltiplicazione){ /*prendo in ingresso due interi e ritorno un float*/ float c_moltiplicazione;/*definisco una variabile interna alla funzione*/ c_moltiplicazione=a_moltiplicazione*b_moltiplicazione; /*eseguo l'operazione*/ return c_moltiplicazione;/*ritorno il valore float*/ } /****************************FINISCE LA FUNZIONE MOLTIPLICAIZONE***************/ /****************************INIZIA LA FUNZIONE DIVISIONE**********************/ float divisione_corretta(int a_divisione, int b_divisione){ /*prendo in ingresso due interi e ritorno un float*/ float c_divisione=0; /*definisco una variabile interna alla funzione*/ c_divisione=a_divisione/b_divisione; /*eseguo l'operazione*/ return c_divisione; /*ritorno il valore float*/ } /****************************FINISCE LA FUNZIONE DIVISIONE*********************/ /*************INIZIA LA FUNZIONE PER GESTIRE LA DIVISIONE PER ZERO*************/ int errore_divisione(void){ /*non ho nessun parametro in ingresso e ritorno un intero*/ printf("Non si puo' dividere per 0!!!\n"); return 1; /*ritorno il valore int*/ } /*************FINISCE LA FUNZIONE PER GESTIRE LA DIVISIONE PER ZERO************/