Ho modificato il codice come segue ma continua a darmi problemi ( qualsiasi valore venga digitato lo riconosce a prescindere come diverso sia da 1 che da 2 e x)? Dov'è l'errore?
ps: quindi per dichiarare una variabile che potrebbe contenere sia valori numerici e lettere dell'alfabeto va bene il char?
codice:#include<stdio.h> #include<stdlib.h> main() { int contatore, somma1, somma2, sommax, sommaerr; char valore; somma1=0; somma2=0; sommax=0; sommaerr=0; contatore=0; scanf("%c", &valore); while(contatore<=13) { if(valore=='1') { somma1=somma1+1; contatore=contatore+1; scanf("%c", &valore); } if(valore=='2') { somma2=somma2+1; contatore=contatore+1; scanf("%c", &valore); } if(valore=='x') { sommax=sommax+1; contatore=contatore+1; scanf("%c", &valore); } if(valore!='1' && valore!='2' && valore!='x') { printf("Errore, devi digitare 1,2 o x.\n"); sommaerr=sommaerr+1; scanf("%c", &valore); } } printf("La somme di 1,2 e X sono rispettivamente %d%d%d%d", somma1,somma2,sommax,sommaerr); system("pause"); }

Rispondi quotando