Calcolatrice Base

di il
1 risposte

Calcolatrice Base

Buona sera ho realizzato questa calcolatrice ,che svolge le quattro operazioni base.Ho un problema poichè mediante ciclo while vorrei decidere se ripetere la scelta dell'operazione da svolgere digitando Y,oppure N per  uscire.

La funzione di uscita digitando N, viene eseguita.

Grazie per l'attenzione.

#include <stdio.h>
#include <stdlib.h>
//Creazione prototipi
void Scelta(int Selezione,int Valore1,int Valore2);
void Somma(int *Somma,int Addendo1,int Addendo2);
void Differenza(int *Minuendo,int Sottraendo);
int Moltiplicazione(int Moltiplcando,int Moltiplicatore);
void Divisione(int Dividendo,int Divisore);

void main(void)
{
  //Dichirazione delle variabili:
  int SceltaOperatore, Numero1=20,Numero2=10;
 
  //Stampo il menu  di Scelta
  printf("1)Menu Somma:\n"
         "2)Menu Differenza: \n"
         "3)Menu Prodotto: \n"
         "4)Menu Quoziente: \n");
//Esguo la scelta  mediante dello switch case di una delle operazioni
printf("Seleziona l'operazione deisderata");
scanf(" %d", &SceltaOperatore);
Scelta(SceltaOperatore,Numero1,Numero2);


         
         
}
//Creazione  Void e funzioni
void Scelta(int Selezione,int Valore1,int Valore2)
{
    int Result=0;
     char Risposta;
   do {
    
  switch (Selezione)
{
    
  case 1:
     Somma(&Result,Valore1,Valore2);
     printf("La somma vale: %d",Result);
  break;
   case 2:
     Differenza(&Valore1,Valore2);
     printf("La Differenza vale: %d",Valore1);
  break;
  case 3:
   Moltiplicazione(Valore1,Valore2);
     printf("Il Prodotto vale: %d",Valore1);
  break;
  case 4:
        Divisione(Valore1,Valore2);
      break;
   default:
     printf("Scelta Sbagliata:");
    break;
}//exit case
  printf("Vuoi Continuare? Y/N \n");
   scanf(" %c", &Risposta);
   getchar(); 


}while(Risposta!='N');  
}//exit void

void Somma(int *Somma,int Addendo1,int Addendo2)
{
    *Somma=Addendo2 + Addendo1;
}
void Differenza(int *Minuendo,int Sottraendo)
{
    *Minuendo -=Sottraendo;
}

int Moltiplicazione(int Moltiplicando,int Moltiplicatore)//Variabili dichiarate col metodo per riferimento
{ return Moltiplicando * Moltiplicatore;
}
void Divisione(int Dividendo,int Divisore)
{ printf("il Risultato e': %d con resto %d",(int)(Dividendo/Divisore),Dividendo%Divisore);
}

1 Risposte

  • Re: Calcolatrice Base

    Il do while è messo nel posto sbagliato.

    Eevi metterlo nel main tra la prima printf e la fine del main

    Anche la richiesta se vuoi continuare va nel main

Devi accedere o registrarti per scrivere nel forum
1 risposte