Frage von leoquestiongoon, 58

C++ Was soll ich tun Einfaches Quiz?

Ein C++ Programm soll nach und nach 10 Quizfragen ausgeben. Wie soll ich dafür meinen Code aufbauen. Bisher habe ich

int main() { std::cout << "Willkommen, Sie bekommen jetzt 10 Quizfragen gestellt";

}

Das Ausgaben der Quizrfragen soll dann so funktionieren. Die Frage wird dem Spieler gezeigt. Danach die Antwortmöglichkeiten. Danach gibt der Spieler seine Antwort ein und das Programm schaut ob sie richtig ist. Allerdings möchte ich das nicht in die Main Klammer schreiben, der Übersicht halber. Wie mache ich das mit einer ausgelagerten Funktion für jede einzelne Quizfrageß

Ich vermute, ich muss void benutzen?

Antwort
von niggo123999, 34

Also ich habe jetzt keine Zeit einen Code zu schreiben, aber wenn man es selber schreibt dann lernt man es sowieso am besten ^^

Also ich würde deine 10 Fragen in ein Array tun. Also z.B. 

string Questions[10] = {"Frage 1", "Frage 2"....}

und dann mit einer For-Schleife die sachen ausgeben.

for(int i = 0;i<=9;i++){
cout<<Questions[i]<<endl;
}

So müssten die Fragen ausgegeben werden, dann halt noch in der For schleife die Eingabe vom User abfragen und mit einer If bedingung gucken ob die Lösung stimmt, die antworten kannst du auch in ein Array machen und die dann genau so vergleichen. Wenn du Probleme hast kann ich dir gerne nachher helfen

PS: Du musst damit du string benutzen kannst die header Datei string einbinden. Also 

#include <string>

LG

Kommentar von niggo123999 ,

Naja gut, ich habe mir jetzt die Zeit genommen ein kleines Script zu schreiben, aber ich habe nichts ausgelager, fand ich unnötig ^^

Hier mein Lösungs-Ansatz:

#include <iostream>
#include <string>

using namespace std;

int main(){
 int i, j = 0;
 string userAnswer;

string questions[3] = {
"Frage 1: Was ist 2+2?",
"Frage 2: Was ist 2x2?",
"Frage 3: Was ist 6-4"
};
string answers[3] = {
"A: 4, B: 8, C: 66",
"A: 8, B: 4, C: 99",
"A: 2, B: 6, C: -2"
}; string solutions[3] = {
"A",
"B",
"A"
}; }
Kommentar von niggo123999 ,

Sry, habe gefailed. Hier nochmal alles:

Hier mein Lösungs-Ansatz:

#include <iostream>
#include <string> //Wird gebraucht für string Datentyp

using namespace std;

int main(){
int i, j = 0;//i ist die Variable zum hochzählen, j die Variable um die Punkte zu zählen
string userAnswer; //Hier werden die Benutzer Antworten gespeichert
string questions[3] = { //Hier sind die Fragen
"Frage 1: Was ist 2+2?",
"Frage 2: Was ist 2x2?",
"Frage 3: Was ist 6-4"
};

string answers[3] = { //Die Antwortmöglichkeiten zu den Fragen
"A: 4, B: 8, C: 66",
"A: 8, B: 4, C: 99",
"A: 2, B: 6, C: -2"
};

string solutions[3] = { //Die Lösung für die Fragen
"A",
"B",
"A"
};

for(i = 0; i<=2;i++){ //For Schleife um die Fragen auszugeben
cout<<questions[i]<<endl;//Fragen werden ausgegeben
cout<<answers[i]<<endl;//Antwortmöglichkeiten werden ausgegeben

cout<<"Bitte geben Sie eine Antwort ein:"<<endl;
cin>>userAnswer; //Antwort wird gespeichert

if(userAnswer == solutions[i]){//Überprüfung ob die Antwort korrekt ist, indem die Eingabe mit dem Wert des Arrays verglichen wird
cout<<"Richtig!"<<endl;
j++;//Punkte werden gezählt
}else{
cout<<"Falsch!"<<endl;
cout<<"Richtige Loesung: "<<solutions[i]<<endl;
}
cout<<endl;
}
cout<<"Du hast "<<j<<" von 3 Fragen richtig!"<<endl;

return 0
}

Es wurde alles in CodeBlocks geschrieben falls es dich Interessiert ^^

Keine passende Antwort gefunden?

Fragen Sie die Community