Quiz pisany obiektowo się wysypuje
Ostatnio zmodyfikowano 2015-05-09 20:59
BadBullPL Temat założony przez niniejszego użytkownika |
Quiz pisany obiektowo się wysypuje » 2015-05-08 18:09:15 A więc po przerobieniu kursu C++ podstawowego postanowiłem nauczyć się podejścia obiektowego. Niestety kurs na tej stronie o programowaniu obiektowym był tak napisany że bardzo mało zrozumiałem. Postanowiłem poszukać innego. na YT trafiłem na kurs pana Mirosława Zelenta. Za jego przykładem postanowiłem napisać quiz. Oto kod pliku main.cpp : #include <iostream> #include "klasa.h" using namespace std;
int main() { cout << "Quiz\n"; cout << "=======================\n"; Quiz p[ 14 ]; int punkciory; for( int i = 0; i <= 14; i++ ) { p[ i ].nr_pytania = i + 1; p[ i ].wczytajPytanie(); p[ i ].wyswietlPytanie(); p[ i ].sprawdzOdp(); punkciory += p[ i ].punkty; } cout << "KONIEC QUIZU! PUNKTY = " << punkciory; return 0; }
kod pliku klasa.h : #include <iostream>
using namespace std; class Quiz { public: string pytanie; string a, b, c; string odpgood; string odpuser; int punkty; int nr_pytania; void wczytajPytanie(); void wyswietlPytanie(); void sprawdzOdp(); };
kod pliku klasa.cpp : #include <iostream> #include "klasa.h" #include <fstream> #include <cstdlib> using namespace std;
void Quiz::wczytajPytanie() { ifstream plik; plik.open( "quizpytania.txt", ios::in ); if( !plik.good() ) { exit( 0 ); } int nr_lini =( nr_pytania - 1 ) * 5 + 1; int aktualny_nr = 1; string linia; while( getline( plik, linia ) ) { if( aktualny_nr == nr_lini ) pytanie = 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 ) odpgood = linia; aktualny_nr++; } plik.close(); }
void Quiz::wyswietlPytanie() { cout << pytanie << endl; cout << a << endl; cout << b << endl; cout << c << endl; cout << "=======================\n"; cout << "Wprowadz odpowiedz: "; cin >> odpuser; cout << endl; }
void Quiz::sprawdzOdp() { if( odpuser == odpgood ) punkty = 1; else punkty = 0; }
I teraz gdy program po zakończeniu quizu ma wypisać liczbę punktów wyskakuje okienko że aplikacja została zamknięta Proszę o pomoc. |
|
notabigthreat |
» 2015-05-08 18:15:14 Co się dzieje, kiedy po wypisaniu próbujesz jeszcze coś wczytać (tuż przed return 0; )? |
|
BadBullPL Temat założony przez niniejszego użytkownika |
» 2015-05-08 18:18:38 Program czeka ok. 2 sekundy i wtedy się wysypuje |
|
notabigthreat |
» 2015-05-08 18:25:16 A jak wygląda plik z pytaniami? @EDIT: Najlepiej podeślij treść. |
|
BadBullPL Temat założony przez niniejszego użytkownika |
» 2015-05-08 18:29:29 1. jaki komponent jest mózgiem komputera? a)karta graficzna b)pamięć RAM c)procesor c 2.Do czego służy karta graficzna? a)do odtwarzania dwięku b)do połšczenia komputera z internetem c)do wywietlania grafiki 2d i 3d c 3)Co jest potrzebne aby komputer odtworzył płytę cd-rom? a)stacja dyskietek b)pendrive c)napęd optyczny c 4.Do czego potrzebny nam zasilacz komputerowy? a)do dostarczeniu pršdu do komputera b)do nagrywania płyt c)obie odpowiedzi sš poprawne a 5.do czego potrzebujemy karty dwiękowej? a)do odtwarzania dwięku b)do połšczenia komputera z internetem c)obie odpowiedzi sš poprawne a 6.czego potrzebujemy aby sprawnie obsługiwać komputer a)mysz i klawiatura b)latarki c)obie odpowiedzi sa poprawne a 7. Do jakiego złšcza zintegrowanego w płycie głównej podłšczymy kabel sieciowy? a)USB b)RJ-45 c)mini-jack b 8.Do czego potrzebny nam dysk twardy? a)do przechowywania danych użytkownika i systemu operacyjnego b)do odtwarzania dyskietek c)do niczego a 9.Czym możemy się połšczyć z sieciš WiFi? a)karta dwiękowa b)karta bezprzewodowej łšcznoci z internetem c)kablem LAN b 10.Co jest potrzebne do sprawnego chłodzenia procesora? a)chłodzenie ciekłym azotem b)radiator i wentylator c)obie odpowiedzi sš poprawne c 11.Co to jest RAM? a)pamięć o dostępie swobodnym(Random Access Memory) b)gniazdo mikroprocesora c)obie odpowiedzi sš błędne c 12.Jaki komponent w najnowszych komputerach zastępuje stację dyskietek? a)pendrive b)napęd optyczny c)obie odpowiedzi sš poprawne c 13.Które komponenty znacznie wpływajš na wydajnoć komputera PC? a)Procesor b)Procesor, Karta graficzna, Pamięć operacyjna, Dysk twardy c)wszystkie wymienione komponenty majš na to wpływ c 14.Czego potrzebujemy do podłšczenia 2 kart graficznych Firmy Nvidia? a)płytę głównš z 2 portami pci-express b)mostek SLI c)obie odpowiedzi sš poprawne b 15. Jaki mamy obecnie standard interfejsu kart graficznych do płyty głównej komputera klasy PC? a)AGP b)PCI c)PCI-express 3.0 x16 c
|
|
|
notabigthreat |
» 2015-05-08 18:41:06 Masz czternastoelementową tablicę i 15 pytań. Popraw to. Poza tym, punkty nie są zerowane na początku. |
|
BadBullPL Temat założony przez niniejszego użytkownika |
» 2015-05-08 18:43:41 Stała się ciekawa rzecz zauważyłem że pytań jest 15 a tablica ma 14 pozycji dodałem jedną i teraz program dalej się wysypuje ale jest teraz pod spodem coś takiego: |
|
notabigthreat |
» 2015-05-08 18:52:43 Hmm, u mnie wszystko działa po ustawieniu licznika punktów na 0 i zmianie długości tablicy na 15. Dzieje się tak, jak na obrazku za każdym razem? |
|
« 1 » 2 |