A voir également:
- [C++]Programme de moyenne très compliqué
- Excel moyenne - Guide
- Programme demarrage windows - Guide
- Mettre en veille un programme - Guide
- Message programmé iphone - Guide
- Programme word gratuit - Guide
3 réponses
quelques remarques :
1.il fallait faire des if non imbriqués.
2.tu as oublié deux cas.
3.tu peux optimiser ton programme.
1.il fallait faire des if non imbriqués.
2.tu as oublié deux cas.
3.tu peux optimiser ton programme.
#include <iostream> using namespace std; int main() { double a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,moyenne; char input2[50]; char input3[50]; char pseudo[50]; cout << "Ce programme calcule VOS moyennes \n"; cout << "Quel est votre pseudo ?\n" ; cin >> pseudo; cout << "Salut " << pseudo <<endl; cout << "Entrez vos moyennes de :\n"; cout <<"Francais:"; cin >> a; cout<< "\nMath\x82matiques:"; cin >> b; cout << "Histoire-G\x82ographie:"; cin >> c; cout << "Physique-Chimie:", cin >> d; cout << "Passons donc aux SVT:"; cin >> g; cout << "Faites vous allemand ??? R\x82pondez par oui ou non, ok?"; char input[20]; char correct [] = "oui"; cin >> input; if (strcmp(input, correct) == 0) { cout << " d'accord, vous pouvez rentrer votre moyenne:"; cin >> e; } else { cout << "Pfff, dommage ; on continue?\n"; cout << "Entrez donc votre moyenne d'espagnol:"; cin >> f; } cout <<"Hum...EPS???:"; cin >> h; cout << "Oh, j'allais oublier le latin...\ Mais fais-tu latin ??"; cin >> input2; char correct2 [] = "oui"; if (strcmp(input2, correct2) == 0) { cout << " Mon enfant, beati pauperes spiritu:"; cin >> i; } else { cout << "Pfff, pas grave, mais tu fais surement Grec??\n"; cin >> j; } cout<< " Tadmam, c'est presque fini, il est donc de l'ISI.\n Tu en fais ??"; cin >>input3; char correct3 [] = "oui"; if (strcmp(input3, correct3) == 0) { cout << " Bien :"; cin >> k; cout << "\nPassons à la moyenne:"; } else { cout << "Peu importe, passons à la moyenne:\n"; } if ((strcmp(input, correct)) == 0 && ( strcmp(input2, correct2) == 0)&& (strcmp(input3, correct3) == 0)) { moyenne = (a+b+c+d+g+e+k+i)/8; cout << "Moyenne =" << moyenne; } if ((strcmp(input, correct)) == 0 && ( strcmp(input2, correct2) == 0)&& (strcmp(input3, correct3) == 1)) { moyenne = (a+b+c+d+g+e+i)/7; cout << "Moyenne =" << moyenne; } if ((strcmp(input, correct)) == 0 && ( strcmp(input2, correct2) == 1)&& (strcmp(input3, correct3) == 0)) { moyenne = (a+b+c+d+g+e+j+k)/8; cout << "Moyenne =" << moyenne; } if ((strcmp(input, correct)) == 0 && ( strcmp(input2, correct2) == 1)&& (strcmp(input3, correct3) == 1)) { moyenne = (a+b+c+d+g+e+j)/7; cout << "Moyenne =" << moyenne; } if ((strcmp(input, correct)) == 1 && ( strcmp(input2, correct2) == 0)&& (strcmp(input3, correct3) == 0)) { moyenne = (a+b+c+d+g+f+k+i)/8; cout << "Moyenne =" << moyenne; } if ((strcmp(input, correct)) == 1 && ( strcmp(input2, correct2) == 1)&& (strcmp(input3, correct3) == 0)) { moyenne = (a+b+c+d+g+f+k+j)/8; cout << pseudo<<"votre moyenne est: " << moyenne; } // tu as oublié ces cas !!!!!!!!!!!!!!!!!!!!! if ((strcmp(input, correct)) == 1 && ( strcmp(input2, correct2) == 0)&& (strcmp(input3, correct3) == 1)) { cout << "tu as oubli\x82 ce cas "; } if ((strcmp(input, correct)) == 1 && ( strcmp(input2, correct2) == 1)&& (strcmp(input3, correct3) == 1)) { cout << "tu as oubli\x82 ce cas "; } system ("Pause"); }
Pourquoi faire simple lorsqu'on peut faire compliqué !!! ;-)
Si 'ai bien compris (sauf le 'h' dont je ne sais ce que tu en fais), le problème est le suivant:
Le nombre de notes est 7 ou 8 et dans tous les cas et il y a 5 notes obligatoires: a, b, c, d, g.
On peut encore simplifier:
Bonne continuation.
Si 'ai bien compris (sauf le 'h' dont je ne sais ce que tu en fais), le problème est le suivant:
Le nombre de notes est 7 ou 8 et dans tous les cas et il y a 5 notes obligatoires: a, b, c, d, g.
(1 ligne ) total = a + b + c + d + g et nbreNotes = 7 (4 lignes) si 'input1' = 'oui' alors total = total + e sinon total = total + f (4 lignes) si 'input2' = 'oui' alors total = total + i sinon total = total + j (2 lignes) si 'input3' = 'oui' alors total = total + k et nbreNotes = 8 (1 ligne ) moyenne = total / nbreNotesSoit seulement environ 12 lignes.
On peut encore simplifier:
(1 ligne ) total = a + b + c + d + g + f + j et nbreNotes = 7 (2 lignes) si 'input1' = 'oui' alors total = total + e - f (2 lignes) si 'input2' = 'oui' alors total = total + i - j (2 lignes) si 'input3' = 'oui' alors total = total + k et nbreNotes = 8 (1 ligne ) moyenne = total / nbreNotesSoit seulement environ 10 lignes.
Bonne continuation.