// suivi du numéro ID de la structure membre
int numero_membre=999;
//******************************************************************************
//******************************************************************************
//Fonction permettant de connaitre le nombre de ligne d'un fichier
int Compter_Lignes(char* chemin)
{
ifstream fich(chemin);
// Fichier inexistant ou déplacé
if (!fich)
cout<<"fichier "<<chemin<<" introuvable"<<endl;
// Fichier existant, si le fichier est vide, cela compte 1 ligne
int NbrLignes =0;
while( !fich.eof())
{ char temp[256];
fich.getline(temp , 256, '\n');
NbrLignes++;
};
return NbrLignes;
};
//******************************************************************************
//******************************************************************************
// I) Tableau dynamique pour stocker les structures membre
// a) import de la taille du tableau depuis le fichier Base_Membre(Taille_Initial)
// à laquelle je rajoute 10 unités pour permettre la création
// nouvelle de 10 membres
//Taille_Initial_Membres = nombre d'enregistrements contenus dans le fichier
//Taille_Tous_Membres = Taille du tableau pour ranger la totalité des membres
//anciens et futurs
int Taille_Initial_Membres=Compter_Lignes(F_Base_Membres)-1;
int Taille_Tous_Membres=((Taille_Initial_Membres/4)+10) ;
UnMembre* Tableau_Tous_Membres = new UnMembre [Taille_Tous_Membres];
//******************************************************************************
//******************************************************************************
// I) import de fichier
void Import_Membres ( UnMembre tab[], int& indice, int& numero, char* chemin)
{
ifstream fich (chemin, ios::in); //ouverture du fichier
// a) Fichier inexistant ou déplacé
if (!fich)
cout<<"fichier "<<chemin<<" inexistant ou introuvable"<<endl;
int i=0;
cout<<"Taille ini : "<<Taille_Initial_Membres<<endl; //trace
while ( i<(Taille_Initial_Membres/4))
{
fich>>tab[i].N_IDM;
fich>>tab[i].Nom;
fich>>tab[i].Prenom;
/* PROBLEME */ fich>>tab[i].Adresse;
i++;
indice++;
numero++;
};
};
//******************************************************************************
//******************************************************************************
//Taille_Max==Taille_Tous_Membres,
//c'est la taille maxi du tableau de structure membre
//Denier_ID, correspond au denier Numéro ID des structures Membres utilisée,
//cela correspond donc à n_membre
cs_Chouchou182
Messages postés252Date d'inscriptionvendredi 13 juin 2003StatutMembreDernière intervention25 avril 20111 13 juil. 2003 à 21:48
Salut
1°) Pourquoi t'inclus stdio.h ?
2°) Ton identation est peu lisible. Petits conseils :
-saute plus de lignes
-rajoute des espaces
-met des tabulations
Tu feras de mes conseils ce que tu voudras mais je te les donne quand même
3°) C'est pas nécessaire de mettre un ; a la fin d'une définition de fonction
4°) J'ai tous refait les io disque en c (ça donne en plus une bonne raison d'inclure cstdio). J'ai fait quelques éssais et ça semble marcher...
A++
Chouchou182
PS: Si je me trompe, merci de me faire signe, ça peut être constructif pour moi aussi.
Voilà ma correction : (le fichiercptm.txt ne sert strictement à rien ou alors j'ai pas tout compris)
// suivi du numéro ID de la structure membre
int numero_membre=999;
FILE* fptr ; // flux de fichier C (pas C++)
// ******************************************************************************
// ******************************************************************************
//Fonction permettant de connaitre le nombre de ligne d'un fichier
// Fichier existant, si le fichier est vide, cela compte 1 ligne
int NbrLignes = 0 ;
char ctmp ; // tampon pour stocker provisoirement tous les caractères du fichier
while ( !feof(fptr) ) {
fscanf(fptr, "%c", &ctmp) ;
if ( ctmp == '\n' ) NbrLignes++ ;
}
return NbrLignes ;
}
// ******************************************************************************
// ******************************************************************************
// I) Tableau dynamique pour stocker les structures membre
// a) import de la taille du tableau depuis le fichier Base_Membre(Taille_Initial)
// à laquelle je rajoute 10 unités pour permettre la création
// nouvelle de 10 membres
//Taille_Initial_Membres = nombre d'enregistrements contenus dans le fichier
//Taille_Tous_Membres = Taille du tableau pour ranger la totalité des membres
//anciens et futurs
int Taille_Initial_Membres=Compter_Lignes(F_Base_Membres)-1;
int Taille_Tous_Membres=((Taille_Initial_Membres/4)+10) ;
UnMembre* Tableau_Tous_Membres = new UnMembre [Taille_Tous_Membres];
// ******************************************************************************
// ******************************************************************************
// I) import de fichier
// ******************************************************************************
// ******************************************************************************
//Taille_Max==Taille_Tous_Membres,
//c'est la taille maxi du tableau de structure membre
//Denier_ID, correspond au denier Numéro ID des structures Membres utilisée,
//cela correspond donc à n_membre