Bonjour ! Je me suis mis au C++ il y a pas longtemps (ça fait une journée en fait) et j'ai eu pour projet de programmer un Quiz (ouais, pas hyper original mais ça m'entraine). Je me suis dis que pour le système de réponse, ça passerais avec "if" et "else" mais pour le moment j'arrive pas à grand chose avec ça.
Vous auriez une idée de comment améliorer mon quiz ?
La fonction se déclare en dehors du main (et avant).
Je te conseil aussi d'include <cctype> et d'utiliser sa fonction tolower([ton string ici]); afin de tout convertir en minuscule et d'éviter les erreurs du genre "paris" != "Paris".
Sinon pour écrire ton texte sur plusieurs lignes (plutôt que de faire plein de cout) tu peux faire ça :
string monTexte="Bonjour ceci est \
mon texte et les \
antislash évitent \
le retour à la ligne."
Necros je suis désoler je ne connais pas les règles du forum mais je vais faire attention.
En ce qui concerne vos réponses je vous remercie, je m'attendais pas à en avoir si rapidement. En revanche comm je l'ai déjà dis je viens tout juste de débuter en C++ donc vous avez du voir que je suis pas très doué. Je me débrouille avec ce que je trouve sur internet et le livre "C++ pour les nuls". Pour le moment je ne comprend pas grand chose à ce que vous m'expliquer mais je vais me renseigner pour tout comprendre ! Merci à vous ! :)
Je vais te donner un exemple de main pour ton quizz :
#include <iostream>
#include <string>
#include <vector>
bool question(const std::string& ask, const std::string& ans){
std::cout<<ask<<std::endl;
std::string reponse;
std::cin>>reponse;
return (reponse==ans);
}
int main(){
std::cout<<"Bienvenue dans ce quizz.\n\n";
int score(-1);
int i(0);
/** rentre tes question/réponses ici */
std::vector<std::string> q;
std::vector<std::string> r;
q.push_back("La capitale de Paris ?");
r.push_back("Paris");
q.push_back("La couleur du chorizo ?");
r.push_back("Rouge");
/** Fin de l'initialisation des questions */
std::cout<<"Début du quizz !\n\n";
do{
score++;
std::cout<<"Question "<<i+1<<" :\n\n";
}while(i<q.size() && question(q[i],r[i]));
std::cout<<"Tu as fini avec un score de "<<score<<" !\n";
return 0;
}
Si tu ne comprends pas un élément, hésite pas à demander. J'ai essayé de faire simple et de ne pas taper dans des librairy que tu ne connais pas, ni utiliser des structures/classes, mais si tu veux une version avec, demande moi.
PS : Le code n'a pas été testé/compilé, mais devrais marcher.
Vire le system("PAUSE") .. pas portable .. tu peux remplacer par : std::cin.get();
Programmation d'un Quiz : if & else ?
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Architecte logiciel - Software craftsmanship convaincu.
Architecte logiciel - Software craftsmanship convaincu.