Vous êtes sur la page 1sur 12

Projet réalisé par : Mariem Mezni, Maram Rhim, Sarra Ben Doub

# structure de voiture

1) Struct Voiture

char modéle [30] ;

char num_immat [30] ;

int kilométrage ;

int état ;

} ;

Typedef Stuct Voiture VOITURE ;

# structure de client

2) Struct Client {

char Nom [20] ;

char Prénom [20] ;

int CIN ;

int TEL ;

char *TVC [50] ;

};

Typedef Struct Client CLIENT

# function seek personne

3) int seek_personne ( CLIENT Tc[ ] , int Nc, int cin )

int i , pos ;

i=0;

pos = -1;

while ( (i<=Nc) && (Tc[i].CIN != cin) )


{

i=i+1 ;

if (i<Nc)

pos = i ;

return (pos);

# function seek voiture

4) int seek_voiture ( VOITURE Tv[ ] , int Nv, char NUMERO )

int i , pos ;

i=0 ;

pos = -1 ;

while ( (i<=Nv) && (Tv[i].num_immat != NUMERO) )

i=i+1 ;

if (i<=Nv)

pos = i ;

return (pos);

}
# function seek personne client

5) int seek_voiture_client ( CLIENT CI , char NUMERO )

int N, i , pos ;

i=0 ;

pos = -1 ;

N=sizeof(Cl. TVC)

while ( Cl.TVC[i] != NUMERO ) && (i<N))

i=i+1 ;

if (i<N)

pos = i ;

return (pos) ;

# fonctin de delete voiture client

6) char delete_voiture_client (CLIENT CI , int pos )

int i ,N;

N = sizeof(Cl.TVC);

for ( i=pos-1 ; i<N-1; i++ )

Cl.TVC[i] = Cl.TVC[i+1] ;

}
# procedure de lecture une voiture

7) void lire_une_voiture (VOITURE *e )

Scanf(“%s”,& e.modéle);

Scanf(“%s”,& e.num_immat);

Scanf(“%d“,& e.kilométrage) ;

Scanf(“%d“,& e.état) ;

#procedure de chargement de Tv

Void charger_voiture ( VOITURE Tv[ ] , int *Nv)

VOITURE e ;

i=0 ;

lire_une_voiture(&e) ;

while ( e.num_immat >0)

i=i+1 ;

Tv[i]=e ;

lire_une_voiture(&e) ;

*Nv=i

# affichage d’un client

void afficher_un_client (CLIENT cl )

