Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
1629 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [C++] Utilisation fonction simple

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++] Utilisation fonction simple

n°2301604
Revere
Posté le 05-06-2017 à 17:44:51  profilanswer
 

Bonjour, je débute le c++ et j'ai un petit bout de code sous la main qui refuse d'utiliser ma fonction moyenne.
 
main.cpp

Code :
  1. #include <iostream>
  2. #include "moyenne.h"
  3. using namespace std;
  4. int main()
  5. {
  6.     int const nombreNotes(10);
  7.     double note[nombreNotes];
  8.     double moyenne(0);
  9.     note[0] = 10.2;
  10.     note[1] = 15.2;
  11.     note[2] = 0.5;
  12.     note[3] = 14.2;
  13.     note[4] = 11;
  14.     note[5] = 12;
  15.     note[6] = 9;
  16.     note[7] = 5;
  17.     note[8] = 12.7;
  18.     note[9] = 5.5;
  19.    moyenne(note[nombreNotes], nombreNotes);
  20.     cout << "Votre moyenne est de " << moyenne << endl;
  21.     return 0;
  22. }


 
moyenne.cpp

Code :
  1. #include "moyenne.h"
  2. /*  -fonction qui calcule la moyenne des éléments d'un tableau
  3.     -tableau : le tableau dont on veut la moyenne
  4.     -tailleTableau : la taille du Tableau
  5. */
  6. double moyenne(double tableau[], int tailleTableau)
  7. {
  8.     double moyenne(0);
  9.     for(int i(0); i<tailleTableau; ++i)
  10.     {
  11.         moyenne += tableau[i];
  12.     }
  13.     moyenne /= tailleTableau;
  14.     return moyenne;
  15. }


 
moyenne.h

Code :
  1. #ifndef MOYENNE_H_INCLUDED
  2. #define MOYENNE_H_INCLUDED
  3. double moyenne(double tableau[], int tailleTableau);
  4. #endif // MOYENNE_H_INCLUDED


 
Le message d'erreur à la compilation est C:\Users\XXX\Desktop\Projets\tableauStatique\main.cpp|23|error: 'moyenne' cannot be used as a function|
Le problème doit pas être sorcier mais je vois pas honnêtement.
Merci d'avance.

mood
Publicité
Posté le 05-06-2017 à 17:44:51  profilanswer
 

n°2301607
rat de com​bat
attention rongeur méchant!
Posté le 05-06-2017 à 18:28:31  profilanswer
 

Tu as une fonction et une variable qui ont le même nom (moyenne), c'est pas possible. (dans main.cpp et moyenne.cpp aussi, mais peut-être dans ce dernier cas ça peut fonctionner quand même. Après c'est quand même pas une bonne idée.)

 

Aussi si tu veux passer un (pointeur vers un) tableau à une fonction il faut écrire moyenne(note, nombreNotes); et pas moyenne(note[nombreNotes], nombreNotes);

 

Tu as activé les warnings sur ton compilateur? Obligatoire surtout pour un débutant!!
(GCC: rajouter -Wall en ligne de commande)


Message édité par rat de combat le 05-06-2017 à 18:29:08
n°2301610
Revere
Posté le 05-06-2017 à 19:54:22  profilanswer
 

Salut rat de combat,
 
En effet, c'était un peu débile tout ces "moyenne" avec du recul. Je n'avais pas activé les warnings mais c'est fait maintenant donc merci !
Sinon voici le code après modif :  
 
main.ccp

Code :
  1. #include <iostream>
  2. #include "moyenne.h"
  3. using namespace std;
  4. int main()
  5. {
  6.     int const nombreNotes(10);
  7.     double note[nombreNotes];
  8.     double moyenne(0);
  9.     note[0] = 10.2;
  10.     note[1] = 15.2;
  11.     note[2] = 0.5;
  12.     note[3] = 14.2;
  13.     note[4] = 11;
  14.     note[5] = 12;
  15.     note[6] = 9;
  16.     note[7] = 5;
  17.     note[8] = 12.7;
  18.     note[9] = 5.5;
  19.    moyenne = calcMoyenne(note, nombreNotes);
  20.     cout << "Votre moyenne est de " << moyenne << endl;
  21.     return 0;
  22. }


moyenne.ccp

Code :
  1. #include "moyenne.h"
  2. /*  -fonction qui calcule la moyenne des éléments d'un tableau
  3.     -tableau : le tableau dont on veut la moyenne
  4.     -tailleTableau : la taille du Tableau
  5. */
  6. double calcMoyenne(double tableau[], int tailleTableau)
  7. {
  8.     double m(0);
  9.     for(int i(0); i<tailleTableau; ++i)
  10.     {
  11.         m += tableau[i];
  12.     }
  13.     m /= tailleTableau;
  14.     return m;
  15. }


moyenne.h

Code :
  1. #ifndef MOYENNE_H_INCLUDED
  2. #define MOYENNE_H_INCLUDED
  3. double calcMoyenne(double tableau[], int tailleTableau);
  4. #endif // MOYENNE_H_INCLUDED


 
Ca fonctionne comme c'est supposé fonctionner, merci pour ton aide, et à le revoyure si je me décourage pas


Message édité par Revere le 05-06-2017 à 20:02:35

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [C++] Utilisation fonction simple

 

Sujets relatifs
[Python] Questions pratiques installation et utilisation d'OpenCV[C] Problème de compilation entre emcc et OpenSSL (Résolu)
Problème utilisation librairie externeFonction qui renvoie une structure
Problèmes d'utilisation de JScrollPaneConstructeur de copie Liste chainée C++
Une simple question sur les bases de données (Débutant)utilisation de Tkinter
récupérer texte d'un formulaire pour une fonction javascriptEnvoi d'informations en format kexadecimal en langage C
Plus de sujets relatifs à : [C++] Utilisation fonction simple



Copyright © 1997-2016 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR