Kursy super. Ale mam problem, program w kursie tego nie robi, ale chciałem wywołać pierwszą linie z quiz.txt, czyli temat. Co bym nie wpisał w tym txt w pierwszej inii, to zawsze Temat zaczyna się od krzaczka. I tylko w nim, wszystko inne działają. To może być wina mojego kodu, czy raczej jakiś problem z kodowaniem txt?
string temat, nick;
case 1: temat=linia; break;
cout<<endl<< "Temat: "<<temat;
ps.
Czy wysłać zestaw pytań??
Wysyałm tez linie kodu i plik txt.
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <string>
#include <algorithm>
using namespace std;
string temat, nick;
string tresc[5];
string odpA[5];
string odpB[5];
string odpC[5];
string odpD[5];
string poprawna[5];
int main()
{
int nr_linii=1;
int nr_pytania=0;
int punkty=0;
string odpowiedz;
string linia;
fstream plik;
plik.open("quiz.txt", ios::in);
if((plik.good())==false)
{
cout << "nie mozna 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]=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();
cout<<endl<< "Autor: "<<nick;
cout<<endl<< "Temat: "<<temat;
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 (wcisnij A, B, C lub D): ";
cin>>odpowiedz;
transform(odpowiedz.begin(), odpowiedz.end(),odpowiedz.begin(), :: tolower);
if(odpowiedz==poprawna[i])
{
cout << "Odpowiedz poprawna, zdobywasz punkt!" <<endl;
punkty++;
}
else
{
cout<< "Zla odpowiedz, brak punktu, poprawna odpowiedz to: "<<poprawna[i]<<endl;
}
}
cout<<endl<<"Koniec Quiz'u, zdobyto punktow: "<<punkty;
return 0;
quiz.TXT
Volleyball (Pilka Siatkowa)
Przemyslaw Dudek
Ilu zawodnikow ma druzyna na boisku:
7
6
4
5
b
Ile zmian mozna dokonac w trakcie jednego seta:
2
6
10
4
b
Jakie sa wymiary calego boiska:
9x18m
10x20m
6x12m
8x8
a
Jaka jest wysokosc siatki u mezczyzn:
250cm
240cm
225cm
243cm
d
Jakie sa mozliwe (poprawne) wyniki meczu siakarskiego:
3:1, 3:2, 2:0
3:0, 3:1, 3:2
2:2, 2:1, 2:0
2:2, 3:1, 3:0
b