Dokończ napisany program na poprzedniej lekcji uzupełniając go o następujące elementy:
- po udzieleniu odpowiedzi na pytanie, użytkownik powinien nacisnąć Enter (Naciśnij Enter by kontynuować) i wtedy ma nastąpić przed wyświetleniem następnego pytania, wyczyszczenie ekranu
- po udzieleniu odpowiedzi na wszystkie pytania, zostanie wyświetlona informacja o zdobytych punktach ( Zdobyłeś … punktów na …. pytań)
- po zakończeniu testu należy zapisać następujące dane do pliku:
- imię
- nazwisko
- ilość pytań
- ilość zdobytych punków
Jako rozwiązanie wklej kod programu, oraz zawartość zapisanego pliku z wynikiem zapisanego testu.

kod z lekcji:
#include <iostream>
#include <fstream>
#include <cstdlib>

using namespace std;
string imie,nazwisko,tresc,A,B,C,D,poprawna,odpowiedz;
int punkty=0;
int nr_linii=1;
int nr_pytania=1;
string linia;
int main()
{
cout << "Podaj imie: "; cin imie;
cout << "Podaj nazwisko: "; cin nazwisko;
fstream q;
q.open("quiz.txt",ios::in);
if(q.good()==false)
{
cout<<"Ups!... Nie da sie otworzyc pliku" << endl;
exit(0);

}
while(getline(q,linia))
{
switch(nr_linii)
{
case 1:tresc=linia;
case 2: A=linia;
case 3: B=linia;
case 4: C=linia;
case 5: D=linia;
case 6: poprawna=linia;
}
nr_linii++;
if(nr_linii==7)
{
nr_linii=1;
cout << "-------------------------------" <<endl;
cout << "Nr pytania: " << nr_pytania << endl;
cout << "-------------------------------" <<endl;
cout << tresc <<endl;
cout << "-------------------------------" <<endl;
cout << "a. " << A << endl;
cout << "b. " << B << endl;
cout << "c. " << C << endl;
cout << "d. " << D << endl;
cout << "Twoja odpowiedz: "; cin >> odpowiedz;
if(odpowiedz == poprawna)
{
punkty++;
cout << "Odpowiedz dobra" << endl;
}
else cout << "Odpowiedz zla" << endl;
nr_pytania++;
}
}
cout << imie << " " << nazwisko << ":" << punkty << "/" << nr_pytania << endl;
return 0;
}​


Odpowiedź :

Odpowiedź:

#include <iostream>

#include <fstream>

#include <cstdlib>

using namespace std;

string imie,nazwisko,tresc,A,B,C,D,poprawna,odpowiedz;

int punkty=0;

int nr_linii=1;

int nr_pytania=1;

string linia;

int main()

{

cout << "Podaj imie: "; cin>>imie;

cout << "Podaj nazwisko: "; cin>>nazwisko;

fstream q;

q.open("quiz.txt",ios::in);

if(q.good()==false)

{

cout<<"Ups!... Nie da sie otworzyc pliku" << endl;

exit(0);

}

while(getline(q,linia))

{

switch(nr_linii)

{

case 1:tresc=linia;

   break;

case 2: A=linia;

   break;

case 3: B=linia;

   break;

case 4: C=linia;

   break;

case 5: D=linia;

   break;

case 6: poprawna=linia;

   break;

}

nr_linii++;

system("cls");

if(nr_linii==7)

{

nr_linii=1;

cout << "-------------------------------" <<endl;

cout << "Nr pytania: " << nr_pytania << endl;

cout << "-------------------------------" <<endl;

cout << tresc <<endl;

cout << "-------------------------------" <<endl;

cout << "a. " << A << endl;

cout << "b. " << B << endl;

cout << "c. " << C << endl;

cout << "d. " << D << endl;

cout << "Twoja odpowiedz: "; cin >> odpowiedz;

cout<<"nacisnij enter by kontynuowac\n";

if(odpowiedz == poprawna)

{

punkty++;

cout << "Odpowiedz dobra" << endl;

}

else cout << "Odpowiedz zla" << endl;

nr_pytania++;

}

}

cout << imie << " " << nazwisko << ": zdobyles" << punkty << "punktow na " << nr_pytania <<"pytan!"<< endl;

return 0;

}

Wyjaśnienie: