Witam :) Jestem na etapie odcinka 7 z programowania w c++ o zapisie i odczycie z pliku źródłowego. Wykonalam włsny quiz na wzór podanego, ale chciałam go troche udoskonalić. Chodzi o automatyczny wybór odpowiedzi (A,B,C lub D) bez konieczności naciśnięcia entera. Próbowałam to zrobić funkcją getch(), niestety nie potrafię tego wykonać odpowednio.
Narazie wygląda to tak, oczywiscie z funkcją getch() tu raczej mocno poknociłam, ale po prostu nie wiem jak użyć jej w takiej sytuacji ;)
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <algorithm>
#include <string>
#include <stdio.h>
#include <conio.h>
using namespace std;
int main(){
string temat, pyt[6], odpA[6], odpB[6], odpC[6], odpD[6], linia;
char poprawna[6];
char wybor;
int nrLinii=1;
int nrPyt = 0;
int punkty = 0;
string nick;
fstream plik;
plik.open("G://c++//test//test.txt", ios::in);
if(plik.good()==false)
{ cout<<"Blad programu"<<endl;
exit(0);
}
while (getline(plik, linia))
{
switch (nrLinii)
{
case 1: temat=linia; break;
case 2: pyt[nrPyt]=linia; break;
case 3: odpA[nrPyt]= linia; break;
case 4: odpB[nrPyt]= linia; break;
case 5: odpC[nrPyt]=linia; break;
case 6: odpD[nrPyt]= linia; break;
case 7: poprawna[nrPyt]=linia; break;
}
if(nrLinii==7)
{
nrLinii=1;
nrPyt++;
}
nrLinii++;
}
cout<< "Witaj w krotkim quizie. Masz przed soba 6 pytan. Powodzenia !" << endl << "Podaj swoj nick: "<<endl;
cin>> nick;
system("cls");
for(int i=0; i<=5; i++)
{
cout<<endl;
cout<< i+1 << " pytanie: "<<pyt[i]<<endl;
cout<< "A. "<< odpA[i]<<endl;
cout<< "B. "<< odpB[i]<<endl;
cout<< "C. "<< odpC[i]<<endl;
cout<< "D. "<< odpD[i]<<endl;
cout<<endl;
wybor=getch();
if(wybor==poprawna[i])
{
cout<<"Brawo! Zdobywasz punkt !"<<endl;
punkty++;
}
else
cout<<"Niestety zle! :( Poprawna odpowiedz to: "<< poprawna[i]<<endl;
getchar();getchar();
system("cls");
}
cout<<endl;
cout<<nick<<", gratulacje! Ukonczyles/as quiz! :) Ilosc zdobytych punktow: "<< punkty<<endl;
plik.close();
return 0;
}