Ciao,
devo creare un programma che svolga questo problema:
Per l'elezione del rappresentante di classe vi sono tre candidati, A, B e C. Durante lo spoglio il programma conteggia, uno alla volta, il numero di voti ottenuti da ciascun candidato e il numero di schede nulle. Al termine dello spoglio il programma comunica il nome del vincitore e la percentuale delle schede valide sul totale.
Io ho scritto questo programma:
Il problema è che rimane sempre piantato sulla printf senza mai avanzare.codice://Elezioni dei rappresentanti #include <stdio.h> int main() { int num; //Numero totale delle schede int val; //Numero di schede valide int nul; //Numero di schede nulle float per; //Percentuale di schede valide int k; //Numero di voti per a int j; //Numero di voti per b int w; //Numero di voti per c char a, b, c, d; //Candidati a, b, c mentre d e\' cio\' che e\' scritto sulla scheda a='a'; b='b'; c='c'; printf("Inserire il nome del candidato 0 per terminare:"); do { scanf("%c", &d); num++; if(d==a) { k++; val++; } else { if(d==b) { j++; val++; } else { if(d==c) { w++; val++; } else nul++; } } } while(d!=0); per=val*100/num; if(k>j) { if(k>w) printf("a ha vinto le elezioni"); else printf("c ha vinto le elezioni"); } else { if(j>c) printf("b ha vinto le elezioni"); else printf("c ha vinto le elezioni"); } printf("Il numero di schede totali e\' di: %d",num); nul=num-val; printf("Il numero di schede valide e\' di: %d",val); printf("Il numero di schede nulle e\' di: %d",nul); printf("La percentuale di schede valide sul totale e\' di: %f",per); printf("\n"); system("pause"); return 0; }
Potreste gentilmente spiegarmi dove ho sbagliato e se vi sono degli altri problemi che mi sono sfuggiti?
Ciao e grazie mille

Rispondi quotando