Hej,
Program z kursu p. Zelenta- jeden pisałem oglądając kurs, a ten poniżej z głowy, starając się wziąć to wszystko na logikę, potrenować.
Program w formie quizu-pobiera tekst z pliku. Po każdym pytaniu i odpowiedziach sprawdza czy odpowiedź jest dobra i wyświetla kolejne pytanie, i tak 5 razy. No i własnie. Ten mój, po pierwszym pytaniu, wpisaniu odpowiedzi, zweryfikowaniu wyniku w miejsce kolejnego pytania wyświetla pustą przestrzeń i prośbę o wpisanie swojej odpowiedzi. Porównywałem go z kodem poprawnym gdzie wszystko działa, ale nie umiem znaleźć różnicy. Jestem zmęczony ślęczeniem na tym i chciałbym was prosić abyście świeżym okiem zerknęli co tu nie gra :)
Z góry dzięki!
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
int main()
{
string przywitanie, autor, tresc, answ;
string pytanie[5], odpA[5], odpB[5], odpC[5], odpD[5], odp[5];
string linia;
fstream plik;
int nr_pytania=0;
int nr_linii=1;
plik.open("test",ios::in);
if(plik.good()==false)
{
cout<<"Nie ma takiego pliku!";
}
while(getline(plik,linia))
{
switch(nr_linii)
{
case 1: przywitanie=linia; break;
case 2: autor=linia; break;
case 3: tresc=linia; break;
case 4: pytanie[nr_pytania]=linia; break;
case 5: odpA[nr_pytania]=linia; break;
case 6: odpB[nr_pytania]=linia; break;
case 7: odpC[nr_pytania]=linia; break;
case 8: odpD[nr_pytania]=linia; break;
case 9: odp[nr_pytania]=linia; break;
}
if(nr_linii==9)
{
nr_linii==3;
nr_pytania++;
}
nr_linii++;
}
for(int i=0;i<=5;i++)
{
cout<<pytanie[i]<<endl;
cout<<odpA[i]<<endl;
cout<<odpB[i]<<endl;
cout<<odpC[i]<<endl;
cout<<odpD[i]<<endl;
cout<<odp[i]<<endl;
cout<<"Podaj odp: "; cin>>answ; cout<<endl;
if(odp[i]==answ)
{
cout<<"Brawo"<<endl;
}
else
{
cout<<"Żle!!"<<endl;
}
}
return 0;
}