Witam!
Stworzyłem prosty program na quiz na angielskie słówka. W pliku tekstowym mam na przemian słowo po polsku (pytanie w quizie) i jego poprawne tłumaczenie (odpowiedź w quizie).
Problem w tym, że chcę aby quiz losował 10 słówek (wraz z odpowiednią odpowiedzią) spośród większej ilości słówek w pliku tekstowym, tak aby za każdym razem było inne 10 słówek.
Oto kod do quizu dla 10 pierwszych słówek zapisanych w pliku tekstowym:
using namespace std;
string tresc[50];
string poprawna[50];
string odpowiedz;
char wybor;
int punkty=0;
int main()
{
int nr_linii=1;
string linia;
int nr_pytania=0;
fstream plik;
plik.open("quiz.txt",ios::in);
if (plik.good()==false)
{
cout<<"Nie udalo sie odtworzyc pliku.";
exit(0);
}
while(getline(plik,linia))
{
switch(nr_linii)
{
case 1: tresc[nr_pytania] = linia; break;
case 2: poprawna[nr_pytania] = linia; break;
}
if (nr_linii==2)
{
nr_linii=0;
nr_pytania++;
}
nr_linii++;
}
plik.close();
for (int i=0; i<=9; i++)
{
cout<<endl<<tresc[i]<<endl;
cout<<"Odpowiedz: ";
cin>>odpowiedz;
if (odpowiedz==poprawna[i])
{
cout<<"Dobrze! Zdobywasz punkt!"<<endl;
punkty++;
}
else cout<<"Zla odpowiedz. Poprawna odpowiedz to "<<poprawna[i]<<endl;
}
cout<<endl<<"Koniec! Zdobyte punkty: "<<punkty<<"/5 pkt."<<endl;
}
return 0;
}