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;
}