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 !!!