chi vuol essere milionario in c e il comando else

  • Autore discussione Autore discussione Z171
  • Data d'inizio Data d'inizio
Pubblicità

Z171

Utente Attivo
Messaggi
401
Reazioni
19
Punteggio
40
ciao a tutti, coma da titolo sto creando, per un concorso scolastico, una specie di "chi vuol essere milionario" ma durante la funzione "else" dev c++ mi dice che ho fatto un errore di sintassi.
vi posto il codice:

"#include <stdio.h>
int main ()
{
int r1;
int r2;
int r3;
int r4;
int r5;
int r6;
int r7;
int r8;
int r9;
int r10;
printf ("benvenuti a ""chi vuol essere milionario"", edizione speciale sull'alimentazione\n");
printf ("se sei pronto iniziamo con la prima domanda\n");
printf ("ok iniziamo, domanda1:\n");
printf ("da quanti piani è composta la pirmaide alimentare?\n");
printf ("1=6\n2=10\n3=7\n4=5\n");
scanf ("%d", &r1);
if ( r1 = 1);
printf ("esatto!");
else:cav:
printf ("sbagliato!");
scanf ("%d", &r2);
... "

mi dice che ho dimenticato un ";" davanti al printf "esatto!"
come posso fare?
grazie anticipate
teo1998
 
si... e occhio alla condizione dell'if.. se devi confrontare usa == non =...
altrimenti è un assegnamento e il compilatore non ti darebbe neanche errore

ciao.
 
grazie mille per i consigli...la prof mi ha dato queesto compito ieri da fare entro il venti e senza di voi sarei ancora a scervellarmi su quel problema, grazie ancora.
 
un altra cosa: potreste aiutarmi a fare una finestra grafica (anche vuota) dove mettere il testo, secondo me nel cmd non è molto bello:-(
 
ecco il file completo (manca la grafica)
#include <stdio.h>
int main ()
{
int r1;
int r2;
int r3;
int r4;
int r5;
int r6;
int r7;
int r8;
int r9;
int r10;
int r11;
int r12;
int r13;
int r14;
int r15;
printf ("benvenuti a ""chi vuol essere milionario"", edizione speciale sull'alimentazione\n");
printf ("se sei pronto iniziamo con la prima domanda\n");
printf ("ok iniziamo, domanda1:\n");
printf ("da quanti piani è composta la pirmaide alimentare?\n");
printf ("1=6\n2=10\n3=7\n4=5\n");
scanf ("%d", &r1);
if ( r1 == 1)
printf ("esatto!\n");
else
printf ("sbagliato!\n");
printf ("domanda2: cosa c'è alla base della piramide alimentare?\n");
printf ("1=carne\n2=acqua\n3=dolci\n4=verdura\n");
scanf ("%d", &r2);
if (r2 == 2)
printf ("esatto!");
else
printf ("sbagliato!");
printf ("domanda3: cosa andrebbe mangiato di meno?\n");
printf ("1=verdura\n2=frutta\n3=riso\n4=bibite gasate\n");
scanf ("%d", &r3);
if (r3 == 4)
printf ("esatto!");
else
printf ("sbagliato!");
printf ("domanda4: cosa ci da l'energia per muoverci?\n");
printf ("1=zuccheri\n2=lipidi\n3=proteine\n4=amidi\n");
scanf ("%d", &r4);
if (r4 == 1)
printf ("esatto!");
else
printf ("sbagliato!");
printf ("domanda5: quante razioni di frutta e verdura vanno mangiate in un giorno?\n");
printf ("1=1\n2=3\n3=10\n4=5\n");
scanf ("%d", &r5);
if (r5 == 4)
printf ("esatto!");
else
printf ("sbagliato!");
printf ("domanda6: quale dovrebbe essere il momento della giornata in cui si mangia di meno?\n");
printf ("1=colazione\n2=spuntino\n3=pranzo\n4=cena\n");
scanf ("%d", &r6);
if (r6 == 4)
printf ("esatto!");
else
printf ("sbagliato!");
printf ("domanda7: quanti sono i pasti in una giornata?\n");
printf ("1=5\n2=7\n3=3\n4=4\n");
scanf ("%d", &r7);
if (r7 == 1)
printf ("esatto!");
else
printf ("sbagliato!");
printf ("domanda8: quale di questi non è un pasto?\n");
printf ("1=spuntino di mezzanotte\n2=pranzo\n3=cena\n4=colazione\n");
scanf ("%d", &r8);
if (r8 == 1)
printf ("esatto!");
else
printf ("sbagliato!");
printf ("domanda9: Qual è l'alimento più amato al mondo? \n");
printf ("1=la cioccolata\n2=la pizza\n3=il gelato\n");
scanf ("%d", &r9);
if (r9 == 1)
printf ("esatto!");
else
printf ("sbagliato!");
printf ("domanda10: cosa cambia dal tè nero, tè verde e tè rosso? \n");
printf ("1=il sapore\n2=la varietà\n3=Nessuna, sono tre lavorazioni della stessa pianta.\n");
scanf ("%d", &r10);
if (r10 == 3)
printf ("esatto!");
else
printf ("sbagliato!");
printf ("domanda11:Che cos'è la pellicola che si forma sul latte in ebollizione?\n");
printf ("1=grassi\n2=proteine coagulate\n3=caglio\n");
scanf ("%d", &r11);
if (r11 == 2)
printf ("esatto!");
else
printf ("sbagliato!");
printf ("domanda12:Le carote sono sempre state così come le conosciamo?\n");
printf ("1=no, prima erano viola\n2=si\n3=no, erano come le patate\n");
scanf ("%d", &r12);
if (r12 == 1)
printf ("esatto!");
else
printf ("sbagliato!");
printf ("domanda13:Il cioccolato fa venire i brufoli?\n");
printf ("1=certamente\n2=no, il cioccolato non c'entra con i brufoli\n3=si, solo se in grandi quantità\n");
scanf ("%d", &r13);
if (r13 == 2)
printf ("esatto!");
else
printf ("sbagliato!");
printf ("domanda14:È vero che il burro fa ingrassare più dell'olio?\n");
printf ("1=si\n2=ndipende dal tipo di olio\n3=No, 1 grammo d'olio hanno il 19% di calorie in più rispetto a 1 gramo di burro\n");
scanf ("%d", &r14);
if (r14 == 3)
printf ("esatto!");
else
printf ("sbagliato!");
printf ("domanda15:Quanto pollame mangiano gli italiani ogni anno?\n");
printf ("1=600 milioni\n2=6 milioni\n3=60 milioni\n");
scanf ("%d", &r15);
if (r15 == 1)
printf ("esatto!");
else
printf ("sbagliato!");
printf ("hai completato il gioco e ricorda di non esagerare a mangiare\n");
scanf ("%d", &r3);
return 0;
}
 
sei sicuro non dia errori?non sono sicuro di questa parte...più che altro per la serie di doppi apici come detto non programmo in c da un po..ma meglio se usi l'apice singolo
da
printf ("benvenuti a ""chi vuol essere milionario"", edizione speciale sull'alimentazione\n");

a
printf ("benvenuti a 'chi vuol essere milionario', edizione speciale sull'alimentazione\n");

poi usi 15 variabili per ogni risposta..sprechi spazio..in realtà potresti usarne una sola e aggiornare il valore con quello che l'utente inserisce (tanto da come l'hai fatto è statico..ogni volta stessa domanda stessa risposta esatta)
 
Usa una variabile bool per sapere se l'utente può continuare a giocare(non ha sbagliato nessuna risposta) e usa una sola variabile per leggere la risposta.
 
nell else devi fare:

else
{
printf ("sbagliato!");
scanf ("%d", &r2);
}

comunque, per le rx, potresti usare un vettore,mi sembra occupi meno ram e se è per scuola per me te lo riconosceranno.
 
ma la prof ha detto che così va bene per quel che le serve (e a quanto sembra nella mia scuola solo in 2 o 3 sappiamo programmare quindi nessuno si accorgerà di niente se uso il vettore) il mio unico problema è la finestra di windows che il cmd non piace...
ps: non so usare il vettore nè la variabile bool
 
sinceramente non lo so xD e in effetti funziona lo stesso, in teoria servirebbe per staccare quello dal resto del programma, il nostro prof ci ha detto che bisognava metterlo se c'erano piu comandi dentro un if/else, do/while o for.
comunque, programmare in c++ ad interfaccia grafica è un casino, bisognerebbe invece usare il visual basic, ma non lo conosco.
 
quindi come posso fare? mi serve solo una finestra di qualsiasi colore anche piccola e senza oggetti dentro (solo il programma che ho già fatto)
 
quello che ha scritto riccardik servirebbe all'interno di un ciclo while (per ogni domanda) per fare in modo che continui a ripetere la stessa domanda finchè non rispondono correttamente
 
Pubblicità
Pubblicità
Indietro
Top