Académique Documents
Professionnel Documents
Culture Documents
Etudiantes :KhouloudTiouajni et DouaaZaoui
Enseignante :InesWachem
Voiture= Enregistrement
- numéro_immatriculation : entier.
- kilométrage : entier.
- état : entier.
Fin enregistrement.
client= Enregistrement
- CIN : entier
- numéro_de_téléphone : entier
-numéro_immatriculation :tableau_immatriculation
Fin enregistrement.
tableau_immatriculation =enregistrement
nombre :entier.
tableau_voiture :tableau de [1..50]d’entiers .
fin enregistrement.
Début
Repeter
Lire (v.numéro_immatriculation)
Jusqu’à (v.numero_immatriculation < 0 )
Répéter
Fin.
Debut
Ecrire(v. Modéle)
Ecrire(v.numéro_immatriculation)
Ecrire(v. Kilométrage)
Ecrire(v. Etat)
Fin
Début
Lire(c. nom)
Lire(c.prenom )
Lire(c. cin)
Lire(c.num_tel)
Lire(numéro_immatriculation.nombre)
Lire (numéro_immatriculation.tableau_voiture[i])
Fin pour
Fin
Debut
Ecrire(c.nom)
Ecrire(c.prenom)
Ecrire(c.cin)
Ecrire(c.num_tel)
Ecrire (c.numéro_immatriculation.nombre)
Ecrire (c.numéro_immatriculation.tableau_voiture[i])
Fin pour
Fin
tabv=tableau[1..50]de voitures.
Variable i :entier
Debut
Pour i de 1 à nv faire
saisir_voiture(tv[i])
fin pour
fin
procedure afficher_tv(tv :tabv)
variable i:entier
debut
pour i de 1 à nv faire
afficher_voiture(tv[i])
fin pour
fin
Variable i:entier
Debut
Pour i de 1 à nc faire
saisir_client(tc[i])
fin pour
fin
procedure afficher_tc(tc :tabc)
variable i:entier
debut
pour i de 1 à nc faire
afficher_client(tc[i])
fin pour
fin
variable i :entier
debut
i=1
i=i+1
si ( i<nc ) alors
seek_personne=i
sinon
seek_personne=-1
fin si
fin
fonction seek_voiture(tv:tabv , nv :entier , numero : entier) :entier
variable i :entier
debut
i=1
i=i+1
si ( i<nv ) alos
seek_voiture=i
sinon
seek_voiture=-1
fin si
fin
variable i ,nb:entier
debut
i=1
nb=cl.numéro_immatriculation.nombre
i=i+1
Seek_voiture_client=i
Sinon
Seek_voiture_client=-1
Fin si .
Fin
Procedure delete_voiture_client(pos : entier, var cl :client,var tc :tabc,var nc :entier )
Debut
Nb=cl.numéro_immatriculation.nombre
Ncc=cl.numéro_immatriculation.cin
Si ( nb=1 )alors
J=seek_client(tc,nc,ncc)
tabc[i]= tabc[i+1]
Fin pour
Nc=nc-1
Sinon
(cl.numéro_immatriculation.tableau_voiture[i])=(cl.numéro_immatriculation.tableau_voiture[i+1])
Fin pour
cl.numéro_immatriculation.numero = cl.numéro_immatriculation.numero - 1
Fin si
Fin
Procedure choix1(var numero ,var CIN , var tv, var tc,var nc )
C :client
Debut
Lire(numero)
Pos=seek_voiture(tv,nv,numero)
Si ( pos = -1 ) alors
Ecrire(« erreur »)
Sinon
Si ( tv[pos].état = 1 )alors
Sinon
Tv[pos].état=1
Lire(CIN)
Y=seek_client(tc,nc,CIN)
Si (y=-1) alors
Nc=nc+1
Tc[nc]=saisir_client(c)
sinon
c=tc[y]
(c.numero_immatriculation.nombre ) = (c.numero_immatriculation.nombre) +1
Ncc= (c.numero_immatriculation.nombre)
c.numero_immatriculation.tableau.voiture[ncc]=numero
fin si
fin si
fin si_
Fin
Fonction seek_client_numero(tc :tabc,nc :entier,numero :entier)
Variable i,j,nb :entier
Debut
Pour i de 1 à nc faire
Nb=tc[i].numero_immatriculation.numero
Pour j de 1 à nb faire
Seek_client_numero = i
Fin si
Fin pour
Fin pour
fin
Procedure choix2(
Variable
Debut
Lire(numero)
Lire(CIN)
Y=seek_voiture(tv,nv,numero)
Z=seek_client(tc,nc,CIN)
Si ( y= -1 ) alors
Ecrire(« erreur »)
Sinon
Lire(NKM)
Tv[y].etat=0
X=seek_voiture_client(cl,numero)
Delete_voiture_client(cl,x)
Sinon
Ecrire(« client inexistant »)
R=seek_client_numero(tc ,nc,numero)
Fin si
Fin si
Fin si
fin
variable i, c :entier
debut
lire(numero)
c=seek_voiture(tv,nv,numero)
si ( tv[c].etat=0 ) alors
afficher_voiture( tv[c] )
sinon
ecrire( « une erreur est signalée « )
fin si
fin
variable i,nb,nc,m :entier
debut
nb=0
nc=0
m=0
pour i de 1 a nv faire
si ( tv[i].etat=1) alors
nb=nb+1
fin si
fin pour
pour i de 1 a nv faire
si ( tv[i].etat=0) alors
nc=nc+1
fin si
m=m+tv[i].kilometrage
fin pour
fin
liste :^nœud
nœud :enregistrement
val :voiture
suiv :liste
fin enregistrement
variable p :liste
i :entier
debut
pour i de 1 a nv faire
si (tv[i].etat = 0 ) alors
créer(p)
p^.val :=tv[i]
p^.suiv :=L
L :=p
Fin si
fin pour
Fin
Procedure choix6 (nv :entier ,var L :liste)
variable p :liste
i :entier
debut
pour i de 1 a nv faire
si (tv[i].etat = 1 ) alors
créer(p)
p^.val :=tv[i]
p^.suiv :=L
L :=p
Fin si
Fin pour
fin
Algorithme menu
Variable
r,nv,nc :entier
Debut
Lire(nv)
Lire(nc)
Remplir(tv)
Afficher(tv)
Remplir (tc)
Afficher(tc)
Répéter
Ecrire(‘’----------MENU----------‘‘ )
Lire (r)
Jusqu’à (r=0)
Si (r=1)
//choix1
//
Si (r=2)
//choix2
//
Si (r=3)
//choix3
//
Si(r=4)
//choix4
//
Si(r=5)
//choix5
//
Si(r=6)
//choix6
//
Si(r=0)
//
//