Erreur de compilation c++ magnifique !!!!
massaoudmahmoud
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
Mimiste Messages postés 1149 Date d'inscription Statut Membre Dernière intervention -
Mimiste Messages postés 1149 Date d'inscription Statut Membre Dernière intervention -
Bonjour a tous ,
j'ai un petit programme que je réalise avec c++ ..... composé d'un main et des fichiers header parmi lesquels un fichier "stnds.h" composé de ces modules :
--------------------------------------------------------------------------------------------------------------
//la bibliothèque des fns standards : saisie_taille , chargement , afficher : stnds.h//
#include <stdio.h>
int saisie_taille()
{
int x;
do
{
printf("\n Donner la taille du tableau : ");
scanf("%d",&x);
}
while(x<=1 || x>50);
return (x);
}
void chargement(int t[],int n)
{
int i;
for (i=0;i<n;i++)
do
{
printf(" élement [%d] : ",i);
scanf("%d",&t[i]);
}
while(t[i]<=0);
}
void afficher(int t[],int n)
{
int i ;
for (i=0;i<n;i++)
printf("T[%d] : %d \t",i,t[i]);
}
------------------------------------------------------------------------------------------------------------------
et un main.cpp comme ceci :
--------------------------------------------------------------------------------------------------------------
#include <stdio.h>
#include <conio.h>
#include <c:\projet n°1\include\stnds.h> //bibliohtéque des fns standards : saisie_taille , chargement , afficher //
#include <c:\projet n°1\include\verifs.h> //bibliothéque des fns des tests et verifications : symetrique , determiner //
#include <c:\projet n°1\include\modifs.h> //bibliothéque des fns de mofification de contenu : insertion , inversion , rotation //
#include <c:\projet n°1\include\rechs.h> //bibliothéque des fns de recherches : rechercher , rech_sequentielle , rech_dichotomique //
#include <c:\projet n°1\include\tris.h> //bibliothéque des fns de tris : tri_selection , tri_bulles , tri_insertion //
#include <c:\projet n°1\include\constrcs.h> //bibliothéque des fns qui générent nouvels tabs :transfere(t4) , test(appelé) , present(t5) , absent(t6) , fusion(f) //
void main()
{
int t1[50],t2[50],t3[50],t4[100],t5[100],t6[100],f[100];
int n1,n2,n3,c,c1,c2,c3,v;
printf(" \n\n gestion du 1er tableau : \n");
n1=saisie_taille();
chargement(t1,n1);
printf(" \n élements du tableau t1 : \n ");
afficher(t1,n1);
printf(" \n\n gestion du 2ème tableau : \n");
n2=saisie_taille();
chargement(t2,n2);
printf(" \n élements du tableau t2 : \n ");
afficher(t2,n2);
printf(" \n\n gestion du 3ème tableau : \n");
n3=saisie_taille();
chargement(t3,n3);
printf(" \n élements du tableau t3 : \n ");
afficher(t3,n3);
do
{
clrscr();
printf(" MENU GENERAL \n\n");
printf(" 1** recherche\n");
printf(" 2** transferer\n");
printf(" 3** symetrique\n");
printf(" 4** determiner\n");
printf(" 5** insertion\n");
printf(" 6** inversion\n");
printf(" 7** rotation\n");
printf(" 8** present\n");
printf(" 9** absent\n");
printf(" 10** recherche\n");
printf(" 11** tri\n");
printf(" 12** fusion\n");
printf(" 13** QUITTER \n\n");
printf(" donner votre choix SVP : ");
scanf("%d",&c);
while ((c<1)||(c>13))
{
printf("\n choix incorrect . repéter la sélection : ");
scanf("%d",&c);
}
switch (c)
{
case 1:printf("\n élements de tableau t1 : \n");
afficher(t1,n1);
rechercher(t1,n1);
getch();
break;
case 2:transferer(t1,t4,n1);
printf("\n tableau d'origine t1 : \n ");
afficher(t1,n1);
printf("\n tableau t4 aprés transfert : \n");
afficher(t4,n1);
getch();
break;
case 3:printf("\n le tableau t1 : \n ");
afficher(t1,n1);
if (symetrique(t1,n1)==0)
printf("\n ce tableau n'est pas symétrique ");
else
printf("\n ce tableau est symétrique ");getch();
break;
case 4:printf("\n le tableau t1 : \n ");
afficher(t1,n1);
printf("\n le nbre d'élements dictincs dans t1 est : %d ",determiner(t1,n1));
getch();
break;
case 5:printf("\n tableau t2 avant insertion : \n");
afficher(t2,n2);
insertion(t2,n2);
break;
case 6:printf("\n tableau t2 avant inversion : \n");
afficher(t2,n2);
inversion(t2,n2);
printf("\n tableau t2 aprés inversion : \n");
afficher(t2,n2);
getch();
break;
case 7:printf("\n tableau t1 avant rotation : \n");
afficher(t1,n1);
rotation(t1,n1);
printf("\n tableau t1 aprés rotation : \n");
afficher(t1,n1);getch();
break;
case 8:printf("\n élements de tableau t1 : \n");
afficher(t1,n1);
printf("\n élements de tableau t3 : \n");
afficher(t3,n3);
present(t5,t1,t3,n1,n3);
break;
case 9:printf("\n élements de tableau t1 : \n");
afficher(t1,n1);
printf("\n élements de tableau t3 : \n");
afficher(t3,n3);
absent(t6,t1,t3,n1,n3);
break;
case 10:
clrscr();
printf(" 1** recherche sequentielle \n");
printf(" 2** recherche dichotomique \n\n");
printf("\n donner votre choix : ");
scanf("%d",&c1);
switch (c1)
{
case 1:printf("\n élements du taleau t3 : \n");
afficher(t3,n3);
printf("\n donner un entier a chercher dans le tableau t3 : ");
scanf("%d",&v);
if (rech_sequentielle(t3,n3,v)!=-1)
printf("\n l'entier %d se trouve dans la case %d du tableau t3 \n",v,rech_sequentielle(t3,n3,v));
else
printf("\n l'entier %d n'existe pas dans le tableau t3 \n ",v);
getch();
break;
case 2:printf("\n tri du tableau pour la recherche dichotomique .... ");
tri_bulles(t3,n3);
printf("\n tableau trié : \n");
afficher(t3,n3);
printf("\n donner un entier a chercher dans le tableau t3 : ");
scanf("%d",&v);
if (rech_dichotomique(t3,n3,v)!=-1)
printf("\n l'entier %d se trouve dans la case %d du tableau t3 \n",v,rech_dichotomique(t3,n3,v));
else
printf("\n l'entier %d n'existe pas dans le tableau t3 \n ",v);
getch();
break;
}
break;
case 11:
clrscr();
printf(" 1** tri par selection \n");
printf(" 2** tri a bulles \n");
printf(" 3** tri par insertion \n");
printf("\n donner votre choix : ");
scanf("%d",&c2);
switch (c2)
{
case 1:tri_selection(t3,n3);
printf(" \n tableau t3 aprés tri par sélection : \n ");
afficher(t3,n3);
getch();
break;
case 2:tri_bulles(t3,n3);
printf(" \n tableau t3 aprés tri à bulles : \n ");
afficher(t3,n3);
getch();
break;
case 3:tri_insertion(t3,n3);
printf(" \n tableau t3 aprés tri à insertion : \n ");
afficher(t3,n3);
getch();
break;
}
break;
case 12:printf("\n tri du tableau t1 pour la fusion .... \n ");
tri_bulles(t1,n1);
printf("\n tableau trié : \n");
afficher(t1,n1);
printf("\n tri du tableau t3 pour la fusion .... \n ");
tri_bulles(t3,n3);
printf("\n tableau trié : \n");
afficher(t3,n3);
fusion(t1,t3,f,n1,n3);
break;
case 13:
printf("\n\n êtes-vous sûr ? (1:oui/2:non) ? : ");
scanf("%d",&c3);
break;
}
}
while (c3!=1);
clrscr();
gotoxy(25,12);
printf("*** MERCI POUR VOTRE VISITE *** ");
}
--------------------------------------------------------------------------------------------------------------
j'en suis sur que les 3 fonction du fichier "stnds.h" ne sont pas définis q'une seule fois ......... mais en compilant , les erreurs suivants sont affichés :
Compiling MAIN.CPP:
Error ..\PROJET N°1\INCLUDE\STNDS.H 10: Body has already been defined for function 'saisie_taille()'
Error ..\PROJET N°1\INCLUDE\STNDS.H 26: Body has already been defined for function 'chargement(int *,int)'
Error ..\PROJET N°1\INCLUDE\STNDS.H 42: Body has already been defined for function 'afficher(int *,int)'
Error ..\PROJET N°1\INCLUDE\STNDS.H 10: Body has already been defined for function 'saisie_taille()'
Error ..\PROJET N°1\INCLUDE\STNDS.H 26: Body has already been defined for function 'chargement(int *,int)'
Error ..\PROJET N°1\INCLUDE\STNDS.H 42: Body has already been defined for function 'afficher(int *,int)'
Warning ..\PROJET N°1\INCLUDE\STNDS.H 10: Cannot create pre-compiled header: code in header
vraiment c'est magnifique .... je me plante et j'ai vérifié tout le programme : headers et main , plusieurs fois et je n'ai trouvé rien .... les 3 fonctions "saisie_taille" , "chargement" et "afficher" ne sont définis qu'une seule fois dans "stnds.h" , appelés plusieurs fois c'est tout ..... comment faire ? vraiment j'ai perdu la tête :( .....
NB : vous n'avez pas besoin de suivre tout le fichier "main.cpp" car il n'y a que les appels des modules défini dans les headers ......
j'ai un petit programme que je réalise avec c++ ..... composé d'un main et des fichiers header parmi lesquels un fichier "stnds.h" composé de ces modules :
--------------------------------------------------------------------------------------------------------------
//la bibliothèque des fns standards : saisie_taille , chargement , afficher : stnds.h//
#include <stdio.h>
int saisie_taille()
{
int x;
do
{
printf("\n Donner la taille du tableau : ");
scanf("%d",&x);
}
while(x<=1 || x>50);
return (x);
}
void chargement(int t[],int n)
{
int i;
for (i=0;i<n;i++)
do
{
printf(" élement [%d] : ",i);
scanf("%d",&t[i]);
}
while(t[i]<=0);
}
void afficher(int t[],int n)
{
int i ;
for (i=0;i<n;i++)
printf("T[%d] : %d \t",i,t[i]);
}
------------------------------------------------------------------------------------------------------------------
et un main.cpp comme ceci :
--------------------------------------------------------------------------------------------------------------
#include <stdio.h>
#include <conio.h>
#include <c:\projet n°1\include\stnds.h> //bibliohtéque des fns standards : saisie_taille , chargement , afficher //
#include <c:\projet n°1\include\verifs.h> //bibliothéque des fns des tests et verifications : symetrique , determiner //
#include <c:\projet n°1\include\modifs.h> //bibliothéque des fns de mofification de contenu : insertion , inversion , rotation //
#include <c:\projet n°1\include\rechs.h> //bibliothéque des fns de recherches : rechercher , rech_sequentielle , rech_dichotomique //
#include <c:\projet n°1\include\tris.h> //bibliothéque des fns de tris : tri_selection , tri_bulles , tri_insertion //
#include <c:\projet n°1\include\constrcs.h> //bibliothéque des fns qui générent nouvels tabs :transfere(t4) , test(appelé) , present(t5) , absent(t6) , fusion(f) //
void main()
{
int t1[50],t2[50],t3[50],t4[100],t5[100],t6[100],f[100];
int n1,n2,n3,c,c1,c2,c3,v;
printf(" \n\n gestion du 1er tableau : \n");
n1=saisie_taille();
chargement(t1,n1);
printf(" \n élements du tableau t1 : \n ");
afficher(t1,n1);
printf(" \n\n gestion du 2ème tableau : \n");
n2=saisie_taille();
chargement(t2,n2);
printf(" \n élements du tableau t2 : \n ");
afficher(t2,n2);
printf(" \n\n gestion du 3ème tableau : \n");
n3=saisie_taille();
chargement(t3,n3);
printf(" \n élements du tableau t3 : \n ");
afficher(t3,n3);
do
{
clrscr();
printf(" MENU GENERAL \n\n");
printf(" 1** recherche\n");
printf(" 2** transferer\n");
printf(" 3** symetrique\n");
printf(" 4** determiner\n");
printf(" 5** insertion\n");
printf(" 6** inversion\n");
printf(" 7** rotation\n");
printf(" 8** present\n");
printf(" 9** absent\n");
printf(" 10** recherche\n");
printf(" 11** tri\n");
printf(" 12** fusion\n");
printf(" 13** QUITTER \n\n");
printf(" donner votre choix SVP : ");
scanf("%d",&c);
while ((c<1)||(c>13))
{
printf("\n choix incorrect . repéter la sélection : ");
scanf("%d",&c);
}
switch (c)
{
case 1:printf("\n élements de tableau t1 : \n");
afficher(t1,n1);
rechercher(t1,n1);
getch();
break;
case 2:transferer(t1,t4,n1);
printf("\n tableau d'origine t1 : \n ");
afficher(t1,n1);
printf("\n tableau t4 aprés transfert : \n");
afficher(t4,n1);
getch();
break;
case 3:printf("\n le tableau t1 : \n ");
afficher(t1,n1);
if (symetrique(t1,n1)==0)
printf("\n ce tableau n'est pas symétrique ");
else
printf("\n ce tableau est symétrique ");getch();
break;
case 4:printf("\n le tableau t1 : \n ");
afficher(t1,n1);
printf("\n le nbre d'élements dictincs dans t1 est : %d ",determiner(t1,n1));
getch();
break;
case 5:printf("\n tableau t2 avant insertion : \n");
afficher(t2,n2);
insertion(t2,n2);
break;
case 6:printf("\n tableau t2 avant inversion : \n");
afficher(t2,n2);
inversion(t2,n2);
printf("\n tableau t2 aprés inversion : \n");
afficher(t2,n2);
getch();
break;
case 7:printf("\n tableau t1 avant rotation : \n");
afficher(t1,n1);
rotation(t1,n1);
printf("\n tableau t1 aprés rotation : \n");
afficher(t1,n1);getch();
break;
case 8:printf("\n élements de tableau t1 : \n");
afficher(t1,n1);
printf("\n élements de tableau t3 : \n");
afficher(t3,n3);
present(t5,t1,t3,n1,n3);
break;
case 9:printf("\n élements de tableau t1 : \n");
afficher(t1,n1);
printf("\n élements de tableau t3 : \n");
afficher(t3,n3);
absent(t6,t1,t3,n1,n3);
break;
case 10:
clrscr();
printf(" 1** recherche sequentielle \n");
printf(" 2** recherche dichotomique \n\n");
printf("\n donner votre choix : ");
scanf("%d",&c1);
switch (c1)
{
case 1:printf("\n élements du taleau t3 : \n");
afficher(t3,n3);
printf("\n donner un entier a chercher dans le tableau t3 : ");
scanf("%d",&v);
if (rech_sequentielle(t3,n3,v)!=-1)
printf("\n l'entier %d se trouve dans la case %d du tableau t3 \n",v,rech_sequentielle(t3,n3,v));
else
printf("\n l'entier %d n'existe pas dans le tableau t3 \n ",v);
getch();
break;
case 2:printf("\n tri du tableau pour la recherche dichotomique .... ");
tri_bulles(t3,n3);
printf("\n tableau trié : \n");
afficher(t3,n3);
printf("\n donner un entier a chercher dans le tableau t3 : ");
scanf("%d",&v);
if (rech_dichotomique(t3,n3,v)!=-1)
printf("\n l'entier %d se trouve dans la case %d du tableau t3 \n",v,rech_dichotomique(t3,n3,v));
else
printf("\n l'entier %d n'existe pas dans le tableau t3 \n ",v);
getch();
break;
}
break;
case 11:
clrscr();
printf(" 1** tri par selection \n");
printf(" 2** tri a bulles \n");
printf(" 3** tri par insertion \n");
printf("\n donner votre choix : ");
scanf("%d",&c2);
switch (c2)
{
case 1:tri_selection(t3,n3);
printf(" \n tableau t3 aprés tri par sélection : \n ");
afficher(t3,n3);
getch();
break;
case 2:tri_bulles(t3,n3);
printf(" \n tableau t3 aprés tri à bulles : \n ");
afficher(t3,n3);
getch();
break;
case 3:tri_insertion(t3,n3);
printf(" \n tableau t3 aprés tri à insertion : \n ");
afficher(t3,n3);
getch();
break;
}
break;
case 12:printf("\n tri du tableau t1 pour la fusion .... \n ");
tri_bulles(t1,n1);
printf("\n tableau trié : \n");
afficher(t1,n1);
printf("\n tri du tableau t3 pour la fusion .... \n ");
tri_bulles(t3,n3);
printf("\n tableau trié : \n");
afficher(t3,n3);
fusion(t1,t3,f,n1,n3);
break;
case 13:
printf("\n\n êtes-vous sûr ? (1:oui/2:non) ? : ");
scanf("%d",&c3);
break;
}
}
while (c3!=1);
clrscr();
gotoxy(25,12);
printf("*** MERCI POUR VOTRE VISITE *** ");
}
--------------------------------------------------------------------------------------------------------------
j'en suis sur que les 3 fonction du fichier "stnds.h" ne sont pas définis q'une seule fois ......... mais en compilant , les erreurs suivants sont affichés :
Compiling MAIN.CPP:
Error ..\PROJET N°1\INCLUDE\STNDS.H 10: Body has already been defined for function 'saisie_taille()'
Error ..\PROJET N°1\INCLUDE\STNDS.H 26: Body has already been defined for function 'chargement(int *,int)'
Error ..\PROJET N°1\INCLUDE\STNDS.H 42: Body has already been defined for function 'afficher(int *,int)'
Error ..\PROJET N°1\INCLUDE\STNDS.H 10: Body has already been defined for function 'saisie_taille()'
Error ..\PROJET N°1\INCLUDE\STNDS.H 26: Body has already been defined for function 'chargement(int *,int)'
Error ..\PROJET N°1\INCLUDE\STNDS.H 42: Body has already been defined for function 'afficher(int *,int)'
Warning ..\PROJET N°1\INCLUDE\STNDS.H 10: Cannot create pre-compiled header: code in header
vraiment c'est magnifique .... je me plante et j'ai vérifié tout le programme : headers et main , plusieurs fois et je n'ai trouvé rien .... les 3 fonctions "saisie_taille" , "chargement" et "afficher" ne sont définis qu'une seule fois dans "stnds.h" , appelés plusieurs fois c'est tout ..... comment faire ? vraiment j'ai perdu la tête :( .....
NB : vous n'avez pas besoin de suivre tout le fichier "main.cpp" car il n'y a que les appels des modules défini dans les headers ......
A voir également:
- Erreur de compilation c++ magnifique !!!!
- Erreur 0x80070643 - Accueil - Windows
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
- Java code erreur 1603 ✓ - Forum Windows
3 réponses
Bonjour
En fait, dans ton fichier stnds.h tu ne devrai avoir que les déclarations de tes fonctions, pas de code.
Tu devrais ensuite créer un fichier stnds.cpp qui inclu stnds.h et qui contiens le corps de tes fonctions
En fait, dans ton fichier stnds.h tu ne devrai avoir que les déclarations de tes fonctions, pas de code.
Tu devrais ensuite créer un fichier stnds.cpp qui inclu stnds.h et qui contiens le corps de tes fonctions
salut ,
merci pour l'aide , mais je comprend pas de quel code tu parles ? le fichier "stnds.h" ne contient que ces déclarations .comme c'est décrit .... en plus tous les autres fichiers headers on la même structure .... il n'y a que des déclaration des modules .... je veux connaitre le raison d'erreur .... vraiment je ne sais pas pourquoi l'erreur n'a concerné que "stnds.h" .... voici quelques autres fichiers header structurés comme lui :
**le fichier "modifs.h" :
--------------------------------------------------------------------------------------------------
//la bibliothéque des fns de mofification de contenu : insertion , inversion , rotation : modifs.h//
#include <stdio.h>
#include <conio.h>
#include <c:\projet n°1\include\stnds.h>
void insertion(int t2[],int n2)
{
int val,pos,i;
printf("\n donner un entier à insérer : \n");
scanf("%d",&val);
printf("\n donner une position d'insertion : \n");
scanf("%d",&pos);
for(i=n2;i>pos;i--)
{
t2[i]=t2[i-1];
}
t2[pos]=val;
printf("\n tableau t2 aprés insertion : \n");
afficher(t2,n2+1); // besoin d'inclure stnds.h et déja faite //
getch();
}
void inversion(int t1[],int n1)
{
int i,j,temp;
for (i=0,j=n1-1;i<j;i++,j--)
{
temp=t1[i];
t1[i]=t1[j];
t1[j]=temp;
}
}
void rotation(int t1[], int n1)
{
int i,temp;
temp=t1[n1-1];
for (i=n1-1;i>0;i--)
{
t1[i]=t1[i-1];
}
t1[0]=temp;
}
--------------------------------------------------------------------------------------------------
**le fichier verifs.h:
--------------------------------------------------------------------------------------------------
//la bibliothéque des fns des tests et verifications : symetrique , determiner : verifs.h //
#include <stdio.h>
int symetrique(int t1[], int n1)
{
int i,b ;
i=0;
b=1;
do
{
if(!(t1[i]==t1[n1-(i+1)]))
b=0;
else
i++;
}
while (b==1 && i<n1/2);
return(b);
}
int determiner (int t1[], int n1)
{
int i,j,k,n;
n=0;
for (i=0;i<n1;i++)
{
k=0;
for (j=i;j<n1;j++)
{
if (t1[i]==t1[j])
k++;
}
if (k==1)
n++;
}
return(n);
}
-------------------------------------------------------------------------------------------------
maintenant , t'a vu quelques autres exemples ... alors , dis moi ou est la différence entre "stnds.h" et eux ? ..... les modules qui sont y déclarés sont aussi appelés dans "main.cpp" .....
................
je veux connaitre même une raison logique pour que le compilateur afficher comme ça ... la cause de l'erreur ....
en plus , la décomposition du programme en des headers en un main est trés simple et juste ... personnellement je ne vois pas aucun raison de faire un fichier "stnds.cpp" ...........
merci pour l'aide , mais je comprend pas de quel code tu parles ? le fichier "stnds.h" ne contient que ces déclarations .comme c'est décrit .... en plus tous les autres fichiers headers on la même structure .... il n'y a que des déclaration des modules .... je veux connaitre le raison d'erreur .... vraiment je ne sais pas pourquoi l'erreur n'a concerné que "stnds.h" .... voici quelques autres fichiers header structurés comme lui :
**le fichier "modifs.h" :
--------------------------------------------------------------------------------------------------
//la bibliothéque des fns de mofification de contenu : insertion , inversion , rotation : modifs.h//
#include <stdio.h>
#include <conio.h>
#include <c:\projet n°1\include\stnds.h>
void insertion(int t2[],int n2)
{
int val,pos,i;
printf("\n donner un entier à insérer : \n");
scanf("%d",&val);
printf("\n donner une position d'insertion : \n");
scanf("%d",&pos);
for(i=n2;i>pos;i--)
{
t2[i]=t2[i-1];
}
t2[pos]=val;
printf("\n tableau t2 aprés insertion : \n");
afficher(t2,n2+1); // besoin d'inclure stnds.h et déja faite //
getch();
}
void inversion(int t1[],int n1)
{
int i,j,temp;
for (i=0,j=n1-1;i<j;i++,j--)
{
temp=t1[i];
t1[i]=t1[j];
t1[j]=temp;
}
}
void rotation(int t1[], int n1)
{
int i,temp;
temp=t1[n1-1];
for (i=n1-1;i>0;i--)
{
t1[i]=t1[i-1];
}
t1[0]=temp;
}
--------------------------------------------------------------------------------------------------
**le fichier verifs.h:
--------------------------------------------------------------------------------------------------
//la bibliothéque des fns des tests et verifications : symetrique , determiner : verifs.h //
#include <stdio.h>
int symetrique(int t1[], int n1)
{
int i,b ;
i=0;
b=1;
do
{
if(!(t1[i]==t1[n1-(i+1)]))
b=0;
else
i++;
}
while (b==1 && i<n1/2);
return(b);
}
int determiner (int t1[], int n1)
{
int i,j,k,n;
n=0;
for (i=0;i<n1;i++)
{
k=0;
for (j=i;j<n1;j++)
{
if (t1[i]==t1[j])
k++;
}
if (k==1)
n++;
}
return(n);
}
-------------------------------------------------------------------------------------------------
maintenant , t'a vu quelques autres exemples ... alors , dis moi ou est la différence entre "stnds.h" et eux ? ..... les modules qui sont y déclarés sont aussi appelés dans "main.cpp" .....
................
je veux connaitre même une raison logique pour que le compilateur afficher comme ça ... la cause de l'erreur ....
en plus , la décomposition du programme en des headers en un main est trés simple et juste ... personnellement je ne vois pas aucun raison de faire un fichier "stnds.cpp" ...........
les declarations dans le .h c'est uniquement l'entête de la fonction, genre dans le fichier stnds.h tu n'aurais que
int saisie_taille();
void chargement(int t[],int n);
void afficher(int t[],int n);
et surtout pas de code
et dans un fichier a part, stnds.c qui fait un include de stnds.h tu aurais
int saisie_taille()
{
int x;
do
{
printf("\n Donner la taille du tableau : ");
scanf("%d",&x);
}
while(x<=1 || x>50);
return (x);
}
etc.. et les autres fonctions déclarées dans stnds.h
int saisie_taille();
void chargement(int t[],int n);
void afficher(int t[],int n);
et surtout pas de code
et dans un fichier a part, stnds.c qui fait un include de stnds.h tu aurais
int saisie_taille()
{
int x;
do
{
printf("\n Donner la taille du tableau : ");
scanf("%d",&x);
}
while(x<=1 || x>50);
return (x);
}
etc.. et les autres fonctions déclarées dans stnds.h