Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
785 connectés 

  FORUM HardWare.fr
  Programmation
  C

  strcmp entre 2 structures

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

strcmp entre 2 structures

n°1029630
finch911
Posté le 30-03-2005 à 12:44:06  profilanswer
 

Salut,  
je doit comparer le nom d'une personne avec les autres noms qui se situe dans la même structure.
p reste fixe (il vaut: "Dupont" ) et pdebut bouge dans la structure (il vaut "Begg" puis "Gaston"...)
 
Voilà le code qui se situe dans la boucle

Code :
  1. printf("\nNom1: %s",pdebut->nom);
  2. printf("\nNom2: %s",p->nom);
  3. tmp=strcmp(pdebut->nom,p->nom);
  4. printf("\nResultat: %d",tmp);


 
Le premier passage dans la boucle donnera:
Nom1: Begg
Nom2: Dupont
Resultat: -1
 
En principe ca devrait donner "1" non?
 
Dans le deuxième passage on obtient:
Nom1: Gaston
Nom2: Dupont
Resultat: -1
 
Ici le résultat est le même ce qui n'a aucun sens vu que Begg>Dupont>Gaston
 
 
Vu qu'il m'affiche correctement les noms, je pense que c'est mon strcmp qui va mal...
 
Est-ce que quelqu'un pourrait me dire ce qui cloche?  :jap:  
 
Merci d'avance


Message édité par finch911 le 30-03-2005 à 12:45:36
mood
Publicité
Posté le 30-03-2005 à 12:44:06  profilanswer
 

n°1029699
betsamee
Asterisk Zeperyl
Posté le 30-03-2005 à 14:01:07  profilanswer
 

Citation :

En principe ca devrait donner "1" non?  


non

n°1029767
finch911
Posté le 30-03-2005 à 14:45:16  profilanswer
 

Oui c'est vrais j'avais mal lu...
Mais pour le deuxième ca doit donner 1...
Quesqu'y ne va pas dans ma syntaxe?

n°1029848
Emmanuel D​elahaye
C is a sharp tool
Posté le 30-03-2005 à 15:31:15  profilanswer
 

finch911 a écrit :

je doit comparer le nom d'une personne avec les autres noms qui se situe dans la même structure.
p reste fixe (il vaut: "Dupont" ) et pdebut bouge dans la structure (il vaut "Begg" puis "Gaston"...)
 
Voilà le code qui se situe dans la boucle

Code :
  1. printf("\nNom1: %s",pdebut->nom);
  2. printf("\nNom2: %s",p->nom);
  3. tmp=strcmp(pdebut->nom,p->nom);
  4. printf("\nResultat: %d",tmp);


 
Le premier passage dans la boucle donnera:
Nom1: Begg
Nom2: Dupont
Resultat: -1
 
En principe ca devrait donner "1" non?
 
Dans le deuxième passage on obtient:
Nom1: Gaston
Nom2: Dupont
Resultat: -1
 
Ici le résultat est le même ce qui n'a aucun sens vu que Begg>Dupont>Gaston
 
Vu qu'il m'affiche correctement les noms, je pense que c'est mon strcmp qui va mal...


Je n'ai pas ce problème avec ce code:


#include <stdio.h>
#include <string.h>
 
int main (void)
{
   printf ("%d\n", strcmp ("Dupont", "Begg" ));
   printf ("%d\n", strcmp ("Dupont", "Gaston" ));
   printf ("%d\n", strcmp ("Dupont", "Dupont" ));
   
   return 0;
}


Qui produit:


1
-1
0


Message édité par Emmanuel Delahaye le 30-03-2005 à 15:32:48

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1033507
finch911
Posté le 03-04-2005 à 12:00:23  profilanswer
 

J'ai comprit!
Si je tape la première lettre du premier nom en maj et la première lettre du second nom en minuscule, ca débloque...
Je comprend pas pourquoi...
 
J'ai fait dans ma fonction un retour de Maj, donc tout les noms seront en maj, donc plus de problème  :jap:

n°1033514
Emmanuel D​elahaye
C is a sharp tool
Posté le 03-04-2005 à 12:13:14  profilanswer
 

finch911 a écrit :

Si je tape la première lettre du premier nom en maj et la première lettre du second nom en minuscule, ca débloque...
Je comprend pas pourquoi...
 
J'ai fait dans ma fonction un retour de Maj, donc tout les noms seront en maj, donc plus de problème  :jap:


Lire la doc de strcmp(). Les chaines doivent être strictement identiques...


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  strcmp entre 2 structures

 

Sujets relatifs
[resolu]petit pb de structures...[C/C++] Toujours les structures / Accès direct
[C/C++] Lecture de structures en C++ ? Nouvelles questions >[ansi] utilisation de types ou structures définis ailleurs ...
Comparer deux structures[C] [ résolu]pbm pointeur et tableau de structures
Besoin de modèles pré-structurés ?comparer 2 structures
Structures de données et complexitéCondition et strcmp
Plus de sujets relatifs à : strcmp entre 2 structures


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR