Witam.
Ponownie programowałem z Panem Mirkiem, Otóż napotkałem problem. Mój program nie zlicza zdobytych punktów, oraz po uruchomieniu nie wyświetla pytań, tylko same odpowiedzi. Wie ktoś w czym może być problem?
Robiłem 4 pytania, zamiast jak on, na filmie-5.
Oto kod:
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <algorithm>
#include <string>
using namespace std;
string temat,nick;
string tresc[4];
string odpA[4], odpB[4], odpC[4], odpD[4];
string poprawna[4];
string Odpowiedz;
int punkty ;
int main()
{
int nr_pytania=0;
int nr_linii=1;
string linia;
fstream plik;
plik.open("quiz.txt.txt", ios::in);
if (plik.good()==false)
{
cout<<"nie udalo sie otworzyc pliku!";
exit(0);
}
while (getline(plik, linia))
{
switch (nr_linii)
{
case 1: temat=linia; break;
case 2: nick=linia; break;
case 3: tresc[nr_pytania]; 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<<"Twoja odpowiedz:";
cin>>Odpowiedz;
transform(Odpowiedz.begin(),Odpowiedz.end(), Odpowiedz.begin(), ::tolower);
if(Odpowiedz==poprawna[i])
{
cout<<"odpowiedz poprawna,zdobywasz punkt"<<endl;
}
else
{
cout<<"odpowiedz błędna! Poprawna odpowiedz to:"<<poprawna[i]<<endl;
}
}
cout<<"koniec quizu! Zdobyte punkty:"<<punkty<<endl;
exit(0);
return 0;
}