Zacząłem przerabiać sobie obiektówke u Pana Zelenta no i chciałem zobaczyć czy napisze coś takiego jak w pierwszym albo drugim odcinku tyle żeby mi zliczało wszystkie punkty na koniec quizu. Niby sprawdzenie pytania działa ale do zmiennej w klasie która przechowuje informacje czy padła poprawna odpowiedź czy nie wpisuje się jakaś liczba z kosmosu np -858993460 albo -1717986920 a powinna zostać zmieniona na 1 albo powinnoa zostać na 0. Nie rozumiem kompletnie czemu wyskakują mi takie liczby.
To jest metoda na wczytanie informacji o pytaniu z pliku :
void Pytanie::wczytaj()
{
fstream plik;
plik.open("quiz.txt", ios::in);
if (plik.good() == false)
{
cout << "Blad wczytywania pliku quiz.txt :C " << endl;
plik.close();
system("pause");
exit(0);
}
int nr_lini = (nr_pytania - 1) * 6 + 1;
int aktualny_nr = 1;
string linia;
while (getline(plik, linia))
{
if (aktualny_nr == nr_lini) tresc = linia;
if (aktualny_nr == nr_lini+1) a = linia;
if (aktualny_nr == nr_lini+2) b = linia;
if (aktualny_nr == nr_lini+3) c = linia;
if (aktualny_nr == nr_lini+4) d = linia;
if (aktualny_nr == nr_lini+5) poprawna = linia;
aktualny_nr++;
}
plik.close();
}
Sprawdzenie :
void Pytanie::sprawdz()
{
if (odpowiedz == "A") odpowiedz = "a";
if (odpowiedz == "B") odpowiedz = "b";
if (odpowiedz == "C") odpowiedz = "c";
if (odpowiedz == "D") odpowiedz = "d";
if (poprawna == odpowiedz) punkty = 1;
}
A tu main :
int main()
{
Pytanie p[5];
int wszystkie_punkty = 0;
for (int i = 1; i < 5; i++)
{
p[i-1].nr_pytania = i+1;
p[i-1].wczytaj();
p[i-1].zadaj_pytanie();
p[i-1].sprawdz();
wszystkie_punkty += p[i-1].punkty;
}
system("cls");
cout << "Zebrane punkty : " << wszystkie_punkty << endl;
system("pause");
return 0;
}
Męcze się z tym od wtorku i dalej nie rozumiem dlatego proszę tu o pomoc.