1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    mai 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 20
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : mai 2018
    Messages : 2
    Points : 2
    Points
    2

    Par défaut Affichage des éléments d'une liste chainée

    Bonsoir,
    J'ai un problème à l'exécution À la place du nom que j'ai écrit il y a des symboles qui s'affichent. Voilà le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    /******** structure employe *********/
    typedef struct Employe
    { int Id;
    char Nom[3];
    int Matricule;
    int Salaire ;
     
    }Employe;
    /**********fonction ajouter*********/
     void ajouter(int id,char nom[3],int matricule,int salaire,Employe *e)
    {e->Id=id;
    strcpy(e->Nom,nom);
      e->Matricule=matricule;
      e->Salaire=salaire;
     }
     /*************fonction afficher************/
     void afficher(Employe *e){
    printf("ID : %d\n",e->Id);
    printf("Nom  et Prenom : %s\n", e->Nom);
    printf("Matricule  : %d\n",e->Matricule);
    printf("Le salaire est : %d DH \n\n ",e->Salaire);
     }
    /********* fonction afficher tout *****/
    void affichertout(Employe tab[],int n){
    int i;
    for(i=0;i<n;i++)
    {
        printf(" ** Employe %d  ** \n\n",i+1);
        afficher(tab+i);
    }
     
    }
    /*********** fonction modifier **********/
    void modifier (int id ,int salaire,int matricule, Employe tab[],int n){
    int i;
     
    for(i=0;i<n;i++)
    {
      if(tab[i].Id==id)
      {
          tab[i].Salaire=salaire;
    }  }
    }
     
    /************ fonction rechercher ************************/
    Employe rechercher(int id,Employe tab[],int n){
     
        int i;
    Employe a={0,"",0};
    for(i=0;i<n;i++)
    {
      if(tab[i].Id==id  )
      {
          a=tab[i]; //a=tab+i
          break;
      }
    }
    return a;
    }
     
    int main()
    { printf(" Liste des employes : \n\n");
     
    Employe E[3];
    Employe EP[3];
    //Appel du foction ajouter
    ajouter(1,"Karim ",1, 3000 ,E);
    ajouter(2,"Houssni",120, 4500 ,E+1);
    ajouter(3,"Alami" ,1250, 400 ,E+2);
    afficher(E);//afficher  un employe
    affichertout(EP,2);//afficher tout les employes
    return 0;
    }
    Autre chose : quelqu'un peut m'aider pour faire l'appel des fonctions suivants (rechercher, modifier) et aussi pour créer d'autre fonctions telles que (trier, supprimer).

    Merci d'abord

  2. #2
    Membre expert
    Inscrit en
    mars 2005
    Messages
    1 305
    Détails du profil
    Informations forums :
    Inscription : mars 2005
    Messages : 1 305
    Points : 3 796
    Points
    3 796

    Par défaut

    strcpy(e->Nom, "Karim "); : que penses-tu qu'il se produise ici lorsque e->Nom est de type char [3] ? Vraie question.

    Citation Envoyé par Panda98 Voir le message
    Autre chose : quelqu'un peut m'aider pour faire l'appel des fonctions suivants (rechercher, modifier) et aussi pour créer d'autre fonctions telles que (trier, supprimer).
    Non. Pour deux raisons principalement :

    • il te revient de nous proposer des solutions ;
    • le forum est rempli de fils à propos des opérations sur les listes chaînées, c'est probablement le sujet le plus discuté.

  3. #3
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur systèmes embarqués
    Inscrit en
    juin 2009
    Messages
    3 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur systèmes embarqués

    Informations forums :
    Inscription : juin 2009
    Messages : 3 859
    Points : 10 507
    Points
    10 507
    Billets dans le blog
    1

    Par défaut

    Citation Envoyé par Matt_Houston Voir le message
    le forum est rempli de fils à propos des opérations sur les listes chaînées, c'est probablement le sujet le plus discuté.


    Certains ont même posté des implémentations toutes faites pour ceux que ça intéressent
    Voir https://www.developpez.net/forums/d1...liste-chainee/

  4. #4
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    mai 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 20
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : mai 2018
    Messages : 2
    Points : 2
    Points
    2

    Par défaut

    Merci beaucoup pour votre aide

  5. #5
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    février 2006
    Messages
    6 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : février 2006
    Messages : 6 368
    Points : 17 676
    Points
    17 676
    Billets dans le blog
    1

    Par défaut

    Citation Envoyé par Panda98 Voir le message
    quelqu'un peut m'aider pour créer d'autre fonctions telles que trier
    Bonjour

    Inutile d'écrire la fonction "trier" car une liste chainée est sensée être toujours triée (tout nouvel élément venant s'insérer à sa bonne place). C'est justement pour cette seule raison qu'on crée une liste chainée. Parce que sans ça, il n'y aurait aucune différence entre une liste chainée et un tableau... sauf que le tableau offre des possibilités d'accès direct que n'offre pas la liste chainée. Bref une liste chainée non triée serait comme un tableau sans les avantages du tableau...

    Citation Envoyé par Bktero Voir le message
    Certains ont même posté des implémentations toutes faites pour ceux que ça intéressent
    Voir https://www.developpez.net/forums/d1...liste-chainee/
    Quel honneur !!!

    Et très prochainement je proposerai une liste chainée multicritères avec possibilité de rajouter/supprimer des critères à chaud...
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 13/12/2010, 09h34
  2. [DisplayTag] Affichage d'une partie des éléments d'une liste sur un critère
    Par jaguars_s dans le forum Taglibs
    Réponses: 4
    Dernier message: 30/07/2010, 18h15
  3. affichage des éléments d'une liste
    Par ajor dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 30/07/2009, 12h55
  4. affichage des éléments d'une liste horizontalement
    Par progamer54 dans le forum JSF
    Réponses: 7
    Dernier message: 16/04/2007, 10h34
  5. Eviter l'affichage des éléments d'une liste déroulante
    Par auriolbeach dans le forum Access
    Réponses: 1
    Dernier message: 28/02/2006, 07h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo