[c++] Question mini programme

Stef -  
 Stef -
Bonjour, je suis débutant en c++ et je suis en train de faire un mini programme qui calcule les moyennes.

Voici le programme ( non terminé ) :

#include <iostream>
using namespace std;

main () {

float a, b, c, d, e, f, g; //differentes notes
int n; //total de notes
int z; // variable permetant l'arret du programme a un certain endroit




cout <<"Bienvenue dans Moyenne calculator v2";
cout <<"\n====================================";
cout <<"\nCombien de notes avez vous ? :";
cin >> n;

while (n<=0){ cout <<"\nVeuillez entrer un nombre positif :";
cin >> n; }


if (n=1) { cout <<"\nEntrez votre premiere note :";
cin >> a;
cout <<"\nVotre moyenne est : " << a / 1;
cin >> z; }

if (n=2) { cout <<"\nEntrez votre premiere note :";
cin >> a;
cout <<"\nEntrez votre deuxieme note :";
cin >> b;
cout <<"\nVotre moyenne est : " << ( a + b ) / 2;
cin >> z; }

if (n=3) { cout <<"\nEntrez votre premiere note :";
cin >> a;
cout <<"\nEntrez votre deuxieme note :";
cin >> b;
cout <<"\nEntrez votre troisieme note :";
cin >> c;
cout <<"\nVotre moyenne est : " << ( a + b + c ) / 3;
cin >> z; }


getchar(); }




Voici mon probleme . Lorsque je lance le programme , le programme me demande combien j'ai de notes au total , si je repond 1 tout va bien il me met la moyenne 1.
Mais si je tape 2 pour le nombre de notes , il me demandera que la 1ere note et non la 2eme et fera la moyenne que avec cette notte. On dirait que le programme lit la condition if (n=1) meme si je tape que le nombre total de notes est2 (n).
J'aimerais faire en sorte que si je dis que le nombre de notes est n=2 , que le programme ignore la condition : if (n=1). Et je vois vraiment pas ou pourait etre l'erreur.

Merci d'avance .
A voir également:

5 réponses

ibtor Messages postés 2564 Statut Membre 283
 
if (n==2) ça marchera mieux
0
Stef
 
Merci , mais sa ne change malheureusement rien :(
0
ibtor Messages postés 2564 Statut Membre 283
 
fais un cout << n << endl ;

juste avant if (n==1)
et donne le résultat quand tu met 2
0
Stef
 
"et donne le résultat quand tu met 2"

Hmm.. Pas trop bien compris ou donner le résultat ?
0
ibtor Messages postés 2564 Statut Membre 283
 
cout <<"Bienvenue dans Moyenne calculator v2";
cout <<"\n====================================";
cout <<"\nCombien de notes avez vous ? :";
cin >> n;

while (n<=0){ cout <<"\nVeuillez entrer un nombre positif :";
cin >> n; }

cout << n << endl; //tu le mets là

if (n==1) { cout <<"\nEntrez votre premiere note :"; //oublie pas de mettre ==
cin >> a;
cout <<"\nVotre moyenne est : " << a / 1;
cin >> z; }

if (n==2) { cout <<"\nEntrez votre premiere note :"; //idem
cin >> a;
cout <<"\nEntrez votre deuxieme note :";
cin >> b;
cout <<"\nVotre moyenne est : " << ( a + b ) / 2;
cin >> z; }
0
Stef
 
C'est exactement ce que j'avait modifié pour obtenir :

cout <<"Bienvenue dans Moyenne calculator v2";
cout <<"\n====================================";
cout <<"\nCombien de notes avez vous ? :";
cin >> n;

while (n<=0){ cout <<"\nVeuillez entrer un nombre positif :";
cin >> n; }

cout << n << endl ;

if (n==1) { cout <<"\nEntrez votre premiere note :";
cin >> a;
cout <<"\nVotre moyenne est : " << a / 1;
cin >> z; }

if (n==2) { cout <<"\nEntrez votre premiere note :";
cin >> a;
cout <<"\nEntrez votre deuxieme note :";
cin >> b;
cout <<"\nVotre moyenne est : " << ( a + b ) / 2;
cin >> z; }



Mais j'ai toujours le meme probleme : /
Je vois pas ou est le probleme :(
0
Stef > Stef
 
Depusi que j'ai rajouté cout << n << endl ; je ne vois pas de différence , le probleme reste le meme si je tape 2 ou 3 pour le nombre de notes , le programme me demandera que la premeire note et me donnera la moyenne , cette notte elle meme donc ...
0
ibtor Messages postés 2564 Statut Membre 283
 
mais ça sort bien une valeur non de non @###@#~{[#{|{#|

pour le cout << n << endl ;
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ibtor Messages postés 2564 Statut Membre 283
 
je viens de le tester, j'ai pas d'erreur, tout marche correctement

j'ai refais le programme (plus light, mieux optimisé)





#include <iostream>
using namespace std;
int main()
{

float a, b; //differentes notes
int n; //total de notes
int z;
int i;
int m;

cout <<"Bienvenue dans Moyenne calculator v2";
cout <<"\n====================================";
cout <<"\nCombien de notes avez vous ? :";
cin >> n;

while (n<=0){ cout <<"\nVeuillez entrer un nombre positif :";
cin >> n; }
i=1;
a=0;
while (i<=n)
{
cout << "Entrez votre note numero " << i << " : ";
cin >> b;
a = a + b;
i++;
}
cout << endl << "Votre moyenne est de :" << a / n ;

return 0;
}
0
Stef
 
Ah , je crois que j'ai comrpis mon erreur !
Merci beacoup d'avoir pris du temps pour m'aider :)

Bonne nuit.
0