Hej , postanowiłem że za nim wkroczę w programowanie obiektowe jeszcze raz przerobie kurs Pana Mirosława Zelenta . Natknąłem na problem przy odcinku dotyczącym zapisu i odczytu z pliku a konkretnie quizu . Cały plik tekstowy jest poprawnie zapisany , pobrałem go ze strony ,składnia moim zdaniem jest ok, nie wychodzi błąd że nie udało się wczytać pliku a mimo to informacje mie się nie wczytują po za pierwszą linią tekstu , Nie wiem gdzie jest błąd :( . dziękuje za pomoc ...
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <algorithm>
#include <string>
using namespace std;
string temat, nick;
string tresc[5];
string odpA[5],odpB[5],odpC[5],odpD[5];
string poprawna[5];
string odpowiedz;
int punkty = 0;
int main()
{
int nr_lini=1;
string linia;
int nr_pytania=0;
fstream plik;
plik.open("quiz.txt",ios::in);
if(plik.good()==false)
{
cout<<"plik nie istnieje!"<<endl;
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();
cout<<temat<<endl;
cout<<nick<<endl;
for(int i=0; i<5; 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... poprawena odpowiedz: "<<poprawna[i]<<endl;
}
cout<<endl<<"koniec quizu! zdobyte punkty: "<<punkty<<endl;
return 0;
}