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

Quiz. Co zrobić by odczytywało więcej niż 5 pytań?

Object Storage Arubacloud
0 głosów
497 wizyt
pytanie zadane 26 kwietnia 2015 w C i C++ przez TheFunny Gaduła (3,420 p.)
Witam.

Dopiero zaczynam swoją przygodę z programowaniem i zgodnie z kolejnością lekcji programowania zająłem się wykonywaniem quiz'u, ale obrałem sobie cel - quiz ma byc obszerny (więcej niż kilka pytań). I właśnie z tym mam problem. Niby zmieniłem ilość w tablicach, ale dalej nic. Tu trochę kodu źródłowego:

#include <iostream>
#include <fstream>
#include <cstdlib>
#include <algorithm>
#include <string>
#include <stdio.h>

using namespace std;

string temat, imie;
string tresc[10];
string odpA[10], odpB[10], odpC[10], odpD[10];
string prawdziwe[10];
string odp;
string y;
int score=0;
int ocena;

int main()
{
    int nr_linii=1;
    string linia;
    int nr_pytania=0;

    fstream file;
    file.open("quiz.txt", ios::in);

 

   if (file.good()==false)
    {
        cout<<"Nie istnieje taki plik";
        exit(0);
    }

    cout<<"Quiz Informatyczny"<<endl<<endl;

 

    while(getline(file,linia))
    {
        switch(nr_linii)
        {
            case 1: temat=linia;                     break;
            case 2: imie=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: odpD[nr_pytania]=linia;          break;
            case 8: prawdziwe[nr_pytania]=linia;     break;
        }

        if (nr_linii==8){nr_linii=2; nr_pytania++;}
        nr_linii++;
    }

 

    file.close();

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

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

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

        if(odp==prawdziwe[i])
        {
            cout<<"Dobrze! Zdobywasz punkt!"<<endl;
            score++;

        }

        else
        cout<<"Zla odpowiedz! Poprawna odpowiedz: "<<prawdziwe[i]<<endl;

        }
        cout<<endl<<"Koniec Quizu."<<endl<<"Ilosc puntktow: "<<score<<endl;

        ocena=score/2;

        cout<<"Twoja ocena: "<<ocena<<endl;

        cout<<"Wykonal: Kacper Kluczny"<<endl<<endl;

        getchar();getchar();

 

    return 0;
}

Mam gotowy plik txt (10 pytań z informatyki) , wszystko wykonane zgodnie z instrukcjami.

PS: Proszę się nie naśmiewać z zawiłości w kodzie lub innych mankamentów, ponieważ tak jak napisałem wcześniej dopiero zaczynam ;D

Z góry dziękuje !!!

1 odpowiedź

+2 głosów
odpowiedź 26 kwietnia 2015 przez Radfler VIP (101,030 p.)
wybrane 26 kwietnia 2015 przez TheFunny
 
Najlepsza

Pętla musi wykonać się 10 razy, a ty wykonujesz ją tylko 5 :)

for(int i=0; i<10; i++) // Prawidłowa pętla

 

komentarz 26 kwietnia 2015 przez TheFunny Gaduła (3,420 p.)
Dzięki wielki ;D

Podobne pytania

0 głosów
2 odpowiedzi 231 wizyt
pytanie zadane 15 października 2019 w Inne języki przez LubieNalesniki Użytkownik (610 p.)
0 głosów
3 odpowiedzi 442 wizyt
pytanie zadane 16 sierpnia 2019 w Sprawy forum przez niezalogowany
0 głosów
1 odpowiedź 289 wizyt
pytanie zadane 6 września 2017 w C i C++ przez rocknroll111 Nowicjusz (140 p.)

92,579 zapytań

141,432 odpowiedzi

319,663 komentarzy

61,964 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!

...