PDA

View Full Version : switch in c


Nhio
29-09-2006, 21:29
Ciao a tutti, visto che fino ad ora avete risolto i miei problemi con c anche oggi propongo un programma che non so perchè (le ho provate tutte cavolo!!!) viene compilato ma non funziona!!! E' un semplice programma per l'utilizzo delle switch

#include<stdio.h>

int main (void)
{
int x, y, ris;
int option;
printf("insersci un numero\n");
scanf("%d",&x);
printf("inserisci un numero\n");
scanf("%d",&y);
printf("seleziona un'opzione:\n");
printf("\n\n S: somma\n O: sottrai\n D: dividi\n M: moltiplica\n\n");
scanf("%d",option);
switch(option)
{
case 's': {ris=x+y; break;}
case 'd': {ris=x/y; break;}
case 'o': {ris=x-y; break;}
case 'm': {ris=x*y; break;}
}
printf("il risultato e':%d",ris);
scanf(" ");
return 0;
}

scorpion89
29-09-2006, 21:33
1) ti manca &
qui: scanf("%d",option);

2) se però tratti option come un intero anche i case andranno considerati come interi e quindi
case 1:

se invece consideri option come char va bene come hai fatto adesso.

Ciao

andbin
30-09-2006, 11:30
Se vuoi che option contenga un carattere 's', 'o', ecc..., devi dichiararlo char option; e poi usare %c nella scanf.