begin process at 2012 05 29 05:14:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Général

 > 

fonctions de listes chainees en c


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

fonctions de listes chainees en c

vendredi 10 avril 2009 à 18:52:59 | fonctions de listes chainees en c

loftiteau

bonjour

je souhaite avoir d'aide pour faire des fonctions d'ajout et suppression et modification en utilisant la liste chainé suivante en language c :

struct Date{
    int jour;
    int mois;
    int annee;
};
typedef struct Date Date;
struct cellule_client{
    int Id_client;
    char Nom[50];
    char Prenom[30];
    struct Date date_1ere_reservation;
    unsigned long Num_tel;
    struct cellule*suivant;
};
typedef struct cellule_client cellule_client;
struct liste_client{
    cellule_client*tete;
    cellule_client*queue;
};
typedef struct liste_client liste_client;


Merci d'avence


MLS
vendredi 10 avril 2009 à 19:47:38 | Re : fonctions de listes chainees en c

CptPingu

Administrateur CodeS-SourceS
Si tu bloques sur quelque chose, dis le, mais là, tu ne poses pas de question. On dirait que tu nous demandes de faire ton boulot.

Commence par poster ce que tu as fait, et les points de ton code qui ne fonctionne pas, on pourra alors te filer un coup de main.
samedi 11 avril 2009 à 14:15:25 | Re : fonctions de listes chainees en c

loftiteau


Bonjour

merci pour votre attention
voila mon code:

liste_avion Ajout_a_liste_avion(liste_avion* l,cellule_avion* c){
    liste_avion e;
    if (l->tete==NULL){
        l->tete=c;
        l->queue=c;
    }else{
        e=(liste_avion)malloc(sizeof(liste_avion));
        e->tete=c;|
        cellule*suivant=l.tete;
        l*tete=e*tete;
        free(e);
        return(l);
    };
};
liste_avion* Saisie_nouvel_avion(liste_avion l){
    cellule_avion* c;
    printf("veuillez remplir les champs suivants :\n\n");
    printf("Identifiant de l'avion :\t");
    scanf("%d",&(c->Id_avion));
    printf("Capacite en classe economique :\t");
    scanf("%d",&(c->capacite_c_eco));
    printf("Capacite en classe affaire :\t");
    scanf("%d",&(c->capacite_c_aff));
    l=Ajout_a_liste_avion(l,c);
    return(l);
};



MLS
samedi 11 avril 2009 à 16:35:22 | Re : fonctions de listes chainees en c

CptPingu

Administrateur CodeS-SourceS
Il n'y a pas de rapport entre la définition de structure (qui comportait déjà des erreurs) et ce que tu viens de poster (qui contient un nombre important d'erreur). As-tu seulement essayé de compiler ton code ?
Avec le peu d'information que tu donnes:

