Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 21/05/2012, à 13:28

jurce

liste chainée ( mon projet ne boucle pas en creation)

Salut ,

voilà mon code j'arrive pas à boucler la création de la liste

#include<stdio.h>
#include<alloc.h>
#include<conio.h>
//==============================================
typedef int Element;
struct Noeud
                {
                Element valeur;
                Noeud *suivant;
                };

//==============================================
//creation d'une liste
Noeud creationListe();
// Affiche le Noeud
void afficherNoeud(Noeud);
// Ajoute une valeur au début de la liste
//listeNoeud ajouterValeurDebut(listeNoeud);

//===============================================
void afficherNoeud(Noeud *Liste)
                        {
                        Noeud *L = Liste;
                        int i = 1;
                        while(L != NULL)
                                            {
                                            printf("    La liste N°: %d\n",i);
                                            printf("======================\n");
                                            printf(" Valeur = %d",L->valeur);
                                            L = L->suivant;
                                            i++;
                                            }
                        }
/*listeNoeud ajouteValeurDebut(listeNoeud Liste ,Element V )
                                      {
                                      listeNoeud *Nouveau ;
                                      Element v;
                                      Nouveau = (listeNoeud*)malloc(sizeof(listeNoeud));
                                      printf("\n Entrez une valeur :");
                                      scanf("%d",&v);

                                      Nouveau->suivant = Liste;
                                      Liste = *Nouveau;
                                      return Liste;
                                      } */
Noeud creationListe()
                                {
                                 Noeud  *Courant;
                                    puts("Entrer une valeur ");
                                    scanf("%d" , &Courant->valeur);
                                    Courant->suivant = (Noeud*)malloc(sizeof(Noeud));
                                    Courant = Courant->suivant;
                                    return *Courant;
                                 }


//====================================================================

int main()
              {
              Noeud *L  ;
              L = (Noeud*)malloc(sizeof(Noeud));
              int choix = 0;
                do {
                     puts("             Menu principal:");
                     puts("1. Creation d'une liste");
                     puts("2. Ajouter une valeur au debut de la liste");
                     puts("3. Afficher la liste");
                     puts("0. Quitter\n");
                     printf("Entrer votre choix: ");
                     scanf("%d", &choix);
                            if(choix == 1)
                                             {
                                             char choix1;
                                             do
                                             {
                                             clrscr();

                                             puts(" saisie une liste o/n :");
                                             choix1 = getche();
                                             if(choix1 == 'o' || choix1 == 'O')
                                                    *L = creationListe();
                                                    else L->suivant = NULL;
                                             }while(choix1 == 'o' || choix1 =='O');
                                             }


                            else
                            if(choix == 2)
                                             {
                                             if(L != NULL) afficherNoeud(L);
                                             else
                                                    puts("La liste des camions est vide\n");
                                             }
                            else
                            if(choix == 0)
                            puts("Merci et au revoir!!!");

                                else
                                puts("Vous avez saisi un numéro qui ne figure pas dans le menu"
                                ", veuillez taper un numéro entre 1 et 6 ou 0 pour "
                                "quitter\n");
                     } while(choix !=0);





              return 0;
              }

merci d'avance


Que dieu être avec nous

Hors ligne

#2 Le 21/05/2012, à 15:43

telliam

Re : liste chainée ( mon projet ne boucle pas en creation)

Je serais toi je travaillerai avec des pointeurs, plutot que de prendre ou de retourner une structure complete.
ça faciliterait la relecture et le debuggage de ton code.


"- Un intellectuel assis va moins loin qu'un con qui marche."
Maurice Biraud - Un Taxi pour Tobrouk
Michel Audiard

Hors ligne