Un pb avec un strcmp
Fermé
donomar
-
18 avril 2008 à 13:00
donomar Messages postés 8 Date d'inscription vendredi 18 avril 2008 Statut Membre Dernière intervention 26 avril 2008 - 18 avril 2008 à 15:30
donomar Messages postés 8 Date d'inscription vendredi 18 avril 2008 Statut Membre Dernière intervention 26 avril 2008 - 18 avril 2008 à 15:30
2 réponses
mamiemando
Messages postés
33446
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 décembre 2024
7 812
18 avril 2008 à 14:14
18 avril 2008 à 14:14
Pour commencer pour a et i j'utiliserais plutôt des unsigned vu que ce sont des valeurs positives. Et pour initialiser vend :
Ensuite si tu regardes la documentation de strcmp tu t'apercevras que cette fonction retourne 0 si les deux chaînes sont strictement égales (il suffit de taper dans google man strcmp) :
http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man3/strcmp.3.html
Si le test ne retourne pas 0 c'est que les deux chaînes diffèrent. Pour le vérifier, affiche les dans la console :
Plutôt que de stocker dans tab une chaîne de caractère indiquant l'état du produit il serait plus économique en mémoire et plus facile en terme de code de manipuler une valeur numérique. Par exemple :
Bonne chance
char *vend = "vendu";
Ensuite si tu regardes la documentation de strcmp tu t'apercevras que cette fonction retourne 0 si les deux chaînes sont strictement égales (il suffit de taper dans google man strcmp) :
http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man3/strcmp.3.html
Si le test ne retourne pas 0 c'est que les deux chaînes diffèrent. Pour le vérifier, affiche les dans la console :
printf("tab[i].statut = [%s]\n,tab[i].statut); printf("vend = [%s]\n,vend); if(strcmp(tab[i].statut,vend)==0) { .... }
Plutôt que de stocker dans tab une chaîne de caractère indiquant l'état du produit il serait plus économique en mémoire et plus facile en terme de code de manipuler une valeur numérique. Par exemple :
#define NON_VENDU 0 #define VENDU 1 ... if(tab[i] == VENDU){ //tab stocke désormais une valeur numérique ... }
Bonne chance
donomar
Messages postés
8
Date d'inscription
vendredi 18 avril 2008
Statut
Membre
Dernière intervention
26 avril 2008
18 avril 2008 à 15:30
18 avril 2008 à 15:30
thx g essai et g revien