• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Problem z programem z użyciem klas

Object Storage Arubacloud
0 głosów
122 wizyt
pytanie zadane 23 lutego 2017 w C i C++ przez Nightmare43 Użytkownik (630 p.)
edycja 23 lutego 2017 przez Nightmare43

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.
 

1 odpowiedź

+1 głos
odpowiedź 23 lutego 2017 przez niezalogowany
wybrane 23 lutego 2017 przez Nightmare43
 
Najlepsza
Czy przy sprawdzeniu nie powinno być przypadku gdy odpowiedz jest błędna i nadania zmiennej punkty zera (jeżeli wcześniej tego nie zrobiłeś w konstruktorze)?
komentarz 23 lutego 2017 przez Nightmare43 Użytkownik (630 p.)
Well myślałem że kiedy nie przypisze się intowi wartości to domyślnie ma w sobie wartość 0. Problem niby banalny a męczyłem się z tym dwa dni. Dziękuję :D

Podobne pytania

0 głosów
1 odpowiedź 384 wizyt
pytanie zadane 21 czerwca 2018 w C i C++ przez Sic Dyskutant (8,510 p.)
0 głosów
1 odpowiedź 612 wizyt
0 głosów
1 odpowiedź 271 wizyt
pytanie zadane 9 listopada 2018 w C i C++ przez Daaa22 Dyskutant (8,250 p.)

92,539 zapytań

141,382 odpowiedzi

319,481 komentarzy

61,928 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...