Witam,
Mam kolejny problem z programem, który w zasadzie przepisałem z kursu na YT. Zawiera on odczytywanie z pliku tekstowego, to jest taki quiz z pytaniami. Prosiłbym o pomoc w prześledzeniu, dlaczego nie działa tak, jak miał działać, jak przedstawiono na filmie. Załączę dany plik .txt, który jest też tam używany.
P. S. Wybaczcie za ewentualny brak profesjonalizmu - uczę się dopiero
Nie wiem, czy jest dobrej jakości ten kod, po prostu ciekawi mnie, dlaczego u mnie nie działa
#include <iostream>
#include <fstream>
#include <algorithm>
#include <string>
#include <cstdlib>
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()
{
string linia;
int nr_linii=1;
int nr_pytania=0;
fstream plik;
plik.open("quiz.txt", ios::in);
if (plik.good()==false)
{
cout << "Nie udało się otworzyć pliku!" << 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();
cout << "QUIZ" << endl;
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 odpowiedź to: ";
cin >> odpowiedz;
transform(odpowiedz.begin(), odpowiedz.end(), odpowiedz.begin(), ::tolower);
if (odpowiedz==poprawna[i])
{
cout << "Dobrze! Zdobywasz punkt!" << endl;
punkty++;
}
else cout << "Źle! Brak punktu! Poprawna odpowiedź to: " << poprawna[i] << endl;
}
cout << endl << "Koniec quizu! Zdobyte punkty: " << punkty << endl;
return 0;
}
quiz.txt 556bytes
4 downloads
Nie doprecyzowałem - sorry - wszystko się ładnie wyświetla - pierwsze pytanie, odpowiedzi, wpisuję swoją po zapytaniu i mimo że wpisałem "c" (bez cudzysłowu) np., to i tak pokazuje zła odpowiedź, poprawna to: c...











