Procedures C++
Utilisateur anonyme
-
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
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
poste ton code, histoire de te donner un coup de main
Utilisateur anonyme
j'ai posté mon code ci dessous, merci de le voir
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