Test qui donne un résultat en points

Fermé
Thia - 22 janv. 2012 à 18:05
Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 - 23 janv. 2012 à 19:52
Bonjour,

Alors voilà, j'aimerai créer un test en langage C++.
Je m'explique, j'ai 30 questions auxquelles je peux répondre par oui ou non. Chaque oui vaut 1point, chaque non = 0 point.

j'aimerai que les questions apparaissent au fur et a mesure que l'on donne des réponses.et calculer à la fin le score final.

J'avais pensé faire des boucles while ou for mais je suis nouvelle en programmation et je ne sais vraiment pas par où commencer.

Merci de votre aide.

A voir également:

4 réponses

Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 660
22 janv. 2012 à 18:58
il te faudrait un tableau qui va stocker les questions, et un autre tableau qui va stoquer les réponses.

le tableau de questions sera certainement un tableau de chaine de caractères, que tu rempliras au tout début du programme, et le tableau de réponse pourrait être un tableau d'entiers (avec 1 si la réponse est oui, et 0 si la bonne réponse est non par exemple)


Ensuite tu vas faire une boucle, une boucle "for" je pense car tu as un nombre fixe de questions à poser. Dans cette boucle tu posera la question, tu vérifies si l'utilisateur a entré la bonne réponse. si oui, tu ajoutes un point, sinon tu ne lui donne pas de point.

Tu auras donc aussi une variable "NombreDePoints", de type entier, initialisée à zéro au début de ton programme.


Essaye d'abord de faire ton programme avec 5 questions / réponses, pour le tester, ensuite, une fois que tout marchera bien, ce sera facile d'ajouter des questions.
0
ok ! merci beaucoup pour ta réponse. Mais une autre question me vient, les boucles je les connais, mais les tableaux je ne voit pas. Pourrais m'en dire plus ?
0
Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 660
Modifié par Pacorabanix le 22/01/2012 à 20:36
oui, les tableaux sont en fait "beaucoup de variables" de même type, colées les unes aux autres avec un nom qui se ressemble.

Ex :

pour un nombre entier, le type est "int".

une variable entière se déclare comme ceci :

int variable; 
variable = 23; 
printf("La variable vaut %d.\n", variable); 


un tableau c'est comme ça:

int variable[30]; // un tableau de 30 variables int 
variable[0] = 12; 
variable[1] = 13; 
variable[2] = 34; 
... 
variable[29] = 76; 

for (int i = 0; i<30; i++) { 
     printf("La valeur numéro %d dans le tableau est %d.\n", i, variable[i]); 
} 

 


Remarque :
j'ai utilisé du "C" est non du "C++". fait les affichages avec "cout << ...." au lieu de "printf(...)" pour ton prorgamme en c++.


n'importe quel cours / tutoriel de programmation sur le c / c++ t'expliquera en long, en large et en travers comment utiliser des tableaux.
0
merci bcp pour ta réponse ! alors j'en suis venu à ca :

#include <iostream>
using namespace std;

int main()
{
cout << "Bonjour merci de répondre à ce questionnaire" << endl;
char *Question [30];
Question= ["Q1","Q2","Q3","Q4","Q5","Q6","Q7","Q8","Q9","Q10","Q11","Q12","Q13","Q14","Q15","Q16","Q17","Q18","Q19","Q20","Q21","Q22","Q23","Q24","Q25","Q26","Q27","Q28","Q29","Q30"];
int compte(0);
int i;
int reponse(-1);
for (i=1,i<=2, i++)
{

cout << Question[i] << endl;

while (reponse!=1&&reponse!=0)
{
cout << Question[i] << endl;
cin >> reponse;
cout << "Merci d'indiquer une reponse correcte. Vous avez marqué" << reponse << endl;
}

cout << "Merci d'avoir indiqué une réponse correcte."<< endl;
compte=compte+reponse;

}

cout << "Vous avez"<< compte << "points" endl;

return 0;
}


jai fais ça, qu'est ce que vous en pensez?
0
Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 660
Modifié par Pacorabanix le 23/01/2012 à 19:52
le problème c'est qu'il faudrait que le programme connaisse les réponses (stoquées dans un tableau Reponses[30] par exemple)
et ainsi tu pourrais vérifier si la réponse est juste.

dans ta boucle for, après que l'utilisateur ait rentrer un 1 ou un 0, tu vérifies dans un "if{...}" si la réponse est juste, si oui tu ajoutes le point, si non tu n'ajoutes rien.
0