Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Quiz pisany obiektowo się wysypuje

Ostatnio zmodyfikowano 2015-05-09 20:59
Autor Wiadomość
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 :
C/C++
#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 :
C/C++
#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 :
C/C++
#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.
P-131889
notabigthreat
» 2015-05-08 18:15:14
Co się dzieje, kiedy po wypisaniu próbujesz jeszcze coś wczytać (tuż przed
return 0;
)?
P-131890
BadBullPL
Temat założony przez niniejszego użytkownika
» 2015-05-08 18:18:38
Program czeka ok. 2 sekundy i wtedy się wysypuje
P-131891
notabigthreat
» 2015-05-08 18:25:16
A jak wygląda plik z pytaniami?
@EDIT: Najlepiej podeślij treść.
P-131892
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 dŸwięku
b)do połšczenia komputera z internetem
c)do wyœwietlania 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 dŸwiękowej?
a)do odtwarzania dŸwię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 dŸwiękowa
b)karta bezprzewodowej łšcznoœci 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
P-131893
notabigthreat
» 2015-05-08 18:41:06
Masz czternastoelementową tablicę i 15 pytań. Popraw to. Poza tym, punkty nie są zerowane na początku.
P-131894
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:
Zdjęcie
Zdjęcie
P-131895
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?
P-131896
« 1 » 2
  Strona 1 z 2 Następna strona