-hide-
18-10-2008, 14:02
Ciao ragazzi!
Nel voler esercitarmi sull'istruzione while e switch, case ho voluto creare un programma che mi permettesse, schiacciato un tasto, di accedere all'operazione matematica che desideravo.
Fin qui l'idea mi sembra fattibile e pure il codice da scrivere molto semplice, solo che all'avvio dell'eseguibile appena inizia il ciclo while mi parte l'errore di windows, lo script che mi dice "invia" o "non inviare" per intenderci, e si chiude il tutto.
Posto di seguito il sorgente...potreste dirmi dove commetto errori, perché il compilatore non me ne da ed io non riesco a trovarli :D
#include <stdio.h>
main ()
{
char operazione;
int n1, n2, somma, diff;
printf ("Digita i tasti indicati per selezionare un'operazione\n\t");
printf ("- Addizione ---> a\n\t");
printf ("- Sottrazione ---> s\n\t");
printf ("- Moltiplicazione ---> m\n\t");
printf ("- Divisione ---> d\n\t");
printf (" Exit ---> x\n\n");
printf ("Digita qui di seguito: ");
scanf ("%c", operazione);
while (operazione != 'x')
{
switch (operazione)
{
case 'a': // Inizia il blocco del'addizione
printf ("Hai selezionato l'addizione\n");
printf ("Inserisci il primo numero: \n");
scanf ("%d", n1);
printf ("Inserisci il secondo numero: \n");
scanf ("%d", n2);
somma = n1 + n2;
printf ("%d + %d = %d", n1, n2, somma);
break;
case 's': // Inizia il blocco della sottrazione
printf ("Hai selezionato la sottrazione\n");
printf ("Inserisci il primo numero: \n");
scanf ("%d", n1);
printf ("Inserisci il secondo numero: \n");
scanf ("%d", n2);
diff = n1 - n2;
printf ("%d + %d = %d", n1, n2, diff);
break;
}
}
}
Ovviamente non è terminato, ma era inutile che andavo avanti!
Nel voler esercitarmi sull'istruzione while e switch, case ho voluto creare un programma che mi permettesse, schiacciato un tasto, di accedere all'operazione matematica che desideravo.
Fin qui l'idea mi sembra fattibile e pure il codice da scrivere molto semplice, solo che all'avvio dell'eseguibile appena inizia il ciclo while mi parte l'errore di windows, lo script che mi dice "invia" o "non inviare" per intenderci, e si chiude il tutto.
Posto di seguito il sorgente...potreste dirmi dove commetto errori, perché il compilatore non me ne da ed io non riesco a trovarli :D
#include <stdio.h>
main ()
{
char operazione;
int n1, n2, somma, diff;
printf ("Digita i tasti indicati per selezionare un'operazione\n\t");
printf ("- Addizione ---> a\n\t");
printf ("- Sottrazione ---> s\n\t");
printf ("- Moltiplicazione ---> m\n\t");
printf ("- Divisione ---> d\n\t");
printf (" Exit ---> x\n\n");
printf ("Digita qui di seguito: ");
scanf ("%c", operazione);
while (operazione != 'x')
{
switch (operazione)
{
case 'a': // Inizia il blocco del'addizione
printf ("Hai selezionato l'addizione\n");
printf ("Inserisci il primo numero: \n");
scanf ("%d", n1);
printf ("Inserisci il secondo numero: \n");
scanf ("%d", n2);
somma = n1 + n2;
printf ("%d + %d = %d", n1, n2, somma);
break;
case 's': // Inizia il blocco della sottrazione
printf ("Hai selezionato la sottrazione\n");
printf ("Inserisci il primo numero: \n");
scanf ("%d", n1);
printf ("Inserisci il secondo numero: \n");
scanf ("%d", n2);
diff = n1 - n2;
printf ("%d + %d = %d", n1, n2, diff);
break;
}
}
}
Ovviamente non è terminato, ma era inutile che andavo avanti!