Witam!
Jestem totalnie nowy w C++ i chciałem tak dla własnej satysfakcji stworzyć sobie quiz, niestety wysypuje się na drugim pytaniu. Kod źródłowy quizu:
#include <iostream>
#include <conio.h>
#include <algorithm>
#include <string>
#include <cstdlib>
#include <string>
using namespace std;
int punkty = 0, i;
string baza();
string pytanie();
string wybor();
string koniec();
string pyt[40], odp[40], odpowiedz;
char t, przycisk, dowolny;
int main()
{
baza();
// QUIZ //
cout << "Wybierz temat:" << endl;
cout << "1. Sport" << endl;
cout << "2. Religie" << endl;
cout << "3. Nauki scisle" << endl;
cout << "4. Historia Polski XIX i XX wieku" << endl << endl;
cout << "Aby wybrac temat, wpisz numer jemu odpowiadajacy: "; t = getch();
wybor();
return 0;
}
// FUNCKJE
string baza() // BAZA PYTAŃ I ODPOWIEDZI
string pytanie()
{
system("cls");
cout << pyt[i] << endl << "Wpisz odpowiedz: "; cin >> odpowiedz;
if(odpowiedz == odp[i]) {punkty++;}
else {cout << "Poprawna odpowiedz: " << odp[i];}
transform(odpowiedz.begin(), odpowiedz.end(), odpowiedz.begin(), ::toupper); if(odpowiedz == odp[i]) {punkty++;} else{}
system("cls");
}
string wybor()
{
if(t == '1') {for(int i = 0; i < 10; i++) {pytanie();}}
if(t == '2') {for(int i = 10; i < 20; i++) {pytanie();}}
if(t == '3') {for(int i = 20; i < 30; i++) {pytanie();}}
if(t == '4') {for(int i = 30; i < 40; i++) {pytanie();}}
}
Podejrzewam, że program się wysypuje z powodu tej ostatniej funkcji, ale nie wiem, jak to zmienić. Prosiłbym o podpowiedź lub o jedną linię kodu (chociaż sam wolałbym do tego dojść), która nakieruje mnie na rozwiązanie.