Cześć,
Postanowiłem zrobić quiz jak w odcinku 7 Zelanta.
Wszystko rozumiem ale nie czyta mi pierwszych dwóch odpowiedzi pierwszego pytania. Dodatkowo jeśli odpowiem poprawnie program i tak traktuje to jako złą odpowiedz. Z góry dziekuje za krytyczne uwagi
#include <iostream>
#include <fstream>
#include<cstdlib>
#include<string>
#include<algorithm>
#include<cctype>
using namespace std;
string temat,nick;
string linia;
string tresc[5];
string odpA[5],odpB[5],odpC[5],odpD[5],poprawna[5];
string odpowiedz;
int punkty=0;
int main()
{
fstream plik;
int nr_linii=1;
int nr_pytania=0;
plik.open("plik.txt",ios::in);
//test na istnienie pliku
if(plik.good()==false)
{
cout<<"plik nie istnieje"<<endl;
exit(0);
}
while(getline(plik,linia))
{
switch(nr_linii)
{
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_linii==8)
{
nr_linii=2;
nr_pytania++;
}
nr_linii++;
}
plik.close();
for(int i=0;i<=4;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<<odpA[0];
cout<<"Twoja odpowiedz: "<<endl;
cin>>odpowiedz;
transform(odpowiedz.begin(),odpowiedz.end(),odpowiedz.begin(),::tolower);
if(odpowiedz == poprawna[i])
{
cout<<"Dobrze, zdobywasz punkt "<<endl;
punkty++;
}
else cout<<"Zla odpowiedz. Poprawna to "<<poprawna[i]<<endl;
}
system("PAUSE");
return 0;
}