/*---------------------------------- */ /*----- moy1.c --------------------- */ /*---------------------------------- */ #include int main(void) { int chim,phys,math,info,somme; double moyenne; /*entrée des données*/ printf("Donnez la note de Chimie\n"); scanf("%d",&chim); printf("Donnez la note de Physique\n"); scanf("%d",&phys); printf("Donnez la note de Maths\n"); scanf("%d",&math); printf("Donnez la note d'Informatique\n"); scanf("%d",&info); if ((chim>=0) && (chim<=20) && (phys>=0) && (phys<=20) && (math>=0) && (math<=20) && (info>=0) && (info<=20) ) { somme = chim + phys + math + info; moyenne = ((double) somme) / 4.0; printf("La moyenne est : %f \n",moyenne); } else { printf("INCORRECT\n"); }; return 0; } /*---------------------------------- */ /*----- moy2.c exos 2 et 3 -------- */ /*---------------------------------- */ #include int main(void) { int chim,phys,math,info,somme; double moyenne; /*entrée des données*/ printf("Donnez la note de Chimie\n"); scanf("%d",&chim); printf("Donnez la note de Physique\n"); scanf("%d",&phys); printf("Donnez la note de Maths\n"); scanf("%d",&math); printf("Donnez la note d'Informatique\n"); scanf("%d",&info); if ((chim>=0) && (chim<=20) && (phys>=0) && (phys<=20) && (math>=0) && (math<=20) && (info>=0) && (info<=20) ) { somme = 3*chim + 4*phys + 2*math + 2*info; moyenne = ((double) somme) / 10.0; printf("La moyenne est : %f \n",moyenne); /*ajout exo3*/ if (moyenne <10) { printf("Ajourné \n"); } else { if (moyenne <12) { printf("Passable \n"); } else { if (moyenne <14) { printf("Assez bien \n"); } else { if (moyenne <16) { printf("Bien\n"); } else { printf("Très bien !\n"); } } } } /*fin ajout*/ } else { printf("INCORRECT\n"); }; return 0; } /*---------------------------------- */ /*----- moy4.c exos 4 et 5 -------- */ /*--------------------------------- */ #include; #include #include /* cette fonction ne renvoie rien, elle affiche juste la mention*/ /* c'est donc une PROCÉDURE */ void affiche_mention(int moyenne) { if (moyenne <10) { printf("Ajourné \n"); } else { if (moyenne <12) { printf("Passable \n"); } else { if (moyenne <14) { printf("Assez bien \n"); } else { if (moyenne <16) { printf("Bien\n"); } else { printf("Très bien !\n"); } } } } } int genere_note_alea(void) { int rando = rand(); return (rando % 21); } int main(void) { int somme,chim,phys,math,info; double moyenne; /*initialisation du générateur de nbs aléatoires*/ srand(time(NULL)); /*initialisation des notes*/ chim = genere_note_alea(); phys = genere_note_alea(); math = genere_note_alea(); info = genere_note_alea(); /*impression des notes*/ printf("Note de Chimie : %d\n",chim); printf("Note de Physique : %d\n",phys); printf("Note de Maths : %d \n",math); printf("Note d'Informatique : %d \n",info); /*calcul et impression de la moyenne*/ somme = 3*chim + 4*phys + 2*math + 2*info; moyenne = ((double) somme) / 10.0; printf("La moyenne est : %f \n",moyenne); /*affichage de la mention*/ affiche_mention(moyenne); return 0; } #include #include #include /* cette fonction ne renvoie rien, elle affiche juste la mention*/ /* c'est donc une PROCÉDURE */ void affiche_mention(int moyenne) { if (moyenne <10) { printf("Ajourné \n"); } else { if (moyenne <12) { printf("Passable \n"); } else { if (moyenne <14) { printf("Assez bien \n"); } else { if (moyenne <16) { printf("Bien\n"); } else { printf("Très bien !\n"); } } } } } int genere_note_alea(void) { int rando = rand(); return (rando % 21); } int main(void) { int somme1,chim1,phys1,math1,info1; double moyenne1; int somme2,chim2,phys2,math2,info2; double moyenne2; /*initialisation du générateur de nbs aléatoires*/ srand(time(NULL)); /*initialisation des notes*/ chim1 = genere_note_alea(); phys1 = genere_note_alea(); math1 = genere_note_alea(); info1 = genere_note_alea(); chim2 = genere_note_alea(); phys2 = genere_note_alea(); math2 = genere_note_alea(); info2 = genere_note_alea(); /*sommes et moyennes*/ somme1 = 3*chim1 + 4*phys1 + 2*math1 + 2*info1; moyenne1 = ((double) somme1) / 10.0; somme2 = 3*chim2 + 4*phys2 + 2*math2 + 2*info2; moyenne2 = ((double) somme2) / 10.0; if (moyenne1> moyenne2) { printf("Le meilleur élève est le numéro 1\n"); /*impression des notes et mentions*/ printf("Note de Chimie : %d\n",chim1); printf("Note de Physique : %d\n",phys1); printf("Note de Maths : %d \n",math1); printf("Note d'Informatique : %d \n",info1); printf("La moyenne est : %f \n",moyenne1); affiche_mention(moyenne1); printf("Notes du numéro 2\n"); /*impression des notes et mentions*/ printf("Note de Chimie : %d\n",chim2); printf("Note de Physique : %d\n",phys2); printf("Note de Maths : %d \n",math2); printf("Note d'Informatique : %d \n",info2); printf("La moyenne est : %f \n",moyenne2); affiche_mention(moyenne2); } else { printf("Le meilleur élève est le numéro 2\n"); /*impression des notes et mentions*/ printf("Note de Chimie : %d\n",chim2); printf("Note de Physique : %d\n",phys2); printf("Note de Maths : %d \n",math2); printf("Note d'Informatique : %d \n",info2); printf("La moyenne est : %f \n",moyenne2); affiche_mention(moyenne2); printf("Notes du numéro 1\n"); /*impression des notes et mentions*/ printf("Note de Chimie : %d\n",chim1); printf("Note de Physique : %d\n",phys1); printf("Note de Maths : %d \n",math1); printf("Note d'Informatique : %d \n",info1); printf("La moyenne est : %f \n",moyenne1); affiche_mention(moyenne1); } return 0; } /* On voit que si on voulait stocker les notes pour les 15 eleves */ /* on devrait inventer 4*15 variables, ce qui est beaucoup. */ /* On verra plus tard que les tableaux sont tout-à-fait adaptés à ce problème. */ /*---------------------------------- */ /*----- moy6.c exo 6 ----- -------- */ /*---------------------------------- */ #include #include #include /* cette fonction ne renvoie rien, elle affiche juste la mention*/ /* c'est donc une PROCÉDURE */ void affiche_mention(int moyenne) { if (moyenne <10) { printf("Ajourné \n"); } else { if (moyenne <12) { printf("Passable \n"); } else { if (moyenne <14) { printf("Assez bien \n"); } else { if (moyenne <16) { printf("Bien\n"); } else { printf("Très bien !\n"); } } } } } int genere_note_alea(void) { int rando = rand(); return (rando % 21); } double exo4(void) { int somme,chim,phys,math,info; double moyenne; /*initialisation des notes*/ chim = genere_note_alea(); phys = genere_note_alea(); math = genere_note_alea(); info = genere_note_alea(); /*impression des notes*/ printf("Note de Chimie : %d\n",chim); printf("Note de Physique : %d\n",phys); printf("Note de Maths : %d \n",math); printf("Note d'Informatique : %d \n",info); /*calcul et impression de la moyenne*/ somme = 3*chim + 4*phys + 2*math + 2*info; moyenne = ((double) somme) / 10.0; printf("La moyenne est : %f \n",moyenne); /*affichage de la mention*/ affiche_mention(moyenne); /*le résultat de la fonction est la moyenne de l'étudiant*/ return(moyenne); } int main(void) { int rep = 1; int numero = 1; double moy; double maxi = 0; /*moyenne max*/ int numerobest = 0; /*numero de la meilleure moyenne*/ /*initialisation du générateur de nbs aléatoires*/ srand(time(NULL)); while (rep==1) { /*affiche notes, et calcule moyenne*/ moy = exo4(); if (maxi < moy) { maxi = moy; numerobest = numero; }; numero = numero+1; printf("Voulez-vous continuer ? 1 pour oui, 0 pour non \n"); scanf("%d",&rep); } printf("La meilleure moyenne est %f obtenue par l'etudiant numero %d\n",maxi,numerobest); return 0;