Buongiorno.
Da assoluto autodidatta (la mia email porta il segno dell'età) sto cercando di imparare qualcosa sul C.
Ho implementato una semplice calcolatrice con le 4 funzioni. Con if..else…va..
Con l'uso di switch case pure ma se immetto la scelta non rpevista mi salta il default e non riesco a capire il perchè. Sicuramente ne combino una grossa ma non capisco dove. Chiedo aiuto. Grazie.
#include <stdio.h>
#include <locale.h>
#include <stdlib.h>
int main()
{
int operando1, operando2, risultato;
char scelta;
setlocale(LC_CTYPE, "italian");
printf("Questo programma esegue l'operazione richiesta dall'utente in base alla lettera inserita\n\n");
printf("a-A. Addizione\n");
printf("b-B. Sottrazione\n");
printf("c-C. Moltiplicazione\n");
printf("d-D. Divisione\n");
printf("\nDigita la lettera dell'operazione da eseguire: ");
scanf("%c", &scelta);
switch(scelta)
{
case 'a' :
case 'A' :
printf("Inserisci il valore del primo numero: ");
scanf("%d", &operando1);
printf("Inserisci il valore del secondo numero: ");
scanf("%d", &operando2);
risultato = operando1 + operando2;
printf("Il risultato dell'operazione selezionata è %d", risultato);
break;
case 'b':
case 'B':
printf("Inserisci il valore del primo numero: ");
scanf("%d", &operando1);
printf("Inserisci il valore del secondo numero: ");
scanf("%d", &operando2);
risultato = operando1 - operando2;
printf("Il risultato dell'operazione selezionata è %d", risultato);
break;
case 'c':
case 'C':
printf("Inserisci il valore del primo numero: ");
scanf("%d", &operando1);
printf("Inserisci il valore del secondo numero: ");
scanf("%d", &operando2);
risultato = operando1 * operando2;
printf("Il risultato dell'operazione selezionata è %d", risultato);
break;
case 'd':
case 'D':
printf("Inserisci il valore del primo numero: ");
scanf("%d", &operando1);
printf("Inserisci il valore del secondo numero: ");
scanf("%d", &operando2);
risultato = operando1 / operando2;
printf("Il risultato dell'operazione selezionata è %d", risultato);
break;
defaulf:
printf("La lettera appena digitata non equivale a nessuna operazione. Il programma verrà chiuso.");
system ("pause");
exit(EXIT_FAILURE);
break;
}
printf("\n\n");
system("pause");
return 0;
}