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é :

É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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : 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
 
#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;
 
 }