begin process at 2012 05 29 07:40:48
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Linux

 > 

Multimédia

 > 

liste de liste chainée


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

liste de liste chainée

dimanche 14 mars 2010 à 22:57:00 | liste de liste chainée

help26

je veux créer une liste (verticale) des noms et prenoms et villes et meme ces 3 elements representent un liste donc c'est une liste (horizontale) de liste mai je trouve un probleme au niveau de l'ajout vertical voila ce que j'ai fait , slv aider moi

typedef struct _ListeDesInvites {
char nom[30];
struct _coordonnees *cor;
struct _ListeDesInvites *suivant;
} invite;

typedef struct _coordonnees {
char id[50];
struct _coordonnees *next;
} cor;


//ajouter les coordonnes d'un invite
void ajout_cor(cor *p, char *chaine)
{
cor *q;
cor *r=Malloc(cor);
strcpy(r->id, chaine);
if(p!=NULL)
{
q=p;
while(q->next!=NULL) q=q->next;
q->next=r;
r->next=NULL;
}
else r->next=p;
}

//inserer au debut
invite * inserer_debut(invite *p, char *chaine)
{
char *intro;
invite *q=Malloc(invite);
strcpy(q->nom, chaine);
printf("\ndonner prenom:");
scanf("%s",intro);
ajout_cor(q->cor,intro);
printf("\ndonner ville");
scanf("%s",intro);
q->suivant=p;
printf("\nfin ajout");
return q;
}


//inserer juste apres p:
void inserer_apres(invite *p, char * chaine)
{
char *intro;
invite *q=Malloc(invite);
strcpy(q->nom, chaine);
printf("\ndonner prenom:");
scanf("%s",intro);
ajout_cor(q->cor,intro);
printf("\ndonner ville");
scanf("%s",intro);
q->suivant=p->suivant;
p->suivant=q;
}




//ajouter un invite a la liste
invite * ajout_invite_ord(invite *premier, char * chaine)
{
/*cor * r=Malloc(cor);
strcpy(r->id,chaine);*/
invite *p1,*p2;
p2=NULL;
p1=premier;
while((p1!=NULL) && (strcmp(chaine,p1->nom)>0))
{
p2=p1;
p1=p1->suivant;
}
if (p2==NULL) premier=inserer_debut(premier,chaine);
else inserer_apres(p2,chaine);
return premier;
}



void afficher(invite * p)
{
cor * q;
while(p!=NULL)
{
printf("\n\n\n");
printf("\nl'identite : %s \t***\t ",p->nom);
q=p->cor;
while(q!=NULL)
{
printf("%s",q->id);
q=q->next;
}
p=p->suivant;
}
}






//main
void main()
{
int reponse=1;
char *intro;
//initialisation de la liste chainée
invite *premier;
premier=NULL;
while(reponse=1)
{
printf("\nvoulez vous ajouter un adherent? ");
scanf("%d",&reponse);
if(reponse==0) { printf("\ncomme vous voullez:)\n"); break;}
if(reponse==1)
{
printf("\nveuillez entrer le nom: ");
scanf("%s",intro);
premier=ajout_invite_ord(premier,intro);
}
}
afficher(premier);
getch();
exit(-1);
}















Cette discussion est classée dans : chaine, printf, intro, invite, cor


Répondre à ce message

Sujets en rapport avec ce message

Chaine de caractère ! [ par rems14 ] Bonjour, j'ai fais un petit programme qui ne marche pas. POuvais vous me dire ce qui ne marche pas. Je vous explique, je veux demander le prénom de qu HELP HELP EN C !!! [ par cali1983 ] Voilà j'ai un problème pour crypter un texte j'ai fais un programme il n'a aucune erreur si ce n'est qu'il veut pas faire ce que je dis.Il ne veut pas Separer une chaine en sous chaine [ par firemax ] Bonjour Je me posais une question , j'aimerais diviser une chaine en sous chaine pour pouvoir ensuite les trier par longueur de chaine de caractere Chaine de caractère [ par Thanatoster ] Bonjour a tous, mon problème est le suivant, pour les cours je dois faire un programme d'apres l'énoncé suivant"saisir au clavier des éléments chaine Chaine de caractere en C [ par YURIX ] J'ai un probléme avec une chaine de caracterechar choix1;printf("Test des axes L,T et V      : AX\n");printf("\nVotre choix :");     scanf("%s", choix Conversion étrange [ par Ziman ] Bonjour,je viens de tomber sur un cas bizarre lol. En fait, je fais ceci un moment :chaine[x] = 130;printf ("%d\n", chaine[x]);pour attribuer à l'octe comparaison de chaine de caracteres [ par romainbisson ] Bonjour,je voudrais comparer une chaine de caractere avec le caractere \n, si ils sont identitiques cela m'incremente un nombre.    char c;    char l Gestion de plusieurs ports RS232 [ par dissezfr ] Bonjour à tous d'abordJ'ai récupéré un code sur le site permettant de géré un port série, j'aimerai piloter 8 (voir +) ports série avec un seul ordina liste chainée [ par skulls94 ] bonjour, je dois faire un  programme qui lit un fichier mot à mot et qui les stocke dans une liste chainée seulement si ils ne sont pas deja present.v comparaison qui ne s'effectue pas [ par chris5874 ] Bonjour,je cherche a faire une comparaison entre un mot entre avec le clavier et des enregistrements dans un fichier. Malheureusement, malgre tous mes


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,281 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales