Tableau de structures type pointeur

cs_chocho Messages postés 2 Date d'inscription dimanche 16 février 2003 Statut Membre Dernière intervention 4 mai 2003 - 3 mai 2003 à 21:29
CoreBreaker Messages postés 540 Date d'inscription dimanche 23 mars 2003 Statut Membre Dernière intervention 5 octobre 2007 - 7 mai 2003 à 01:44
Voila, je fait en c unpetit utilitaire de gestion d'adhérents.
pour cela j'uilise un tableau de structure adhérent composée de deux pointeurs char *nom et char *prenom.
Le problème que je rencontre est que je n'arrive pas à faire saisir par l'utilisateur un nouvel adhérent.
quand l'exe arrive à la ligne:
cin>>adherent[indice].nom;
mon compilateur plante .
J'ai essayé plein de moyens détournés pour essayer de faire fonctionner l'exe, mais rien n'y fait.
Aussi j'en appel à votre bonne volonté pour m'apprendre comment y parvenir.

5 réponses

arconius Messages postés 27 Date d'inscription dimanche 10 février 2002 Statut Membre Dernière intervention 16 janvier 2006
4 mai 2003 à 10:18
Tu devrais envoyés ton code source parce que là c dur de t'aider à moins de tout te faire ;) !!
0
trinitacs Messages postés 249 Date d'inscription mardi 16 juillet 2002 Statut Membre Dernière intervention 7 août 2003 2
4 mai 2003 à 12:36
-------------------------------
Réponse au message :
tu dois allouer dynamiquement de la mémoire pour ton pointeur si se n'est pas fait.

Sinon remplace des pointeur par des tableaux statique.

A par ça je ne vois pas où se situe le problème, mais montre nous ta source pour qu'on puisse t'en dire plus.
-------------------------------

> Voila, je fait en c unpetit utilitaire de gestion d'adhérents.
> pour cela j'uilise un tableau de structure adhérent composée de deux pointeurs char *nom et char *prenom.
> Le problème que je rencontre est que je n'arrive pas à faire saisir par l'utilisateur un nouvel adhérent.
> quand l'exe arrive à la ligne:
> cin>>adherent[indice].nom;
> mon compilateur plante .
> J'ai essayé plein de moyens détournés pour essayer de faire fonctionner l'exe, mais rien n'y fait.
> Aussi j'en appel à votre bonne volonté pour m'apprendre comment y parvenir.
>
>
0
D1m3x Messages postés 402 Date d'inscription samedi 28 décembre 2002 Statut Membre Dernière intervention 21 juillet 2005 1
4 mai 2003 à 15:50
Euh pour que le gars il entre son prenom tu px fair ca:

struct sInfos
{
string strNom;
string strPrenom;
void SetNom( string NomDuGars );
void SetPrenom( string PrenomDuGars );
string GetNomDuGars( );
string GePrenomDuGars( );
};

int main( void )
{
char *LeNom;
char *LePrenom;
sInfos Inf;
cout << "Entrez votre nom: ";
cin >> LeNom;
Inf.SetNomDuGars = ( LeNom );
cout << endl << "Entrez votre prenom: ";
cin >> LePrenom;
Inf.SetPrenomDuGars = ( LePrenom );

cout << "Son nom est: " << Inf.GetNomDuGars << endl << Son prenom est: " << Inf.GetPrenomDuGars << endl << endl;

return 0;
}

Je crois que ça devrait marcher et puis pour allouer essaye avec malloc

D1m3x des darkproggeur
0
cmarsc Messages postés 455 Date d'inscription mercredi 6 mars 2002 Statut Membre Dernière intervention 18 décembre 2003
4 mai 2003 à 16:29
il faudrait réserver un peu plus de place
malloc free en C
new delete en C++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
CoreBreaker Messages postés 540 Date d'inscription dimanche 23 mars 2003 Statut Membre Dernière intervention 5 octobre 2007 1
7 mai 2003 à 01:44
Essaie ceci:
char s[81];
memset(s, 0, 81);
cin >> s;
adherent[indice].nom= strdup(s);


Core Breaker :)
0
Rejoignez-nous