1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
| #include<stdio.h>
#include<stdlib.h> // les biblioteques interessant
#include<math.h>
#include <time.h>
main(){
int k,n,x,a,b,bonnereponse,mareponse,compteurnote;// k commence de premier operation jusqu'à n, n:le nombre d'operations. (a, b) sont des variable aléatoires. mareponse: le reponse d'utilisateur.bonnereponse:la bonne reponse.
float note;//la note est un nomre réel
printf("\nchoisir le nombre d'operation \n");
scanf("%d", &n); //n:représente le numero de l'opération à choisir
printf("\nChoisir une opération parmi les quatre opérations:\n 1) addition(+)\n 2) soustraction(-)\n 3) multiplication(*)\n 4) division(/)\n");
scanf("%d",&x); //x:représente une opération
compteurnote=0; // initialisation du compteurnote
if(x==1){ // (+)
for(k=1;k<=n;k++){
a=(aleatoire())%11;
b=aleatoire()%11;
bonnereponse=a+b;
printf("\n%d + %d = ?\n", a,b);
scanf("%d", &mareponse);
if(mareponse==bonnereponse){
printf("CORRECT\n");
compteurnote=compteurnote +1;
}
else {
printf("FAUX !! La réponse CORRECTE est %d\n",bonnereponse);
}
}
}
else if(x==2){ //(-)
for(k=1;k<=n;k++){
a=(aleatoire())%11;
b=aleatoire()%11;
bonnereponse=a-b;
printf("\n%d - %d = ?\n", a,b);
scanf("%d", &mareponse);
if(mareponse==bonnereponse){
printf("CORRECT\n");
compteurnote=compteurnote +1;
}
else {
printf("FAUX !! La réponse CORRECTE était %d\n",bonnereponse);
}
}
}
else if(x==3){ // (*)
for(k=1;k<=n;k++){
a=(aleatoire())%11;
b=aleatoire()%11;
bonnereponse=a*b;
printf("\n%d * %d = ?\n", a,b);
scanf("%d", &mareponse);
if(mareponse==bonnereponse){
printf("CORRECT\n");
compteurnote=compteurnote +1;
}
else {
printf("FAUX !! La réponse CORRECTE était %d\n",bonnereponse);
}
}
}
else if(x==4){ // (/)
for(k=1;k<=n;k++){
a=(aleatoire())%11;
b=(aleatoire()%10)+1; //le nombre b doit être différent de 0
bonnereponse=(float)a/b;
printf("\n%d / %d = ?\n", a,b);
scanf("%d", &mareponse);
if(mareponse==bonnereponse){
printf("CORRECT\n");
compteurnote=compteurnote +1;
}
else {
printf("FAUX !! La réponse CORRECTE était %d\n",bonnereponse);
}
}
}
else {
printf("\nvotre type d'opération incorrect !!!\n");
}
note=(float)compteurnote*100/(float)n; // calcule de la note sur 100
printf("\nVotre note est: %f sur 100\n\n", note);
} //ferme la fonction main()
int aleatoire (){ // une fonction qui donne un nombre aléatoire
static int first = 0;
if (first==0){
srand (time (NULL));
first=1;
}
return (rand());
} |
Partager