[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 2360 Date d'inscription   Statut Membre Dernière intervention   283
 
if (n==2) ça marchera mieux
0
Stef
 
Merci , mais sa ne change malheureusement rien :(
0
ibtor Messages postés 2360 Date d'inscription   Statut Membre Dernière intervention   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 2360 Date d'inscription   Statut Membre Dernière intervention   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 2360 Date d'inscription   Statut Membre Dernière intervention   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 2360 Date d'inscription   Statut Membre Dernière intervention   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