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 :

pbm des structures en C


Sujet :

C

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2009
    Messages : 11
    Points : 17
    Points
    17
    Par défaut pbm des structures en C
    bonjours à tous,comme le titre indique ,j'ai rencontré un pbm de manipulation des structures et voici mon 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
    77
    78
     
    #include<stdio.h>
    #include<conio.h>
    typedef struct individu1{
           char nom[30];
           int an_nais;
           char tel[20];
           }individu; 
    void saisir2(individu*ptidv)
    { 
     printf("entrer un nom:\n");
     scanf("%s",ptidv->nom);
     printf("entrer l'annee de naissance:\n");
     scanf("%d",&ptidv->an_nais);
     printf("entrer le numero telephone:\n");
     scanf("%s",ptidv->tel);    
    }  
    int identiques(individu m1,individu m2)
    {
     int test=0;
     if((m1.nom == m2.nom) && (m1.an_nais == m2.an_nais) && (m1.tel == m2.tel))
      test=1;
     return test;    
    }            
    void afficher(individu t[],int nbInd)
    {
     int i;
     for(i=0;i<nbInd;i++)
      {
       printf("%s\n",t[i].nom);
       printf("%d\n",t[i].an_nais);
       printf("%s\n",t[i].tel);                  
      }    
    }
    int position(individu m,individu t[],int nbInd)
    {
     int pos=-1,i=0;
     while(pos==-1 && i<nbInd)
      {if(identiques(m,t[i])==1)
        pos=i;
       i++;
      }
     return pos; 
    }
    int chercher(individu m,individu t[],int nbInd,char*nt)
    {
     int pos=position(m,t,nbInd);
     if(pos!=-1)
      {nt=t[pos].tel;
       return 1;
      } 
     else
      return 0;   
    }
    main()
    {
     int nbr,pos,i;individu m;char *ch;
     printf("entrer le nombre des individus:\n");
     scanf("%d",&nbr);
     individu tab[nbr];
     printf("lecture du tebleau:\n\n");
     for(i=0;i<nbr;i++)
      {
       saisir2(&m);                
       tab[i]=m;                
      }
     printf("affichage des infos concernent les individus du tableau:\n");
     afficher(tab,nbr);
     printf("entrer un individu pour le chercher:\n");
     saisir2(&m);
     pos=chercher(m,tab,nbr,ch);
     printf("%d",pos);
     if(pos==0)
      printf("element inexistant:\n");
     else
      printf("sa position est:%d \n son numero telephone est:%s",pos,ch);
     getch();     
    }
    à la phase d'éxécution,lorsque je saisis:
    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
    le nombre d'individus ou bien la taille du tableau:
    3
    t[0]
    edward
    1985
    0135878
    t[1]
    paul
    1980
    0315487
    t[2]
    jean
    1957
    0624295
    l'individu à chercher:
    paul
    1980
    0315487
    le prgm m'affiche:"element inexistant" , ce qui impossible
    moi je pense que la source d'erreur est la fonction identiques,et vous?

  2. #2
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Mei,

    Pour comparer des chaines de caractères, il faut utiliser strcmp.

    (Là, tu compares les adresses des chaines. )
    Si les cons volaient, il ferait nuit à midi.

Discussions similaires

  1. [Lex/Yacc] Aide traduction des structures de contrôle
    Par pelo68 dans le forum Générateurs de compilateur
    Réponses: 2
    Dernier message: 07/12/2010, 10h26
  2. Comment trouver des structures incluses dans d'autres
    Par Vulcanos dans le forum Langage SQL
    Réponses: 2
    Dernier message: 13/10/2006, 23h59
  3. Operations bit à bit sur des structures
    Par DarkNagash dans le forum C
    Réponses: 4
    Dernier message: 16/03/2006, 13h59
  4. [Stratégie] Type des structure de persistance
    Par calogerogigante dans le forum Général Java
    Réponses: 10
    Dernier message: 09/02/2006, 08h06
  5. Probleme avec des structures
    Par lenectar dans le forum C
    Réponses: 17
    Dernier message: 30/12/2005, 09h53

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