Bonjour je fais un exercice ou il faut calculer la moyenne des deux notes maximums parmi 3 saisies au clavier. J'essaye de faire des validations de saisie. Il est interdit dans les consignes d'utiliser les tableaux. Pourriez-vous me dire comment améliorer mon code ? Est-il problématique que je ne vide pas le buffer après chaque saisie, vu que je faisdes validations ? Merci !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 #include <stdio.h> int main () { double note1,note2,note3,minimum,moyenne; int ok; char c; printf("Saisir la premiere note : "); ok=scanf("%lf",¬e1); if(getchar()!='\n') c=getchar(); if(ok==1 && c==0 && note1>=0 && note1<=20) { ok=0; printf("Saisir la deuxieme note : "); ok=scanf("%lf",¬e2); if(getchar()!='\n') c=getchar(); if(ok==1 && c==0 && note2>=0 && note2<=20) { ok=0; printf("Saisir la troisieme note : "); ok=scanf("%lf",¬e3); if(getchar()!='\n') c=getchar(); if(ok==1 && c==0 && note2>=0 && note2<=20) { if(note1==note2 && note1==note3) moyenne=note1; else if (note1<=note2) if (note1<=note3) moyenne=(note2+note3)/2; else moyenne=(note1+note2)/2; else if (note2<=note3) if (note2<=note1) moyenne=(note1+note3)/2; else moyenne=(note2+note3)/2; else if (note3<=note1) if (note3<=note2) moyenne=(note1+note2)/2; else moyenne=(note1+note3)/2; printf("La moyenne des deux meilleures notes est %lf\n",moyenne); } else if(ok!=1 ||c!=0) printf("Le valeur saisie n'est pas un nombre."); else if(note1<0 || note1>20) printf("La note saisie n'est pas entre 0 et 20"); } else if(ok!=1 ||c!=0) printf("Le valeur saisie n'est pas un nombre."); else if(note1<0 || note1>20) printf("La note saisie n'est pas entre 0 et 20"); } else if(ok!=1 ||c!=0) printf("Le valeur saisie n'est pas un nombre."); else if(note1<0 || note1>20) printf("La note saisie n'est pas entre 0 et 20"); /* printf("Saisir la troisieme note : "); ok=scanf("%lf",¬e3); while(getchar()!='\n'); if(note1<note2 && note1<note3) minimum=note1; else if (note2<note1 && note2<note3) minimum=note2; else if (note2==note3 &&) minimum=note3; printf("le minimum est %lf\n",minimum); if(note1!=minimum && note2!=minimum) { printf("Les maximums sont note1 et note2\n"); moyenne=(note1+note2)/2; } else if (note2!=minimum && note3!=minimum) { printf("Les maximums sont note2 et note3\n"); moyenne=(note2+note3)/2; } else moyenne=(note1+note3)/2; }*/ return 0; }
Partager