{
Printf (“le nom de client est %s”, cl.Nom);

Printf (“le prenom de client est %s”, cl.Prénom);

Printf (“son CIN est %d“,cl.CIN) ;

Printf (“son nemero de telephone es %d“, cl.TEL) ;

Printf (“so TVC est %s”, cl.TVC);

# procedure de lecture d’un client

void lire_un_client (CLIENT cl)

Scanf(“%s”,& cl.Nom);

Scanf(“%s”,& cl.Prénom);

Scanf(“%d“,& cl.CIN) ;

Scanf(“%d“,& cl.TEL) ;

Scanf(“%s”,& cl.TVC);

# procedure de remplissage d’un tableau de client

Void charger_client ( CLIENT Tc[ ] , int Nc)

CLIENT c;

For (i=0 ;i<Nc ;i++)

lire_un_client(&c) ;

Tc[i]=c ;

# procedure de troisième choix

Void choix 3(char NUMERO)


{

int SC ;

int i ;

SC=seek_voiture(Tv,Nv,CIN) ;

if (SC== -1)

printf(" erreur " ) ;

else

Printf('%c' , Tv[SC].modèle) ;

Printf('%c' , Tv[SC].num_immat) ;

Printf('%d' , Tv[SC].kilométrage) ;

Printf('%d' , Tv[SC].état ) ;

# procedure de premiere choix

Void choix 1(char NUMERO , CLIENT cl)

int SV ;

int CV ;

int i ;

SV =seek_voiture(Tv , Nv, NUMERO) ;

If (SV == -1)

Printf ("erreur" ) ;

else

{
If (Tv[SV].etat ==1)

printf("la voiture est louée ") ;

else

Tv[SV].etat=1 ;

Lire_un_client(cl) ;

SC= seek_client(Tc,Nc,CIN) ;

If( SC== -1)

Nc=Nc+1 ;

Tc[Nc]= lire_un_client(cl) ;

else

N=Sizeof(cl.TVC);

N=N+1 ;

cl.Tvc[N]=lire_une_voiture (Tv[SV]);

# procédure de quatrième choix

Void choix 4(VOITURE Tv[], int Nv)

Int i,s,nb,nb1 ;

Printf("le nombre totale de voiture egale %d",Nv) ; // afficher le nombre totale de


voiture
Nb=0 ; // affichage de nb de voiture en location et leur Numero d’immatriculation

For(i=0 ;i<Nv ;i++)

If(Tv[i].etat==1)

Printf("le numero d’immatriculation de voiture en location " ,i, "

egale %c" ,Tv[i].num_immat) ;

Nb+=1 ;

Printf(" le nombres de voitures en location =%d " , nb) ;

Nb1=0 ; // affichage de nb de voiture disponible et leur Numero d’immatriculation

For (i=0 ;i<Nv ;i++)

If Tv[i].etat==0

Printf("le numero d’immatriculation de voiture disponible " ,i, "

egale %c" ,Tv[i].num_immat) ;

Nb1+=1 ;

Printf(" le nombre de voiture disponible=%d" , nb1) ;

S=0 ; //affichage de kilométrage moyen

For(i=0 ;i< Nv ;i++)
S+=Tv[i].kilométrage ;

Printf(" le kilométrage moyen de l’ensemble des voitures =%f " , s/Nv ) ;

# procédure de deuxième choix

void choix2 ( char NUMERO , int CIN, CLIENT cl)

int SV, NKM , SC ,i ;

SV=seek_voiture(Tv,Nv,NUMERO);

If (SV == -1)

Printf(“ Erreur”);

else

NKM=printf(“Donnez le nb de kilométrage :”) ;

Tv[SV].kilométrage += NKM ;

Tv[SV].état = 0 ;

n=sizeof(Cl.TVC) ;

i= ;

while ( (i<n) && (CI.TVC[i] != NUMERO ) )

i+=1;

delete_voiture_client ( Cl , i ) ;

SC = seek_client(Tc,Nc,CIN) ;

if (SC == -1)

Printf(“Client innexistant”) ;
i=0;

while (i<Nc)

j=0 ;

while ( (j<50) && (Tc[i].TVC[j] != NUMERO) )

j+=1;

i+=1 ;

Afficher_un_client(Tc[i]) ;

#programme principale :

Void main()

Voiture Tv[50] ;

Client Tc[50] ;

Int Nc, CIN ,Nv,choix ;

CLIENT cl ;

Char NUMERO ;

Scanf(" %d " , &Nc) ;

Printf(" le taille du tableau Tc=%d" , Nc) ;

Scanf(" %d " , &CIN) ;

Printf(" le numéro de CIN =%d" , CIN) ;

Scanf( " %d " , &choix) ;


Printf(" le choix de l’utilisateur égale %d" , choix) ;

Scanf( " % s " , &NUMERO) ;

Printf(" le numéro d’immatriculation de la voiture =%s" , NUMERO) ;

Void charger_voiture ( Tv[ ] , *Nv) 

Printf("le taille du tableau Tv =%d" , *Nv)

Void charger_client(Tc[],Nc) ;

Printf ("----Menu----" ) ;

Printf( " 0 : fin programme " ) ;

Printf( " 1 : location d’une voiture" ) ;

Printf( " 2 : retour d’une voiture" ) ;

Printf( " 3 : etat d’une voiture " ) ;

Printf( " 4 : etat du parc du voitures " ) ;

printf("%d" ,choix) ;

while ((choix<0)||(choix>4)) 

printf("%d" ,choix) ;

if choix ==1

choix1(NUMERO , cl) ;

if choix==2

choix 2 ( NUMERO , CIN, cl) ;

if choix ==3

choix 3 (NUMERO) ;

if choix ==4

choix 4 ( Tv ,Nv) ;

while choix !=0

Printf ("----Menu----" ) ;
Printf( " 0 : fin programme " ) ;

Printf( " 1 : location d’une voiture" ) ;

Printf( " 2 : retour d’une voiture" ) ;

Printf( " 3 : etat d’une voiture " ) ;

Printf( " 4 : etat du parc du voitures " ) ;

printf("%d" ,choix) ;

while ((choix<0)||(choix>4))

printf("%d" ,choix) ;

If choix ==0

Printf(" fin programme" ) ;

Vous aimerez peut-être aussi