[Débutant] Problème de conditions dans une boucle do..while
Bonjour à tous,
Je sollicite votre aide aujourd'hui car j'ai un petit problème avec un TP que je dois faire dans une UE d'informatique à ma fac :?
Voilà l'énoncé :
Citation:
Écrire un programme qui calcule la note du contrôle continu d’une UE de biochimie. La note de contrôle
continu est la moyenne des notes des TP rendus.
– toute note égale à 0 est éliminatoire et la note du CC est donc de 0.
– toute absence justifiée à un TP est saisie par la valeur -1 qui n’est pas prise en compte pour le calcul de la
moyenne.
– il faut avoir au moins 4 notes de TP pour avoir une moyenne et pour que le programme affiche un résultat.
– la saisie des notes de TP se termine par un -2.
Actuellement, j'ai écris ce code, mais je ne comprends pas pourquoi lorsque je compile et éxécute ce code, la condition :
Code:
1 2 3 4 5 6 7
|
if (note == 0) {
cout << "0 est une note éliminatoire !" << endl;
moyenne = 0;
note = -2;
} |
n'est jamais remplie même si je saisi la note 0 dans la console ! :?
Je ne comprends pas pourquoi il ne rentre pas dans cette condition :(
Sinon le code en entier que j'ai fait pour le moment :
Code:
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
|
#include <iostream>
using namespace std;
int main(){
// Declarations
int nombreTP = 0;
float moyenne, note, totalDesNotes = 0;
// Instructions
cout << ":: Note du controle continu de Biochimie ::" << endl;
do {
cout << "Saisir la note du TP : ";
cin >> note;
if (note == 0) {
cout << "0 est une note éliminatoire !" << endl;
moyenne = 0;
note = -2;
}
else if (note != -2 && note != -1) {
nombreTP++;
totalDesNotes = totalDesNotes + note;
moyenne = totalDesNotes/nombreTP;
}
} while (note != -2);
cout << "Votre moyenne est de : " << moyenne << "/20" << endl;
system("PAUSE");
return EXIT_SUCCESS;
} |