martedì 12 novembre 2013

Esercizio IF / ELSE (su calcolatrice con funzioni)

#include <stdio.h>

//PROTOTIPO FUNZIONI
float somma(float x, float y);  
//funzione somma con 2 parametri FLOAT per il passaggio dei dati contenuti in a e b
float sott(float x,float y);  
//funzione sottrazione con 2 parametri FLOAT per il passaggio dei dati contenuti in a e b
float molt(float x,float y);  
//funzione moltiplicazione con 2 parametri FLOAT per il passaggio dei dati contenuti in a e b
float div(float x,float y);  
//funzione divisione con 2 parametri FLOAT per il passaggio dei dati contenuti in a e b
int modulo(int x,int y);      
//funzione modulo con 2 parametri INT per il passaggio dei dati contenuti in a e b

//DICHIARAZIONI VARIABILI
float a;                      
//variabile contenitore primo operando
float b;                      
//variabile contenitore secondo operando
float ris;                  
//variabile contenitore risultati funzioni FLOAT
int mod;                      
//variabile contenitore risultati funzione MODULO
int menu;                    
//variabile contenitore scelta menù

using namespace std;

int main()
{
printf("Inserire il primo valore: ");
scanf("%f",&a);     //contenitore primo operando
printf("\nInserire il secondo valore: ");
scanf("%f",&b);    //contenitore primo operando
printf("\n\n\tMENU CALCOLATRICE\n\n");  //visualizzo menu scelte operazioni disponibili all'utente
printf("1) Somma\n");
printf("2) Sottrazione\n");
printf("3) Moltiplicazione\n");
printf("4) Divisione\n");
printf("5) Modulo\n");
printf("6) Esci");
printf("\nScegli l'operazione da effettuare: ");
scanf("%d",&menu);    //contenitore scelta operazione che l'utente desidera effettuare


if(menu==1)  
//confronto scelta effettuata da utente con richiamo relativa funzione da eseguire
        {
        ris=somma(a, b);   
//chiamata funzione somma con passaggio parametri a e b, poi valore restituito da funzione assegnato a variabile ris
        printf("\n\nIl risultato della somma tra %.2f e %.2f e': %.2f",a,b,ris);   
//visualizzo valore operando e risultato operazione eseguita   
        }
else   
//altrimenti verifico condizione successiva
        if(menu==2)
//confronto scelta effettuata da utente con richiamo relativa funzione da eseguire
                   {
                   ris=sott(a, b);  
//chiamata funzione sottrazione con passaggio parametri a e b, poi valore restituito da funzione assegnato a variabile ris
                   printf("\n\nIl risultato della sottrazione tra %.2f e %.2f e': %.2f",a,b,ris);   
//visualizzo valore operando e risultato operazione eseguita
                   }
        else   
//altrimenti verifico condizione successiva
                if(menu==3)  
//confronto scelta effettuata da utente con richiamo relativa funzione da eseguire
                           {
                           ris=molt(a, b);   
//chiamata funzione moltiplicazione con passaggio parametri a e b, poi valore restituito da funzione assegnato a variabile ris
                           printf("\n\nIl risultato della moltiplicazione tra %.2f e %.2f e': %.2f",a,b,ris);   
//visualizzo valore operando e risultato operazione eseguita    
                           }
                else   
//altrimenti verifico condizione successiva
                           if(menu==4)   
//confronto scelta effettuata da utente con richiamo relativa funzione da eseguire
                                      {
                                      ris=div(a, b);   
//chiamata funzione divisione con passaggio parametri a e b, poi valore restituito da funzione assegnato a variabile ris
                                      printf("\n\nIl risultato della divisione tra %.2f e %.2f e': %.2f",a,b,ris);   
//visualizzo valore operando e risultato operazione eseguita    
                                      }
                           else   
//altrimenti verifico condizione successiva
                                   if(menu==5)   
//confronto scelta effettuata da utente con richiamo relativa funzione da eseguire
                                              {
                                              mod=modulo(a, b);  
//chiamata funzione modulo con passaggio parametri a e b, poi valore restituito da funzione assegnato a variabile INTERA mod
                                              printf("\n\nIl resto della divisione tra %.2f e %.2f e': %d",a,b,mod);   
//visualizzo valore operando e risultato operazione eseguita      
                                              }
                                   else  
//altrimenti in caso di scelte diverse da 1 2 3 4 5 visualizzo la scritta fine e chiudo programma
                                              printf("\n\nFine");                  
}

//DEFINIZIONI FUNZIONI
float somma(float x,float y)   //variabili x e y contengono valori a e b passati dalla chiamata di funzione
{
        float tot;   //dichiaro variabile tipo float tot  
        tot=x+y;   //assegno a tot risultato x+y
        return tot;   //restituisco a chiamata funzione valore contenuto in variabile tot
}

float sott(float x,float y)   //variabili x e y contengono valori a e b passati dalla chiamata di funzione
{
        float tot;   //dichiaro variabile tipo float tot  
        tot=x-y;   //assegno a tot risultato x-y
        return tot;   //restituisco a chiamata funzione valore contenuto in variabile tot
}

float molt(float x,float y)   //variabili x e y contengono valori a e b passati dalla chiamata di funzione
{
        float tot;   //dichiaro variabile tipo float tot  
        tot=x*y;   //assegno a tot risultato x*y
        return tot;   //restituisco a chiamata funzione valore contenuto in variabile tot
}

float div(float x,float y)   //variabili x e y contengono valori a e b passati dalla chiamata di funzione
{
        float tot;   //dichiaro variabile tipo float tot  
        tot=x/y;   //assegno a tot risultato x/y
        return tot;   //restituisco a chiamata funzione valore contenuto in variabile tot
}

int modulo(int x,int y)   //variabili x e y contengono valori a e b passati dalla chiamata di funzione
{
        int tot;   //dichiaro variabile tipo intero tot  
        tot=x%y;   //assegno a tot risultato x%y
        return tot;   //restituisco a chiamata funzione valore contenuto in variabile tot



Nessun commento:

Posta un commento