Witam, zrobiłem quiz a'la ten z odcinka 7 kursu c++ o plikach tekstowych.
Gdzieś coś musiałem przeoczyć, ponieważ nie widać tekstu z pliku.
Tutaj kodzik:
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <windows.h>
#include <algorithm>
#include <string>
using namespace std;
string topic, author;
string question[5], anA[5], anB[5], anC[5], anD[5];
string correct[5];
string answer;
int points=0;
int main()
{
int line_nr=1,que_nr=0;
string line;
fstream file;
file.open("quiz.txt", ios::in);
if (file.good()==FALSE)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),4);
cout<< "Nie mozna odczytac pliku";
exit(0);
}
while (getline(file,line))
{
switch(line_nr)
{
line_nr++;
case 1:topic=line;break;
case 2:author=line;break;
case 3:question[que_nr]=line;break;
case 4:anA[que_nr]=line;break;
case 5:anB[que_nr]=line;break;
case 6:anC[que_nr]=line;break;
case 7:anD[que_nr]=line;break;
case 8:correct[que_nr]=line;break;
if(line_nr=8)
{
line_nr=2; que_nr++;
}
}
}
file.close();
file.clear();
for (int i=0;i<=4;i++)
{
cout<< question[i] <<endl<< "A: " << anA[i] <<endl<< "B: " << anB[i] <<endl<< "C: " << anC[i] <<endl<< "D: " << anD[i]
<<endl<< "Twoja odpowiedz: " << answer;
transform(answer.begin(),answer.end(),answer.begin(), ::tolower);
if (answer==correct[i]) {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),10);
cout<< endl << "Prawidlowo.";
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),15);
points++;
} else {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),4);
cout<< "Blad! Poprawna odpowiedz to " << correct[i] <<endl;}
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),15);
}
cout<< endl << "The end. Zdobyte punkty: " << points;
return 0;
}
A tutaj- jak powinno to prawidłowo wyglądać:
https://youtu.be/h2Taf16gQDI?t=20m40s
Będę wdzięczny za pomoc w poprawnym działaniu programu.
Pozdrawiam.