Bonjour
Je voudrais essayer de decouper mon code en fonction dans un même projet.
Le code de base fonctionne à savoir :
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
#include <iostream>
#include <vector>
using namespace std;
 
double moyenneTabDynamique(vector<double>tableau)
{
    double moyenne;
    for (int i(0);i<tableau.size;i++)
    {
        moyenne+=tableau[i];
    }
    moyenne/=tableau.size;
    return moyenne;
}
 
int main()
{
 
    vector<double>tableauNoteUserDynamique;
    char userChoice;
    do
    {
        cout<<"Veuillez entrer votre note : "<<endl;
        double noteUser(0);
        cin>>noteUser;
        tableauNoteUserDynamique.push_back(noteUser);
        cout<<"Avez vous d'autres note a enregistrer yes(y) no (n)"<<endl;
        cin>>userChoice;
    }while(userChoice=='y');
    moyenneTabDynamique(tableauNoteUserDynamique);
    return 0;
}
ensuite j'ai découper comme suit :
=========main.cpp==========
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
#include <iostream>
#include <vector>
#include "moyenneTabUserDynamique.h"
 
using namespace std;
 
int main()
{
 
    vector<double>tableauNoteUserDynamique;
    char userChoice;
    do
    {
        cout<<"Veuillez entrer votre note : "<<endl;
        double noteUser(0);
        cin>>noteUser;
        tableauNoteUserDynamique.push_back(noteUser);
        cout<<"Avez vous d'autres note a enregistrer yes(y) no (n)"<<endl;
        cin>>userChoice;
    }while(userChoice=='y');
    moyenneTabDynamique(tableauNoteUserDynamique);
    return 0;
}
==========moyenneTabUserDynamique.cpp====================
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
/*fonction de moyenne sur un tableau dynamique
*-tableau : nom du tableau dynamique
*-taille tableau : obtenu par la fonction size
*/
#include "moyenneTabUserDynamique.h"
 
double moyenneTabDynamique(vector<double>tableau)
{
    double moyenne;
    for (int i(0);i<tableau.size;i++)
    {
      moyenne+=tableau[i];
    }
    moyenne/=tableau.size;
    return moyenne;
}
=============moyenneTabUserDynamique.h===============
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
#ifndef MOYENNETABUSERDYNAMIQUE_H_INCLUDED
#define MOYENNETABUSERDYNAMIQUE_H_INCLUDED
 
double moyenneTabDynamique(vector<double>tableau);
 
#endif // MOYENNETABUSERDYNAMIQUE_H_INCLUDED
Selon mes maigres connaissance cela me semblait correcte mais mon compilateur me hurle un :

||=== Build: Debug in moyenneTabUserDynamique (compiler: GNU GCC Compiler) ===|
D:\c++\madbox\fonction\tableau\moyenneTabUserDynamique\moyenneTabUserDynamique.h|4|error: 'vector' was not declared in this scope|
D:\c++\madbox\fonction\tableau\moyenneTabUserDynamique\moyenneTabUserDynamique.h|4|note: suggested alternative
D:\codeblock\CodeBlocks\MinGW\lib\gcc\mingw32\4.9.2\include\c++\bits\stl_vector.h|214|note: 'std::vector'|
D:\c++\madbox\fonction\tableau\moyenneTabUserDynamique\moyenneTabUserDynamique.h|4|error: expected primary-expression before 'double'|
D:\c++\madbox\fonction\tableau\moyenneTabUserDynamique\main.cpp||In function 'int main()'
D:\c++\madbox\fonction\tableau\moyenneTabUserDynamique\main.cpp|21|error: 'moyenneTabDynamique' cannot be used as a function|
||=== Build failed: 3 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
Il s'emblerait qu'il y est un problème dans la ligne 4 du .h mais je n'arrive pas a trouver la raison
J'ai effectuer la même procédure sur un tableau statique sans problème.
Merci d'éclairer ma lanterne.