3 réponses
swoog42
Messages postés
1060
Date d'inscription
mercredi 30 septembre 2009
Statut
Membre
Dernière intervention
16 décembre 2018
244
15 mars 2010 à 12:13
15 mars 2010 à 12:13
poste ton code, histoire de te donner un coup de main
-Arod-
Messages postés
275
Date d'inscription
lundi 3 mars 2008
Statut
Membre
Dernière intervention
15 avril 2010
76
15 mars 2010 à 12:51
15 mars 2010 à 12:51
Est ce qu'il y a de la place dans tes tableaux pour pouvoir y ajouter les vols et autre, ou est ce qu'il faut en plus prévoir d'augmenter la taille du tableau pour chaque enregistrement supplémentaire?
Est ce que les tableaux sont stocké dans les sous programmes ou l'appelant?
Est ce que les tableaux sont stocké dans les sous programmes ou l'appelant?
J'ai pas trop réfléchi, mais j'essaye de donner une piste ....
Effectivement, ce serait mieux en ayant ton code, comme le disais swoog...
void addVol(Vol[] voltab, Vol v)
{
// compteurs pour parcours du tableau
int cptVol = 0;
// tant qu'on est pas à la fin du tableau des vols, et qu'il y a un vol, on avance dans le tableau
while ( cptvol < voltab.length && voltab(cptvol)!=null )
cptVol++;
// arrivé à la fin du tableau
if (cptVol>=voltab.length)
// ---> faire ERREUR car ton tableau a plus de place
// sinon, arrivé à emplacement vide, sans vol : ajoute le vol à cet emplacement
else
voltab[cptVol]=v;
}
C'est du vite fait, merci pour les critiques/insultes/etc...
( je suis même plus sur du .length ...)
Cordialement,
M.
Effectivement, ce serait mieux en ayant ton code, comme le disais swoog...
void addVol(Vol[] voltab, Vol v)
{
// compteurs pour parcours du tableau
int cptVol = 0;
// tant qu'on est pas à la fin du tableau des vols, et qu'il y a un vol, on avance dans le tableau
while ( cptvol < voltab.length && voltab(cptvol)!=null )
cptVol++;
// arrivé à la fin du tableau
if (cptVol>=voltab.length)
// ---> faire ERREUR car ton tableau a plus de place
// sinon, arrivé à emplacement vide, sans vol : ajoute le vol à cet emplacement
else
voltab[cptVol]=v;
}
C'est du vite fait, merci pour les critiques/insultes/etc...
( je suis même plus sur du .length ...)
Cordialement,
M.
merci bien pour votre aide swed, bon je vais vous donner mon code, peut etre vous pouvez m'aider encore une fois. voila le code des deux procedures avec le programme principal bien sur, je n'ai pas compris comment utiliser le pointeur dans une matrice, j'espere que vous pouvez m'aider
include<stdio.h>
void ajt_vol(int numvol[100],char typav[100][50],char vil[100][50],char hdep[100][10],int nv,char vda,char ta,char hd)
{
int p,*p1,n=3;
char *p2;
printf("Donner la position d'ajout: ");
scanf("%d",&p);
for(p1=numvol+n;p1>(numvol+p-1);p1--)
*p1=*(p1-1);
p1=numvol+p-1;
*p1=nv;
for(p2=typav+n;p2>(typav+p-1);p2--)
*p2=*(p2-1);
p2=typav+p-1;
*p2=ta;
for(p2=vil+n;p2>(vil+p-1);p2--)
*p2=*(p2-1);
p2=vil+p-1;
*p2=vda;
for(p2=hd+n;p1>(hd+p-1);p2--)
*p2=*(p2-1);
p2=hdep+p-1;
*p2=hd;
}
void ajt_pass(int v,int numvol,char numpass,char numpc);
{
int m=2;
printf("Donner le numéro de passeport du passager: ");
scanf("%d",&npas);
numpass[indice][m]=npass;
printf("Donner le nom et le prénom du passager: ");
scanf("%d",&npr);
nppas[indice][m]=npr;
printf("Donner le numéro de place du passager: ");
scanf("%d",&np);
numpc[indice][m]=np;
}
void main()
{
int c,numvol[100],numpc[100][100],numpass[100][100],trouve=0;
char hdep[100][10],vil[100][50],typa[100][50],nppass[100][50];
numpas[0][0]=1;
numpas[0][1]=2;
numpas[1][0]=3;
numpas[1][1]=4;
numpas[2][0]=5;
numpas[2][1]=6;
nppas[0][0]="Ali Ben Salah";
nppas[0][1]="Sonia Baraket";
nppas[1][0]="Mohamed Ali Elleuch";
nppas[1][1]="François Brel"
nppas[2][0]="Zaineb Trabelsi"
nppas[2][1]="Vectoria Fernandez"
numpc[0][0]=1;
numpc[0][1]=2;
numpc[1][0]=3;
numpc[1][1]=4;
numpc[2][0]=5;
numpc[2][1]=6;
numvol[0]=1;
numvol[1]=2;
numvol[2]=3;
typav[0]="Boeing";
typav[1]="Concorde";
typav[2]="Boeing";
vil[0]="Tunis --> Marseille";
vil[1]="Madrid --> Casablanca";
vil[2]="London --> Roma";
hdep[0]="12:25";
hdep[1]="08:05";
hdep[2]="23:45";
do
{
printf("Ajout d'un vol..................................(1)");
printf("Ajout d'un passager.............................(2)");
printf("Suppression d'un vol et ses passagers...........(3)");
printf("Affichage des passagers.........................(4)");
printf("Recherche d'un passager.........................(5)");
printf("Modification des informations d'un passager.....(6)");
printf("La liste des passagers..........................(7)");
printf("Quitter.........................................(8)");
do
{
printf("Donner votre choix: ");
scanf("%d",&c);
} while (c<1 || c>8);
switch (c)
{
case 1:
{
do
{
printf("Donner le numéro du vol: ");
scanf("%d",&nv);
while(trouve=0 || p1<numvol+n)
{
if(*p1==nv)
{
trouve=1;
printf("Ce vol existe déja");
}
}
} while (trouve=1);
do
{
printf("Donner le type d'avion: ");
scanf("%d",&ta);
} while (ta!="Boeing" && ta!="Concorde");
printf("Donner la ville de départ et la ville d'arrivée: ");
scanf("%d",&vda);
printf("Donner l'heure de départ: ");
scanf("%d",&hd);
ajt_vol(numvol,tyav,vil,hdep,nv,vda,ta,hd);
}
case 2:
{
do
{
printf("Dans quel vol voulez vous ajouter un passager? ");
scanf("%d",&v);
for(p1=numvol;p1<numvol+n && trouve=0;p1++)
if(*p1=v)
{
trouve=1;
indice=p1-numvol;
break;
}
} while (trouve=0);
ajt_pas(v);
}
merci d'avance
include<stdio.h>
void ajt_vol(int numvol[100],char typav[100][50],char vil[100][50],char hdep[100][10],int nv,char vda,char ta,char hd)
{
int p,*p1,n=3;
char *p2;
printf("Donner la position d'ajout: ");
scanf("%d",&p);
for(p1=numvol+n;p1>(numvol+p-1);p1--)
*p1=*(p1-1);
p1=numvol+p-1;
*p1=nv;
for(p2=typav+n;p2>(typav+p-1);p2--)
*p2=*(p2-1);
p2=typav+p-1;
*p2=ta;
for(p2=vil+n;p2>(vil+p-1);p2--)
*p2=*(p2-1);
p2=vil+p-1;
*p2=vda;
for(p2=hd+n;p1>(hd+p-1);p2--)
*p2=*(p2-1);
p2=hdep+p-1;
*p2=hd;
}
void ajt_pass(int v,int numvol,char numpass,char numpc);
{
int m=2;
printf("Donner le numéro de passeport du passager: ");
scanf("%d",&npas);
numpass[indice][m]=npass;
printf("Donner le nom et le prénom du passager: ");
scanf("%d",&npr);
nppas[indice][m]=npr;
printf("Donner le numéro de place du passager: ");
scanf("%d",&np);
numpc[indice][m]=np;
}
void main()
{
int c,numvol[100],numpc[100][100],numpass[100][100],trouve=0;
char hdep[100][10],vil[100][50],typa[100][50],nppass[100][50];
numpas[0][0]=1;
numpas[0][1]=2;
numpas[1][0]=3;
numpas[1][1]=4;
numpas[2][0]=5;
numpas[2][1]=6;
nppas[0][0]="Ali Ben Salah";
nppas[0][1]="Sonia Baraket";
nppas[1][0]="Mohamed Ali Elleuch";
nppas[1][1]="François Brel"
nppas[2][0]="Zaineb Trabelsi"
nppas[2][1]="Vectoria Fernandez"
numpc[0][0]=1;
numpc[0][1]=2;
numpc[1][0]=3;
numpc[1][1]=4;
numpc[2][0]=5;
numpc[2][1]=6;
numvol[0]=1;
numvol[1]=2;
numvol[2]=3;
typav[0]="Boeing";
typav[1]="Concorde";
typav[2]="Boeing";
vil[0]="Tunis --> Marseille";
vil[1]="Madrid --> Casablanca";
vil[2]="London --> Roma";
hdep[0]="12:25";
hdep[1]="08:05";
hdep[2]="23:45";
do
{
printf("Ajout d'un vol..................................(1)");
printf("Ajout d'un passager.............................(2)");
printf("Suppression d'un vol et ses passagers...........(3)");
printf("Affichage des passagers.........................(4)");
printf("Recherche d'un passager.........................(5)");
printf("Modification des informations d'un passager.....(6)");
printf("La liste des passagers..........................(7)");
printf("Quitter.........................................(8)");
do
{
printf("Donner votre choix: ");
scanf("%d",&c);
} while (c<1 || c>8);
switch (c)
{
case 1:
{
do
{
printf("Donner le numéro du vol: ");
scanf("%d",&nv);
while(trouve=0 || p1<numvol+n)
{
if(*p1==nv)
{
trouve=1;
printf("Ce vol existe déja");
}
}
} while (trouve=1);
do
{
printf("Donner le type d'avion: ");
scanf("%d",&ta);
} while (ta!="Boeing" && ta!="Concorde");
printf("Donner la ville de départ et la ville d'arrivée: ");
scanf("%d",&vda);
printf("Donner l'heure de départ: ");
scanf("%d",&hd);
ajt_vol(numvol,tyav,vil,hdep,nv,vda,ta,hd);
}
case 2:
{
do
{
printf("Dans quel vol voulez vous ajouter un passager? ");
scanf("%d",&v);
for(p1=numvol;p1<numvol+n && trouve=0;p1++)
if(*p1=v)
{
trouve=1;
indice=p1-numvol;
break;
}
} while (trouve=0);
ajt_pas(v);
}
merci d'avance
17 mars 2010 à 09:14