Les listes chaînées en langage c
Résolu/Fermé
scarface15
-
24 déc. 2009 à 12:20
scarface15 Messages postés 11 Date d'inscription jeudi 24 décembre 2009 Statut Membre Dernière intervention 1 mai 2010 - 24 déc. 2009 à 13:22
scarface15 Messages postés 11 Date d'inscription jeudi 24 décembre 2009 Statut Membre Dernière intervention 1 mai 2010 - 24 déc. 2009 à 13:22
A voir également:
- Les listes chaînées en langage c
- Langage ascii - Guide
- Liste déroulante en cascade - Guide
- Langage binaire - Guide
- Pascal langage - Télécharger - Édition & Programmation
- Langage pascal - Télécharger - Édition & Programmation
13 réponses
scarface15
Messages postés
11
Date d'inscription
jeudi 24 décembre 2009
Statut
Membre
Dernière intervention
1 mai 2010
3
24 déc. 2009 à 13:13
24 déc. 2009 à 13:13
non ca marche pas il me fait une boucle infini
scarface15
Messages postés
11
Date d'inscription
jeudi 24 décembre 2009
Statut
Membre
Dernière intervention
1 mai 2010
3
24 déc. 2009 à 13:11
24 déc. 2009 à 13:11
ok je vais voir
cheikh35
Messages postés
145
Date d'inscription
dimanche 6 septembre 2009
Statut
Membre
Dernière intervention
21 septembre 2011
15
24 déc. 2009 à 12:22
24 déc. 2009 à 12:22
Je vais voir et je te dis !!!
chuka
Messages postés
965
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
29 juillet 2010
378
24 déc. 2009 à 12:41
24 déc. 2009 à 12:41
Salt,
rajoute cela:
void creation_liste(Element *nouveau_element)
{
char marque;
printf("bonjour,vous etes sur le point de creer une nouvelle liste \n");
printf("cette liste va contenir vos marques automobile de type caractere \n \n");
printf("******faites entrez une marque:******\n");
nouveau_element =malloc (sizeof (Element));
scanf("%c",&marque);
fflush(stdin);//<- vide le buffer d'entrée
nouveau_element->marque_auto=marque;
nouveau_element->suivant = NULL;
}
Ca devrait marcher....
@+
rajoute cela:
void creation_liste(Element *nouveau_element)
{
char marque;
printf("bonjour,vous etes sur le point de creer une nouvelle liste \n");
printf("cette liste va contenir vos marques automobile de type caractere \n \n");
printf("******faites entrez une marque:******\n");
nouveau_element =malloc (sizeof (Element));
scanf("%c",&marque);
fflush(stdin);//<- vide le buffer d'entrée
nouveau_element->marque_auto=marque;
nouveau_element->suivant = NULL;
}
Ca devrait marcher....
@+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
scarface15
Messages postés
11
Date d'inscription
jeudi 24 décembre 2009
Statut
Membre
Dernière intervention
1 mai 2010
3
24 déc. 2009 à 12:49
24 déc. 2009 à 12:49
oh merci beaucoup chuka pour ta réponse ca marche très bien,,,,,dis moi peut tu m'expliquer cette ligne que tu a ajouter est-ce-que c'est une fonction qui travaille un peut free ou pas .......merci beaucoup
chuka
Messages postés
965
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
29 juillet 2010
378
24 déc. 2009 à 12:55
24 déc. 2009 à 12:55
Salut,
ben en quelque sorte oui, c'est un peu comme free.. Ca réinisialise le buffer d'entrée..donc supprime tous les caracteres de celui ci (et certainement il y avait un caractere du type \n qui y restait!!)
@+
ben en quelque sorte oui, c'est un peu comme free.. Ca réinisialise le buffer d'entrée..donc supprime tous les caracteres de celui ci (et certainement il y avait un caractere du type \n qui y restait!!)
@+
scarface15
Messages postés
11
Date d'inscription
jeudi 24 décembre 2009
Statut
Membre
Dernière intervention
1 mai 2010
3
24 déc. 2009 à 12:58
24 déc. 2009 à 12:58
ah d'accord......et j'ai une autre question sur l'affichage de ma liste finale que dois je ajouter pour cela......merci pour ton aide......a+
scarface15
Messages postés
11
Date d'inscription
jeudi 24 décembre 2009
Statut
Membre
Dernière intervention
1 mai 2010
3
24 déc. 2009 à 13:02
24 déc. 2009 à 13:02
chuka voila ce que j'ai ajouter mai lors de l'affichage ca ne marche pas
#include <stdio.h>
#include <stdlib.h>
typedef struct Element_Liste
{
char *marque_auto;
struct Element_Liste *suivant;
}Element;
void creation_liste(Element *nouveau_element)
{
char marque;
printf("bonjour,vous etes sur le point de creer une nouvelle liste \n");
printf("cette liste va contenir vos marques automobile de type caractere \n \n");
printf("******faites entrez une marque:******\n");
nouveau_element =malloc (sizeof (Element));
scanf("%c",&marque);
fflush(stdin);//<- vide le buffer d'entrée
nouveau_element->marque_auto=marque;
nouveau_element->suivant = NULL;
}
int main(int argc, char **argv)
{
Element *nouveau_element;
Element *element;
char marque_a_ajouter;
creation_liste(nouveau_element);
printf("vous etes sur le point d'ajouter un nouveau element dans votre liste de marques automobile \n \n");
printf("veuillez saisir la nouvelle marque a ajouter dans votre liste \n \n");
printf("******faites entrez une nouvelle marque:******\n");
element =malloc (sizeof (Element));
scanf("%c",&marque_a_ajouter);
element->marque_auto = marque_a_ajouter;
element->suivant = nouveau_element;
while (nouveau_element != NULL)
{
printf("%c\n", nouveau_element->marque_auto);
nouveau_element=nouveau_element->suivant;
}
printf("merci,au revoir \n \n");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
typedef struct Element_Liste
{
char *marque_auto;
struct Element_Liste *suivant;
}Element;
void creation_liste(Element *nouveau_element)
{
char marque;
printf("bonjour,vous etes sur le point de creer une nouvelle liste \n");
printf("cette liste va contenir vos marques automobile de type caractere \n \n");
printf("******faites entrez une marque:******\n");
nouveau_element =malloc (sizeof (Element));
scanf("%c",&marque);
fflush(stdin);//<- vide le buffer d'entrée
nouveau_element->marque_auto=marque;
nouveau_element->suivant = NULL;
}
int main(int argc, char **argv)
{
Element *nouveau_element;
Element *element;
char marque_a_ajouter;
creation_liste(nouveau_element);
printf("vous etes sur le point d'ajouter un nouveau element dans votre liste de marques automobile \n \n");
printf("veuillez saisir la nouvelle marque a ajouter dans votre liste \n \n");
printf("******faites entrez une nouvelle marque:******\n");
element =malloc (sizeof (Element));
scanf("%c",&marque_a_ajouter);
element->marque_auto = marque_a_ajouter;
element->suivant = nouveau_element;
while (nouveau_element != NULL)
{
printf("%c\n", nouveau_element->marque_auto);
nouveau_element=nouveau_element->suivant;
}
printf("merci,au revoir \n \n");
return 0;
}
chuka
Messages postés
965
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
29 juillet 2010
378
24 déc. 2009 à 13:05
24 déc. 2009 à 13:05
une piste du style:
int main(int argc, char **argv)
{
Element *nouveau_element=malloc (sizeof (Element));;
Element *element;
Element *courant;
char marque_a_ajouter;
creation_liste(nouveau_element);
printf("vous etes sur le point d'ajouter un nouveau element dans votre liste de marques automobile \n");
printf("veuillez saisir la nouvelle marque a ajouter dans votre liste \n");
printf("******faites entrez une nouvelle marque:******\n");
scanf("%c",&marque_a_ajouter);
element =(Element*)malloc (sizeof (Element));
element->marque_auto = marque_a_ajouter;
element->suivant = nouveau_element;
courant=element;
do
{
printf("%c\n",courant->marque_auto);
courant=courant->suivant;
}
while((courant!=NULL));
printf("merci,au revoir \n");
return 0;
}
J'espere ca pourra t'aider!!
@+
int main(int argc, char **argv)
{
Element *nouveau_element=malloc (sizeof (Element));;
Element *element;
Element *courant;
char marque_a_ajouter;
creation_liste(nouveau_element);
printf("vous etes sur le point d'ajouter un nouveau element dans votre liste de marques automobile \n");
printf("veuillez saisir la nouvelle marque a ajouter dans votre liste \n");
printf("******faites entrez une nouvelle marque:******\n");
scanf("%c",&marque_a_ajouter);
element =(Element*)malloc (sizeof (Element));
element->marque_auto = marque_a_ajouter;
element->suivant = nouveau_element;
courant=element;
do
{
printf("%c\n",courant->marque_auto);
courant=courant->suivant;
}
while((courant!=NULL));
printf("merci,au revoir \n");
return 0;
}
J'espere ca pourra t'aider!!
@+
scarface15
Messages postés
11
Date d'inscription
jeudi 24 décembre 2009
Statut
Membre
Dernière intervention
1 mai 2010
3
24 déc. 2009 à 13:08
24 déc. 2009 à 13:08
jai pas eu de réponse de ta part chuka
chuka
Messages postés
965
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
29 juillet 2010
378
24 déc. 2009 à 13:10
24 déc. 2009 à 13:10
Element *courant;
courant=element;
do
{
printf("%c\n",courant->marque_auto);
courant=courant->suivant;
}
while((courant!=NULL));
par contre je pense que dans ta struct, marque_auto est un char et non un char*
typedef struct Element_Liste
{
char marque_auto;
struct Element_Liste *suivant;
}Element;
courant=element;
do
{
printf("%c\n",courant->marque_auto);
courant=courant->suivant;
}
while((courant!=NULL));
par contre je pense que dans ta struct, marque_auto est un char et non un char*
typedef struct Element_Liste
{
char marque_auto;
struct Element_Liste *suivant;
}Element;
chuka
Messages postés
965
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
29 juillet 2010
378
24 déc. 2009 à 13:20
24 déc. 2009 à 13:20
Sinon, si tu veut une chaine de caractere pour la marque:
#include <stdio.h>
#include <stdlib.h>
typedef struct Element_Liste
{
char* marque_auto;
struct Element_Liste *suivant;
}Element;
void creation_liste(Element *nouveau_element)
{
char* marque=(char*)malloc(20*sizeof(char));
printf("bonjour,vous etes sur le point de creer une nouvelle liste \n");
printf("cette liste va contenir vos marques automobile de type caractere \n \n");
printf("******faites entrez une marque:******\n");
scanf("%s",marque);
fflush(stdin);
nouveau_element->marque_auto=marque;
nouveau_element->suivant = NULL;
}
int main(int argc, char **argv)
{
Element *nouveau_element=malloc (sizeof (Element));;
Element *element;
Element *courant;
char* marque_a_ajouter=(char*)malloc(20*sizeof(char));
creation_liste(nouveau_element);
printf("vous etes sur le point d'ajouter un nouveau element dans votre liste de marques automobile \n");
printf("veuillez saisir la nouvelle marque a ajouter dans votre liste \n");
printf("******faites entrez une nouvelle marque:******\n");
scanf("%s",marque_a_ajouter);
element =(Element*)malloc (sizeof (Element));
element->marque_auto = marque_a_ajouter;
element->suivant = nouveau_element;
courant=element;
do
{
printf("%s\n",courant->marque_auto);
courant=courant->suivant;
}
while((courant!=NULL));
printf("merci,au revoir \n");
return 0;
}
Bonne fete de fin d'année!!
@+
#include <stdio.h>
#include <stdlib.h>
typedef struct Element_Liste
{
char* marque_auto;
struct Element_Liste *suivant;
}Element;
void creation_liste(Element *nouveau_element)
{
char* marque=(char*)malloc(20*sizeof(char));
printf("bonjour,vous etes sur le point de creer une nouvelle liste \n");
printf("cette liste va contenir vos marques automobile de type caractere \n \n");
printf("******faites entrez une marque:******\n");
scanf("%s",marque);
fflush(stdin);
nouveau_element->marque_auto=marque;
nouveau_element->suivant = NULL;
}
int main(int argc, char **argv)
{
Element *nouveau_element=malloc (sizeof (Element));;
Element *element;
Element *courant;
char* marque_a_ajouter=(char*)malloc(20*sizeof(char));
creation_liste(nouveau_element);
printf("vous etes sur le point d'ajouter un nouveau element dans votre liste de marques automobile \n");
printf("veuillez saisir la nouvelle marque a ajouter dans votre liste \n");
printf("******faites entrez une nouvelle marque:******\n");
scanf("%s",marque_a_ajouter);
element =(Element*)malloc (sizeof (Element));
element->marque_auto = marque_a_ajouter;
element->suivant = nouveau_element;
courant=element;
do
{
printf("%s\n",courant->marque_auto);
courant=courant->suivant;
}
while((courant!=NULL));
printf("merci,au revoir \n");
return 0;
}
Bonne fete de fin d'année!!
@+
scarface15
Messages postés
11
Date d'inscription
jeudi 24 décembre 2009
Statut
Membre
Dernière intervention
1 mai 2010
3
24 déc. 2009 à 13:22
24 déc. 2009 à 13:22
merci bcp chuka.......bonne féte a vous ...a+