Homework (C programming language)
Mini-Project- Managing Quiz Sessions Deadline 25/04/2024 at 23:59
English
You are asked to write a C program allowing to implement a Quiz game. The program will start by asking
the user if he wants to play a game. If the user's response is negative the program will terminate. If the
user's response is positive, the program will ask him the subjects taught in the 1st year of Computer
Science.
Once the subject has been selected, a series of questions is asked. For each of the questions, five
possible answers are proposed. The user will answer the different questions by choosing the number of
the correct answer. During the quiz process, the program saves the entire score according to the
student's profile and will then evaluate the user's response in order to inform him (them) about the
statistics of his (their) response by displaying:
- The number of correct answers per subject,
- The subject where the student must make more effort,
- The number of games played,
- The best score per subject.
It will then suggest that the user play a new game or quit the game.
Files to handle:
Player: Num, Name , frtnam, MaxiScore, NbrParties,
Playing: NumP, NumS, score
Subject: Nums, design,
Question: Numquest, designation, NumSMat, NumAnswer, degreeDifficulty (de 1 à 5)
Answerss: NumRep, Numquest,
The minimum requested work:
- Enter the player number and display the profile on screen if it is a new player register it,
- Choose the subject of the quiz among those you gave in first year (the options are displayed from the
Subject file),
- Filter the questions relating to the chosen subject in a temporary file which will serve as input for
selecting alternatives. The player will have to complete a test of 10 questions,
- Evaluated discreetly, the student continues the quiz without knowing the answer each time.
- Choose the position of the true answer using a random function. Here you can choose a table
structure of ten boxes and fill it with the possible answers while putting the correct answer in the
calculated rank (i.e. random function).
Additional work (also noted)
- The 10 questions are chosen according to the level of complexity requested by the player.
- Level 1: all questions are of the same level
- Level 2: 4 questions level 1 and 6 level 2
- Level 3: 2 level 1, 2 level 2 and 6 level 3
- Level 4: 1 level 1, 1 level 2, 2 level 3, 6 level 4,
- Level 5; 1 for levels 1,2,3, 4 and 6 questions for level 5.
- Create a file with the player's name containing player evolution statistics: average, mode, variance and
standard deviation and correlation.
- Display the students' refresh courses by group and by subject (use the statistical tools seen in your
Statistical Probability subject).
Good work
Version en Français
Écrire un programme c'est qui permet d'implémenter un jeu quiz question-réponse. Le programme
commencera par demander à l'utilisateur s'il souhaite faire une partie. Si la réponse de l'utilisateur est
négative le programme se terminera. Si la réponse de l'utilisateur est positive le programme lui posera les
matières dispensées en 1ere année Informatique.
Une fois la matière sélectionnée, une série de questions est posée. Pour chacune des questions cinq
réponses possibles sont proposées.
L'utilisateur répondra aux différentes questions en choisissant le numéro de la bonne réponse.
Le programme sauvegarde l'ensemble le score selon le profil de l'étudiant et évaluera ensuite la réponse
de l'utilisateur afin de l'informer sur des statistiques de sa réponse à travers l’affichage affiche :
- Le nombre de réponses correctes par matière,
- La matière où l’étudiant doit faire plus d’effort,
- Le nombre de parties jouées,
- Son meilleur score par matière.
Il proposera ensuite à l'utilisateur de faire une nouvelle partie ou de quitter le jeu.
Les fichiers à manipuler :
Joueur: Num, Nom , Prenom, Score maxi, nombreparties,
Jouer: NumJ, NumM, score
Matiere: NumM, design,
Questions: Numquest, designation, NumMatMat, NumRep, degreeDifficulty (de 1 à 5)
Reponses: NumRep, Numquest,
Le minimum d’actions demandées :
- Introduire le numéro de joueur et afficher sur écran le profil si c’est un nouveau joueur
l’enregistrer.
- Choisir la matière du quiz parmi celles que vous dispensiez en première année (les options sont
affichées à partir du fichier Matière)
- Filtrer les questions relatives à la matière choisie dans un fichier temporaire qui servira comme
entré de sélection des alternatives. Le joueur aura à faire épreuve de 1à questions
- Choisir par une fonction aléatoire la position d’affichage de la réponse vraie. Vous pouvez ici
choir une structure de tableau de cinq cases et le remplir avec les éventualités de réponses tout
en mettant la réponse juste dans la place calculée.
- Evaluée discrètement l’étudiant poursuit le quiz sans savoir à chaque fois la réponse.
Travail supplémentaire (noté aussi)
- Les 10 questions sont choisies selon le niveau de complexité demandé par le joueur.
- Niveau 1 : toutes les 1à questions sont du même niveau
- Niveau 2 : 4 questions niveau 1 et 6 niveau 2
- Niveau 3 : 2 niveau 1 2 niveau 2 et 6 niveau 3
- Niveau 4 : 1 niveau 1, 1 niveau 2, 2 niveau 3, 6 niveau 4,
- Niveau 5 ; 1 pour niveau 1,2,3, 4 et 6 pour niveau 5.
- Créer un fichier portant le nom du joueur contenant des statistiques d’évolution de joueur moyenne,
mode, variance et écart type et corrélation.
- Afficher les données de rattrapage par groupe et par matière des étudiants (utiliser les outils
statistiques vus au cours Probabilité statistique).
Bon travail