Problem structure en C
Fermé
mr75
-
27 avril 2010 à 04:43
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 28 avril 2010 à 08:17
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 28 avril 2010 à 08:17
A voir également:
- Problem structure en C
- Logiciel calcul structure bois gratuit - Télécharger - Architecture & Déco
- Structure d'un rapport de stage - Guide
- Dans la table des matières du document à télécharger, le chapitre 6 et ses 2 sections n'apparaissent pas. trouvez l'erreur dans la structure du document et corrigez-la. mettez à jour la table des matières. quel est le mot formé par les lettres en majuscules de la table des matières après sa mise à jour ? - Forum Word
- Table des matières ne prenant pas en compte tous mes titres - Forum Word
- Dans son restaurant, igor utilise une application pour gérer les réservations. voici une représentation graphique du schéma (structure) de la base de données de l’application. répondez aux questions. - Forum Antivirus
4 réponses
Pacorabanix
Messages postés
3248
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
661
27 avril 2010 à 04:47
27 avril 2010 à 04:47
salut,
je trouve cette ligne bizarre :
if (strcmp(enr[i].tpassageur[j].numpass,np)==0)
car np est un char, pas une chaine, pourquoi utiliser strcmp avec? ton compilateur ne râle pas (warning) ?
mais ce n'est peut-être pas ça le souci.
comment est déclarée ta structure ?
je trouve cette ligne bizarre :
if (strcmp(enr[i].tpassageur[j].numpass,np)==0)
car np est un char, pas une chaine, pourquoi utiliser strcmp avec? ton compilateur ne râle pas (warning) ?
mais ce n'est peut-être pas ça le souci.
comment est déclarée ta structure ?
Pacorabanix
Messages postés
3248
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
661
Modifié par Pacorabanix le 27/04/2010 à 05:00
Modifié par Pacorabanix le 27/04/2010 à 05:00
c'est normal ça :
?
tu es dans une boucle for qui va déjà incrémenter i et j, pourquoi tu le fais encore dans la boucle ? tu risques de sauter des valeurs.
qu'est-ce que tu veux faire précisément avec cette fonction ? quel est le rôle du paramètre np ?
} else j++; } i++; }
?
tu es dans une boucle for qui va déjà incrémenter i et j, pourquoi tu le fais encore dans la boucle ? tu risques de sauter des valeurs.
qu'est-ce que tu veux faire précisément avec cette fonction ? quel est le rôle du paramètre np ?
j'ai un peut changer dans le code de la fonction; il entre dans la boucle pour faire les tests mais comme toujours l'application plante. es que vous pouvez m'aider svp :(
void affichage(char np){ int i,j; i=0; j=0; for(i=0;i<7;i++){ printf("I"); for(j=0;j<12;j++){ printf("J"); if (strcmp(enr[i].tpassageur[j].numpass,np)==0){ printf("NumVol:%s \n",enr[i].numvol); printf("TPassagers\n"); printf("_________________________________________ \n"); printf("numPass: %s \n",enr[i].tpassageur[j].numpass); printf("nom: %s \n",enr[i].tpassageur[j].nom); printf("prenom: %s \n",enr[i].tpassageur[j].prenom); printf("classe: %s \n",enr[i].tpassageur[j].classe); printf("PoidsBag: %i \n",enr[i].tpassageur[j].poidbag); printf("MontantExced: %i \n",enr[i].tpassageur[j].montant); printf("Siege: %s \n",enr[i].tpassageur[j].siege); printf("_________________________________________ \n"); } } } }
chuka
Messages postés
965
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
29 juillet 2010
378
Modifié par chuka le 28/04/2010 à 21:24
Modifié par chuka le 28/04/2010 à 21:24
salut,
comme a dit Pacorabanix,t'es sur de ton:
strcmp(enr[i].tpassageur[j].numpass,np)...
ca ne serait pas plutot:
void affichage(char *np) //pour l'appel de la fonction..
strncmp(enr[i].tpassageur[j].numpass,np,strlen(np))
Et quand tu dis, "l'application plante", t'as un message ou autre?
@+
comme a dit Pacorabanix,t'es sur de ton:
strcmp(enr[i].tpassageur[j].numpass,np)...
ca ne serait pas plutot:
void affichage(char *np) //pour l'appel de la fonction..
strncmp(enr[i].tpassageur[j].numpass,np,strlen(np))
Et quand tu dis, "l'application plante", t'as un message ou autre?
@+
non j'ai pas un message elle crache !!!
bon maintenant j'ai changer le code et ca ne plante pas :p mais j'ai un petit probleme ou la fonction ne trouve pas la structure !!!!
bon maintenant j'ai changer le code et ca ne plante pas :p mais j'ai un petit probleme ou la fonction ne trouve pas la structure !!!!
void affichage(char np []){ int i,j; i=0; j=0; for(i=0;i<7;i++){ for(j=0;j<10;j++){ if (strcmp(enr[i].tpassageur[j].numpass,np)==0) { printf("NumVol:%s \n",enr[i].numvol); printf("TPassagers\n"); printf("_________________________________________ \n"); printf("numPass: %s \n",enr[i].tpassageur[j].numpass); printf("nom: %s \n",enr[i].tpassageur[j].nom); printf("prenom: %s \n",enr[i].tpassageur[j].prenom); printf("classe: %s \n",enr[i].tpassageur[j].classe); printf("PoidsBag: %i \n",enr[i].tpassageur[j].poidbag); printf("MontantExced: %i \n",enr[i].tpassageur[j].montant); printf("Siege: %s \n",enr[i].tpassageur[j].siege); printf("_________________________________________ \n"); } else printf("################\n"); } } }
j'ai tester avec des affichages les deux boucle fonctionne a merveille mais le teste ne fonction pas et quand j'ai fais un test je trouve que l'affichage de " enr[i].tpassageur[j].numpass " ne me donne rien !!!!
Pacorabanix
Messages postés
3248
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
661
28 avril 2010 à 00:27
28 avril 2010 à 00:27
ok, bonne idée d'avoir fait ce test.
Mais s'il ne t'affiche rien, c'est peut-être qu'il n'y a rien dans la chaine . Comment la remplis-tu ?
Mais s'il ne t'affiche rien, c'est peut-être qu'il n'y a rien dans la chaine . Comment la remplis-tu ?
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
28 avril 2010 à 08:17
28 avril 2010 à 08:17
ouai, remlpi comment ?
Il serait peut être plus simple d'utiliser un entier pour stocker un numéro de passeport ?
Il serait peut être plus simple d'utiliser un entier pour stocker un numéro de passeport ?
27 avril 2010 à 04:51
concernant la structure et comme suis :
27 avril 2010 à 08:39
Je pense que ce que tu cherche à faire c'est :
if (atoi(enr[i].tpassageur[j].numpass)==np)
27 avril 2010 à 16:34