Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Program się crashuje po osiągnięciu 9 pytań


Rekomendowane odpowiedzi

Opublikowano

Co w tym kodzie jest nie tak ? Chodzi mi o to, że gdy robię więcej pytań niż 9 to program się crashuje !!

#include <iostream>
#include <fstream>
#include <cstdlib>
#include <algorithm>
#include <string>

using namespace std;

string temat,nick;
string tresc[10];
string odpA[10], odpB[10], odpC[10];
string poprawna[10];
string odpowiedz;
int punkty = 0;

int nr_linii=1;
string linia;
int nr_pytania=0;

int main()
{
    fstream plik;
    plik.open("quiz.txt", ios::in);

    if (plik.good()==false)
    {
        cout<<"Nie ma takiego pliku!";
        exit(0);
    }
        else
        {
            cout<<"Witaj w quizie o grafice komputerowej!"<<endl;
            cout<<"Kliknij 'ENTER', aby kontynuowac!";
            getchar();
        }
    while(getline(plik,linia))
    {
        switch(nr_linii)
        {
            case 1: temat=linia;                    break;
            case 2: nick=linia;                     break;
            case 3: tresc[nr_pytania] = linia;      break;
            case 4: odpA[nr_pytania] = linia;       break;
            case 5: odpB[nr_pytania] = linia;       break;
            case 6: odpC[nr_pytania] = linia;       break;
            case 7: poprawna[nr_pytania] = linia;   break;
        }

        if (nr_linii==7) {nr_linii=2; nr_pytania++;}
        nr_linii++;
   }
    plik.close();

    for(int i=0; i<10; i++)
    {
        cout<<endl<<tresc[i]<<endl;
        cout<<"A. "<<odpA[i]<<endl;
        cout<<"B. "<<odpB[i]<<endl;
        cout<<"C. "<<odpC[i]<<endl;

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

        transform(odpowiedz.begin(),odpowiedz.end(),odpowiedz.begin(),::tolower);

        if (odpowiedz==poprawna[i])
        {
            cout<<"Dobrze! Zdobywasz punkt!"<<endl;
            punkty++;
        }
        else cout<<"Zle! Brak punktu! Poprawna odpowiedz to: "<<poprawna[i]<<endl;

    }
    cout<<endl<<"Koniec quizu! Zdobyte punkty: "<<punkty;
    cout<<endl;
    cout<<endl<<"Quiz wykonal Wiktor Banach!"<<endl;
    getchar();getchar();
}

Opublikowano

Temat do zamknięcia! Problem rozwiązany ! Musiałem zwiększyć liczbę "miejsc" w zmiennych z :

string temat,nick;
string tresc[10];
string odpA[10], odpB[10], odpC[10];
string poprawna[10];
string odpowiedz;
int punkty = 0;

NA

string temat,nick;
string tresc[11];
string odpA[11], odpB[11], odpC[11];
string poprawna[11];
string odpowiedz;
int punkty = 0;

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...