Witam wszystkich mam problem z quizem z 7 odc kursu pana mirosława zelenta. Mianowicie problem z odczytem treści pytań. 1 pytanie quzu zostaje wyświetlone natomiast kolejne już nie... widać tylko odpowiedzi A,B,C,D natomiast treści pytań nie widać.
Jest jeszcze jedna rzecz mianowicie z pliku quiz.txt usunąłem dwa ostatnie pytania.Teraz mam trzy pytania jak widać poniżej zmieniłem tez odpowiednio rozmiar tablicy- są dla 3 pytan nie 5 jak jest w odc kursu.Czy w związku z tą zmianą mogą wystepować problemy z getline oraz z ifem od nr linii ? Proszę o pomoc nie o gotowy kod lepsze będzie wytłumaczenie mi w czym problem
using namespace std;
string temat,nick;
string tresc[2];
string odpA[2],odpB[2],odpC[2],odpD[2];
string poprawna[2];
string odpowiedz;
int punkty=0;
int main()
{
int nr_lini=1;
int nr_pytania=0;
string linia;
fstream plik;
plik.open("quiz.txt",ios::in);
if (plik.good()==false)
{
cout<<"Plik nie istnieje";
exit(0);
}
while(getline(plik,linia))
{
switch(nr_lini)
{
case 1: temat=linia; break;
case 2: nick=linia; break;
case 3: tresc[nr_pytania]=linia; break;
case 4: odpA[nr_pytania]=linia; break;
case 5: odpB[nr_pytania]=linia; break;
case 6: odpC[nr_pytania]=linia; break;
case 7: odpD[nr_pytania]=linia; break;
case 8: poprawna[nr_pytania]=linia; break;
}
if(nr_lini==8){nr_lini==2; nr_pytania++;}
nr_lini++;
}
plik.close();
for (int i=0; i<=2; i++)
{
cout<<endl<<tresc[i]<<endl;
cout<<"A. "<<odpA[i]<<endl;
cout<<"B. "<<odpB[i]<<endl;
cout<<"C. "<<odpC[i]<<endl;
cout<<"D. "<<odpD[i]<<endl;
cout<<"Twoja odpowiedz: ";
cin>>odpowiedz;
transform(odpowiedz.begin(), odpowiedz.end(), odpowiedz.begin(), ::tolower);
if (odpowiedz==poprawna[i])
{
cout<<"Dobrze! Zdobywasz punkt!"<<endl;
punkty++;
}
else cout<<"Zle! Brak punktu! Poprawna odpowiedz: "<<poprawna[i]<<endl;
}
cout<<"Koniec quizu. Zdobyte punkty: "<<punkty;
return 0;
}