C[Aiuto Integrazione ciclo switch-case]

di il
2 risposte

C[Aiuto Integrazione ciclo switch-case]

Salve a tutti, piacere di conoscervi, e complimenti per lo splendido forum. Ho cominciato da poco lo studio del C, partendo da 0, poichè non conosco altri linguaggi di programmazione. Arrivato a poco prima degli Array, seguendo la guida di BlackLight, ho deciso di fare una sorta di ricapitolazione del tutto, creando una piccolissima e semplicissima calcolatrice. Una volta compilata xò, avviando il programma ed inserito il valore iniziale, il programma non interagisce secondo la struttura del ciclo Switch-Case.....potete darmi una mano? Grazie per la pazienza...

Di seguito il source:
/* Prova di Calcolatrice */

#include <stdio.h>

int main()          {


int n;
int a;
int b;


printf ("Cosa vuoi fare?\n");
printf ("1.Addizione\n");
printf ("2.Sottrazione\n");
printf ("3.Moltiplicazione\n");
printf ("4.Divisione\n");

scanf ("%d", &n);

switch(n)       {

case '1':
printf ("Scrivi il primo numero:\n");
scanf ("%d", &a);
printf ("Ora l'altro:\n");
scanf ("%d", &b);
printf ("La somma è: %d\n", somma(a,b));
break;

case '2':
printf ("Scrivi il primo numero:\n");
scanf ("%d", &a);
printf ("Ora l'altro:\n");
scanf ("%d", &b);
printf ("La sottrazione è: %d\n", sottrazione(a,b));
break;

case '3':
printf ("Scrivi il primo numero:\n");
scanf ("%d", &a);
printf ("Ora l'altro:\n");
scanf ("%d", &b);
printf ("La moltiplicazione è: %d\n", moltiplicazione(a,b));
break;

case '4':
printf ("Scrivi il primo numero:\n");
scanf ("%d", &a);
printf ("Ora l'altro:\n");
scanf ("%d", &b);
printf ("La divisione è: %d\n", divisione(a,b));
break;

}

}

int somma(int a, int b) {
return a+b;
}

int sottrazione(int a, int b) {
return a-b; 
}

int moltiplicazione(int a, int b) {
return a*b;
}

int divisione(int a, int b) {
return a/b; 

2 Risposte

  • Re: C[Aiuto Integrazione ciclo switch-case]

    Il case prevede un valore. Se scrivi il valore racchiuso tra i singoli apici viene visto come valore ascii del carattere. Esempio case '1': ===> 49.
    La correzione è:
    
    ...
    switch(n)
    {
       case 1:
       bla bla bla
       break;
    
       case 2:
       ribla e blabla
       break;
    }
    ...
    
  • Re: C[Aiuto Integrazione ciclo switch-case]

    Grazie mille..!! Ora provo
    EDIT: Perfetto!!! Sei un grande! Grazie mille
Devi accedere o registrarti per scrivere nel forum
2 risposte