Ciao a tutti, sono nuovo e studio C++ da autodidatta da poco. Sto provando a fare un programmino con delle domande a cui bisonga rispondere (domande banalissime, mi servono solo per fare esperimenti). Ho fatto una classe Domande con una funzione controlloRisposta dove passa per parametro la risposta e un dato membro soluzione che con il costruttore viene inizialiata con il valore della soluzione alla domanda. Vi metto il codice perchè vorrei sapere se cosi secondo voi può andare bene come l'ho scritto. Scusate in anticipo se ho fatto cavolate! Grazie!
PS provando ad eseguirlo non capisco perchè ma la prima volta che chiede la domanda mi da subito "risposta sbagliata"... Potete aiutarmi?? Grazie in anticipo!!!
#include <iostream>
using namespace std;
#include <string>
using std::string;
using std::getline;
class Domande
{
public:
//costruttore per soluzione
Domande(string soluzioneMain)
{
soluzione = soluzioneMain;
}
bool controlloRisposta(string risposta1)
{
if(risposta1 == soluzione)
{
return true;
}
else
{
return false;
}
}
private:
string soluzione;
};
#include <iostream>
using namespace std;
#include <string>
using std::string;
using std::getline;
#include "Domande.h"
int main()
{
int cont = 0;
int uscita = 0;
int att;
int punteggio = 0;
string domanda, risposta, soluzione;
bool ritorno;
cout << "Benvenuto al gioco delle domande! Ogni risposta giusta sono 3 punti, ogni risposta errata sono "
<< "meno 3 punti. Dopo tre errori dovrai riniziare da capo! Per iniziare premi 1... ";
cin >> att;
//prima domanda
domanda = "Quante nazioni ci sono nella comunione europea? ";
soluzione = "28";
while(cont != 1 && uscita != 3)
{
cout << endl << domanda;
getline(cin, risposta);
Domande myDomanda(soluzione);
ritorno = myDomanda.controlloRisposta(risposta);
if(ritorno == true)
{
cout << "\nRisposta esatta!!! ";
cont = 1;
punteggio += 3;
cout << "\nIl tuo punteggio è di " << punteggio << " punti.";
}
else
{
cout << "\nRisposta errata!!! ";
uscita++;
punteggio -= 3;
cout << "\nIl tuo punteggio è di " << punteggio << " punti.";
if(uscita == 3)
{
cout << "\nHai sbagliato tre volte di seguito! Il gioco verrà chiuso.";
}
}
}
return 0;
}