Cześć, spróbowałem napisać zapętlony w nieskończoność quiz z wszystkimi dotychczas mi znanymi metodami (a nie znam ich wiele narazie) i było to najwyraźniej zbyt ambitne, gdyż patrząc na kod wszystko według mnie powinno działać, a pętla do...while, którą użyłem w pętli while(true) nie zapętla mi się i od razu przeskakuje dalej. Coś jakby pętla while(true) nie pozwalała na żadną inną pętlę w środku.
Moje pytanie brzmi: Czy jest to jakiś mały błąd z mojej strony, który da się naprawić bez większego zmieniania, czy po prostu nie mogę użyć pętli wewnątrz pętli i muszę zapisać ten quiz inaczej? Dodam, iż napisałem już drugi quiz trochę mądrzej i po prostu zapisałem więcej w pliku tekstowym, ale nadal mi ten problem nie daje spokoju.
while(true)
{
cout << "------------------------------------------------------------------------------------------------------------------------"
<< " QUIZ" << endl;
cout << "------------------------------------------------------------------------------------------------------------------------" << endl << endl;
cout << "1. START \n2. EXIT\n";
wybor=getch();
switch(wybor)
{
case '1':
{
do
{
cout << pytanie[nr_pytania] << "\n";
switch(nr_pytania)
{
case 0:
{
cout << "a. OdpowiedzA. \nb. OdpowiedzB. \nc. OdpowiedzC.\n";
}
break;
case 1:
{
cout << "a. OdpowiedzA. \nb. OdpowiedzB. \nc. OdpowiedzC.\n";
}
break;
case 2:
{
cout << "a. OdpowiedzA. \nb. OdpowiedzB. \nc. OdpowiedzC.\n";
}
break;
default: cout << "Brak pytan???"; break;
}
cin >> odpowiedz_xo[nr_pytania];
if(odpowiedz[nr_pytania]==odpowiedz_xo[nr_pytania])
{
nr_pytania++;
cout << "Dobrze!";
if(nr_pytania<3)
{
cout << " Nacisnij aby wyswietlic nastepne pytanie...";
getch();
}
else if(nr_pytania==3)
{
cout << "\nWygrales!!!!";
getch();
}
}
} while(nr_pytania<3 && odpowiedz[nr_pytania]==odpowiedz_xo[nr_pytania]);
if (odpowiedz[nr_pytania]!=odpowiedz_xo[nr_pytania])
{
cout << "Zle! Nacisnij aby rozpoczac od poczatku.";
getch();
system("cls");
}
}
break;
case '2': exit(1); break;
default:
{
cout << "Nie ma takiej opcji. Nacisnij cokolwiek aby moc znow wybrac opcje.\n";
getch();
system("cls");
}
break;
}
}
return 0;
}
Wiem, ze jest to troche przekombinowane, ale nie chcialo mi sie pisac wszystkiego w pliku tekstowym i tego czytac, bo to w sumie tylko 3 pytania.