Procedures C++

Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour,
j'ai un programme qui contient deux tableaux; le premier est celui des vols qui est caracterisé par: numero de vol et type d'avion, le deuxieme est celui des passagers qui est caracterisé par: numero de passeport, nom et prenom, numero de vol.
je veux une procedure en language C (C++) qui ajoute un vol dans le tableau des vols et une autre procedure pour ajouter un passager qui va prendre un certain vol.
je suis debutante en ce language et je n'ai pas reussi à les faire correctement !!
merci d'avance pour votre aide

3 réponses

swoog42 Messages postés 1060 Date d'inscription   Statut Membre Dernière intervention   244
 
poste ton code, histoire de te donner un coup de main
0
Utilisateur anonyme
 
j'ai posté mon code ci dessous, merci de le voir
0
-Arod- Messages postés 275 Date d'inscription   Statut Membre Dernière intervention   76
 
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?
0
Utilisateur anonyme
 
oui il y a de la place pour l'ajout de chaque vol, et les tableaux ne sont pas stocké dans les sous programmes, on les appellent dans le programme princiale
0
swed
 
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.
0
Utilisateur anonyme
 
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
0