IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Liste chaîne


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudient ingénieur système d'information mobile
    Inscrit en
    Mars 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudient ingénieur système d'information mobile

    Informations forums :
    Inscription : Mars 2007
    Messages : 131
    Par défaut Liste chaîne
    Bonjour,
    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
    #include<stdio.h>
    #include<stdlib.h>
    #include<conio.h>
    #include<iostream.h> 
     
    struct cellule
    {
    char nom[50]; 
    struct cellule *next;                  // pointeur vers la cellule suivante
     };    
    typedef struct cellule cell;   
     
    cell *creation_de_ma_liste(char nom_famille[50])
    {
     
     
     int n;                                       /* nombre d'element a saisir */
     int i;                                       /* Un compteur jusqu'à n */
     cell *ptr;                                   /* Pointeur  */
     
     do
     {
     clrscr();
     printf("Donnez le nombre déléments de votre liste:");
     scanf("%d",&n);
     }while(n<=0);
     
    for(i=0;i<n;i++)
    {
    ptr=(cell*)malloc(sizeof(cell));
    printf("Veuillez Saisir un entier : ");
    scanf("%3c",&nom_famille);        
    ptr->nom=nom_famille;  //cannot convert from 'char []' to 'char [50]'  voici mon probleme //
    ptr->next=head; 
    head=ptr;
    }
    return head;
    }
     
    void insertion_dune_famille(char nom_insere[50])
    {
                                                 // le nom a verifier l'existance //
    int pos=1;                                   // Pour l'indice de l'occurence //
    cell *ptr=head;                              // pointeur sur la liste //
    cell*nouvelelement=(cell*)malloc(sizeof(cell));
    puts(" Introduisez le nom à insere dans la liste :");
    scanf("%c",&nom_insere);
     
    while((ptr!=NULL)&&(ptr->nom!=nom_insere))  
    {
    pos++;                            
    ptr=ptr->next;                  
    }
    if(ptr!=NULL)
    {
    printf(" %d existe à la position %d dans la liste.",nom_insere,pos);
    }else     // on insere la famille a la fin de la liste //
    {
    nouvelelement->nom=nom_insere;        
    nouvelelement->next=null;
    ptr->next=nouvelelement;            
    }
    return head;                    
    }
    voici le code que jai fait
    le mesage d'erreur :
    cannot convert from 'char []' to 'char [50]'

    je n'ai pas compris comment j'ai tout essayer .
    et a la fin return head un message me dit
    'void' function returning a value

    aidez-moi svp
    merci

  2. #2
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Par défaut
    Lorsque tu déclares qu'une fonction est de type "void" celà veut-dire qu'elle ne retourne pas de valeur. Or toi tu indiques qu'elle retourne "head" donc le compilo n'est pas content et il râle. tu devrait déclarer ta fonction de type "cell *" (si j'ai bien compris).
    D'autre part, si j'ai bien lu, head n'est pas déclaré dans ta fonction, ce serait donc une variable globale, si c'est le cas, c'est une grave erreur de conception, on évite d'utiliser les variables lgobales et en général on ne le retourne pas.
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  3. #3
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par yassin123441 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    #include<stdio.h>
    #include<stdlib.h>
    #include<conio.h>
    #include<iostream.h>
    Pas du C et du mauvais C++...
    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
     
     
    -------------- Build: Debug in hello ---------------
     
    Compiling: main.c
    Linking console executable: bin\Debug\hello.exe
    C:\dev\hello\main.c:4:21: iostream.h: No such file or directory
    C:\dev\hello\main.c: In function `creation_de_ma_liste':
    C:\dev\hello\main.c:23: warning: implicit declaration of function `clrscr'
    C:\dev\hello\main.c:32: warning: char format, pointer arg (arg 2)
    C:\dev\hello\main.c:33: error: incompatible types in assignment
    C:\dev\hello\main.c:34: error: `head' undeclared (first use in this function)
    C:\dev\hello\main.c:34: error: (Each undeclared identifier is reported only once
    C:\dev\hello\main.c:34: error: for each function it appears in.)
    C:\dev\hello\main.c: In function `insertion_dune_famille':
    C:\dev\hello\main.c:44: error: `head' undeclared (first use in this function)
    C:\dev\hello\main.c:47: warning: char format, pointer arg (arg 2)
    C:\dev\hello\main.c:56: warning: int format, pointer arg (arg 2)
    C:\dev\hello\main.c:59: error: incompatible types in assignment
    C:\dev\hello\main.c:60: error: `null' undeclared (first use in this function)
    C:\dev\hello\main.c:63: warning: `return' with a value, in function returning void
    Process terminated with status 1 (0 minutes, 0 seconds)
    8 errors, 5 warnings

Discussions similaires

  1. Réponses: 7
    Dernier message: 22/10/2005, 19h20
  2. Liste chaînée
    Par kilinette dans le forum C
    Réponses: 6
    Dernier message: 17/10/2005, 23h45
  3. Listes chaînées circulaires
    Par gege2061 dans le forum Algorithmes et structures de données
    Réponses: 15
    Dernier message: 11/05/2005, 13h44
  4. Construction de liste chaînées
    Par fomblardo dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 15/03/2005, 21h19
  5. Insertion d'un noeud dans une liste chaînée
    Par habib106 dans le forum Assembleur
    Réponses: 8
    Dernier message: 07/04/2004, 22h34

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