Affichage chaines de caractères en c
eya
-
MissRobet Messages postés 5 Statut Membre -
MissRobet Messages postés 5 Statut Membre -
bonjour,
je suis débutante en C et au cours de mon premier projet j'ai pas pu afficher une liste de chaines voila un exemple de ce que j'ai fait et je souhaite que vous pouvez m'aider a découvrir les erreurs que j'ai fait :
sachant que j'ai voulu limiter l'espace réservé pour la date a 10 et le numéro de passeport a 7 ... j'ai juste utiliser le 30 pour que je puisse utiliser le boule for de 0 a 30 .. ce qui n'a pas fonctionné
je suis débutante en C et au cours de mon premier projet j'ai pas pu afficher une liste de chaines voila un exemple de ce que j'ai fait et je souhaite que vous pouvez m'aider a découvrir les erreurs que j'ai fait :
sachant que j'ai voulu limiter l'espace réservé pour la date a 10 et le numéro de passeport a 7 ... j'ai juste utiliser le 30 pour que je puisse utiliser le boule for de 0 a 30 .. ce qui n'a pas fonctionné
#include <stdio.h>
#include <stdlib.h>
int main()
{ // declaration des variables
int i,j,Nbr_de_Voyages=9 ;
// compteur i
int Reservation [100] ={1,2,3,4,5,6,7,8,9,10};
char NumPasseport [100][30] ={"D123306","W195457","R900149","R917289","R317943","F359714","W501407","X553380","A375198","W802146"};
char NomVoyageur [100][30]={"eya osmane","mohamed ben Hossine","slim ltaief","islem hamed","chayma osmane","souhir hidoussi","mohamed lahiani","bilel ghazeli","wejden ben zarga","chirine lahmer"};
char DateNaisVgr [100][30]={"20/12/1998","11/11/1996","23/4/1946","31/01/1986","01/09/2007","19/08/1998","29/05/1998","30/04/2000","19/09/2015","06/02/1998"};
char DateDpt [100][30]={"20/02/2015","30/12/2016","12/12/2016","09/12/2018","29/04/2017","07/11/2015","13/11/2016","05/12/2017","04/06/2016","26/07/2016"};
//date ouverture de l"agence de voyage= 2015
char DateArv [100][30]={"28/02/2015","02/01/2017","26/12/2016","12/12/2018","04/05/2017","17/11/2015","18/11/2016","08/12/2017","24/06/2016","30/07/2016"};
//8..4..14..3..6..10..5..3..20..4.
char VilleDest [100][30]={"Antalya","paris","Antalya","Roma","Antalya","Antalya","canberra","thailande","Ankara","Berlin"};
char PaysDest [100][30]={"Turquie","France","Turquie","Italia","Turquie","Turquie","australie","Thailande","Turquie","allemagne"};
int Grp_V_F [100];
// Grp_V_F si 1 en groupe si 0 seul
int NumGrp [100];
//si Grp_V_F=1 --> NumGrp=0; automatiquement
// Un GROUPE est caractérisé par :
/*int GRP_ID [100];
char GRP_DateDpt [100];
char GRP_DateArv [100];
char GRP_VilleDest [100];
char GRP_PaysDest [100];
int GRP_NbrVgrs [100];*/
// nafs l i kol mara taffichi beha voiyage w les caracteristicues mte3ou
for (i=0;i<=Nbr_de_Voyages;i++)
{
for (j=0;j<=30;j++)
{
printf("%i \n",Reservation[i]);
printf("%s \n",NumPasseport[i][j]);
printf("%s \n",NomVoyageur[i][j]);
printf("%s \n",DateNaisVgr[i][j]);
printf("%s \n",DateDpt[i][j]);
printf("%s \n",DateArv[i][j]);
printf("%s \n",VilleDest[i][j]);
printf("%s \n",PaysDest[i][j]);
printf("%i \n",Grp_V_F[i]);
printf("%i \n",NumGrp[i]);
}
}
return 0;
}
| EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Affichage chaines de caractères en c
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Caractères spéciaux - Guide
- Caractères ascii - Guide
- Affichage double ecran - Guide
- Caracteres speciaux - Guide
1 réponse
Bonjour eya,
En C, une chaîne de caractères est un tableau de char (terminé par
Donc
Dal
Nbr_de_Voyagesdevrait être initialisé à 10, et ta boucle for devrait être :
for (i=0;i<Nbr_de_Voyages;i++)
{
printf("%i \n",Reservation[i]);
printf("%s \n",NumPasseport[i]);
printf("%s \n",NomVoyageur[i]);
printf("%s \n",DateNaisVgr[i]);
printf("%s \n",DateDpt[i]);
printf("%s \n",DateArv[i]);
printf("%s \n",VilleDest[i]);
printf("%s \n",PaysDest[i]);
printf("%i \n",Grp_V_F[i]);
printf("%i \n",NumGrp[i]);
}
En C, une chaîne de caractères est un tableau de char (terminé par
'\0'). Donc, un tableau de chaînes de caractères est effectivement un tableau à 2 dimensions de char (en fait, un tableau de tableaux de char) par exemple comme tu l'as exactement déclaré
char NumPasseport [100][30]où le premier indice est le nombre de chaînes et le deuxième la longueur de chaque chaîne.
Donc
NumPasseport[0]permet d'accéder à la première chaîne stockée,
NumPasseport[1]à la deuxième, ...
NumPasseport[9]à la dernière de tes 10 chaînes et la seule boucle
for (i=0;i<Nbr_de_Voyages;i++)permet effectivement de parcourir ces différentes valeurs de 0 à 9 (note le signe strictement inférieur).
Dal
MissRobet
Messages postés
5
Statut
Membre
ok merciii ca m'a bien aidée