liste_avion* creer_cellule(cellule_client* client)
{
  liste_avion* liste = malloc(1 * sizeof (liste_avion);
  liste->tete = liste;
  liste->queue = liste;
  return liste;
}

liste_avion* Ajout_a_liste_avion(liste_avion* l, cellule_avion* c)
{
  liste_avion* e = creer_cellule(c);
  e->suivant = l;
  return e;
}
samedi 11 avril 2009 à 18:17:11 | Re : fonctions de listes chainees en c

loftiteau

Voila la déclaration et les fonctions correspondantes:

struct cellule_vol{
    int Num_vol;
    struct Date date_depart;
    struct Heure heure_depart;
    struct Date date_arrivee;
    struct Heure heure_arrivee;
    long M_Tot_HT;
    char Taxe;
    char Remise;
    int Identifiant_avion;
    struct cellule*suivant;
};
typedef struct cellule_vol cellule_vol;
struct liste_vol{
    cellule_vol*tete;
    cellule_vol*queue;
};
typedef struct liste_vol liste_vol;


et voila mes fonctions:

liste_avion Ajout_a_liste_avion(liste_avion* l,cellule_avion* c){
    liste_avion e;
    if (l->tete==NULL){
        l->tete=c;
        l->queue=c;
    }else{
        e=(liste_avion)malloc(sizeof(liste_avion));
        e->tete=c;|
        cellule*suivant=l.tete;
        l*tete=e*tete;
        free(e);
        return(l);
    };
};
liste_avion* Saisie_nouvel_avion(liste_avion l){
    cellule_avion* c;
    printf("veuillez remplir les champs suivants :\n\n");
    printf("Identifiant de l'avion :\t");
    scanf("%d",&(c->Id_avion));
    printf("Capacite en classe economique :\t");
    scanf("%d",&(c->capacite_c_eco));
    printf("Capacite en classe affaire :\t");
    scanf("%d",&(c->capacite_c_aff));
    l=Ajout_a_liste_avion(l,c);
    return(l);
};



le but est de remplir les champs d'un nouveau vol puis l'ajouter à la liste des vols.est-ce que ça marche?

merci pour votre aide;


MLS
samedi 11 avril 2009 à 18:22:04 | Re : fonctions de listes chainees en c

CptPingu

Administrateur CodeS-SourceS
Tu définis cellule_vol et liste_vol, mais tu utilises liste_avion et cellule_avion. Ca n'as pas de sens.
Non, ça ne peut pas fonctionner, qui plus est, si tu veux savoir si ça fonctionne, compile et teste le.
samedi 11 avril 2009 à 19:47:36 | Re : fonctions de listes chainees en c

loftiteau

j'essaie bien sur d'exécuter mais je trouve des erreurs concernant les affectation": cannot convert from 'cellule_avion *' to 'liste_avion *"

voila le code:

struct cellule_avion{
    int Id_avion;
    int capacite_c_eco;
    int capacite_c_aff;
    struct cellule*suivant;
};
typedef struct cellule_avion cellule_avion;
struct liste_avion{
    liste_avion* tete;
    liste_avion* queue;
};
typedef struct liste_avion liste_avion;



liste_avion Ajout_a_liste_avion(liste_avion* l,cellule_avion* c){
    liste_avion e;
    if (l->tete==NULL){
        l->tete=c;
        l->queue=c;
    }else{
        e=(liste_avion)malloc(sizeof(liste_avion));
        e->tete=c;|
        cellule*suivant=l.tete;
        l*tete=e*tete;
        free(e);
        return(l);
    };
};
liste_avion* Saisie_nouvel_avion(liste_avion l){
    cellule_avion* c;
    printf("veuillez remplir les champs suivants :\n\n");
    printf("Identifiant de l'avion :\t");
    scanf("%d",&(c->Id_avion));
    printf("Capacite en classe economique :\t");
    scanf("%d",&(c->capacite_c_eco));
    printf("Capacite en classe affaire :\t");
    scanf("%d",&(c->capacite_c_aff));
    l=Ajout_a_liste_avion(l,c);
    return(l);
};



merci bien
MLS
samedi 11 avril 2009 à 21:03:50 | Re : fonctions de listes chainees en c

CptPingu

Administrateur CodeS-SourceS
Il manque encore des choses:
- Qu'est censé faire la fonction Ajout_a_liste_avion ? Ajout en tête, ajout en queue ?
- Que représente cellule_avion ?
- Que représente liste_avion ?

Je suppose que cellule_avion est une liste chainée et liste_avion une information "sentinelle". Dans ce cas, quelle intérêt d'ajouter un élément à liste_avion ?
samedi 11 avril 2009 à 22:46:43 | Re : fonctions de listes chainees en c

loftiteau

cellule_avion est une stucrure de liste simplement chainnes, qui contient des informations concernant l'avion;
liste_avion est une structure de liste chainee sous forme de file avec tete qui pointe sur la 1ere avion et queue qui pointe sur la dernière avion,

alors on saisie les information concernant la nouvellle avion dans une cellule puis on ajoute l'avion à la liste des avion dans la base;

tu peux m'aider stp?

MLS
samedi 11 avril 2009 à 23:14:06 | Re : fonctions de listes chainees en c

CptPingu

Administrateur CodeS-SourceS
Tu es sur que liste_avion est une liste chaînée ? Ce n'est pas logique. Pourquoi avoir deux listes chaînées ?

1 2

Cette discussion est classée dans : date, liste, client, cellule, struct


Répondre à ce message

Sujets en rapport avec ce message

liste chainée double générique [ par issoux ] Bonsoir ,  j'ai un probleme dans mon code :  Code: #include <stdlib.h& Est ce que ma liste chainee generique est bien faite? [ par juju0169 ] Bonsoir a tous. Je vais une nouvelle fois avoir besoin de vous. Je viens de finir un module de liste chainee generique et je voudrais savoir s'il est Trier une liste chainée [ par ango973 ] Bonjour,J'ai un probleme avec une fonction qui doit me trier une liste chainée selon le nom mais apres le passage dans ma fonction la liste reste iden ajout d'un element à la fin d'une liste chainée [ par beatkof ] bonsoir je voudrai faire une fonction qui ajout un element à la fion d'une liste chainée et je n'y arrive pas voila ma fonction: #include #include s fuite memoire dans un programme [ par donlefou ] bonjour, quelqu'un pourrait regarder mon code pour voir d'où vient mes fuites memoires :template void C_Liste::ajouter_element(T elt){ // On crée un c Suppression cellule d'une liste doublement chainée [ par donlefou ] Quelqu'un pourrait m'écrire le code pour supprimer une cellule à une position dans une liste.J'ai un fichier C_Cellule.hpp / C_Cellule.cpp de cette st Listes chainées [ par angelfire0808 ] Bonjour voila voici mon, code j'ai une ereeur de compilation mais je ne comprend pas ;-(l'erreur c'est ici :   " nouveau->suivant=(*tete); ".De plus j classe avec liste simple [ par Olive512005 ] Bonjour ,je voudrais avant tout remercier pour les réponses que j'ai eu à propos du tableau. voila j'ai un petit problème à résoudre encore, il faud chargement d'une liste chainée à partir d'un fichier binaire qui contient des structures [ par achmer ] bonjours à tous... j'ai un petit problème au niveau de la récupération des structures (patient) enregistrées dans un fichier bonaire ,pour les charge


Nos sponsors


Sondage...

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 : 1,076 sec (4)

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