#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
struct vehicule
{
char num_mat[20];
char type_veh[20];
char code_cat[20];
char puissance[20];
char marque[20];
char modele[20];
char date_achat[20];
float nb_km;
};
struct client
{
int num_permis;
char nom[20];
char type_veh;
};
struct categorie
{
char code_cat;
char libelle_cat;
};
main()
{
FILE *fveh1;
FILE *fveh2;
FILE *fclt1;
FILE *fclt2;
FILE *ffac1;
FILE *ffac2;
FILE *ftyp1;
FILE *ftyp2;
FILE *fcat1;
FILE *fcat2;
struct vehicule v1,v2;
struct client c1,c2;
struct facturation f1,f2;
struct type_veh t1,t2;
struct categorie ca1,ca2;
int chx1,chx2,chx3,chx4,chx5,chx6 ;
char continuer='o';
char c,modele[10];
int exist=0;
char mat[10];
char permis[20];
int reponse=0;
int per;
float mont;
int n;
printf("\n\n\n\n GESTION LOCATION DE VOITURE \n\n");printf("\n\n");
printf(" developpee par: \n\n\n");
printf(" hedil G1 \n\n\n");
do
{
printf(" Introduire votre choix '1' la gestion des vehicules,\n '2' gestion des clients,\n '3' gestion des factures,\n '4' gestion des categories,\n '5' gestion des types vehicule :\n\n\n\n ");
scanf("%d",&chx1);
switch (chx1)
{
case '1': // la gestion de vehicules //
do
{
printf(" vous etes dans la gestion des vehicules,\n veuillez intoduire votre choix '1' ajout,\n '2' consultation,\t\n '3' suppression,\t\t\n '4' quitter :\t\t\t\ ");
scanf("%d",&chx2);
switch (chx2)
{
case '1': // l'ajout des vehicules //
fveh1=fopen("c:\\fichier_vehicule1.txt","a");
fscanf(fveh1,"%s",v1);
if (!fveh1)
printf("\n Erreur d' ouverture ");
else
{
while(continuer=='o')
{
printf("\n introduire le numero de matricule : ");
scanf("%s",&v1.num_mat);
printf("\nintroduire le type de vehicule : ");
scanf("%s",&v1.type_veh);
printf("\nintroduire le code catgorie : ");
scanf("%s",&v1.code_cat);
printf("\nintroduire la puissance du vehicule : ");
scanf("%s",&v1.puissance);
printf("\nintroduire la marque : ");
scanf("%s",&v1.marque);
printf("\nintroduire le modele : ");
scanf("%s",&v1.modele);
printf("\nintroduire date d'achat du vehicule: ");
scanf("%s",&v1.date_achat);
printf("\nintroduire le nbre de klm : ");
scanf("%s",&v1.nb_km);
fprintf(fveh1,"%s %s %s %s %s %s %s \n",&v1.num_mat,&v1.type_veh,&v1.code_cat,&v1.puissance,&v1.marque,&v1.modele,&v1.date_achat,&v1.nb_km);
printf("\nvoulez vous ajouter d autre vehicule: 'o'si oui ou 'n' si non : ");
scanf("%c",continuer);
}
}
fclose(fveh1);
break;
case'2' : // la consultation selon un modele specifier //
fveh1=fopen("c:\\fichiervehi.txt","r");
fscanf(fveh1,"%s",v1);
printf("\nintroduire le modele a rechercher : ");
scanf("%s",&modele);;
do
{
fscanf(fveh1,"%s",v1.modele);
if (strcmp(v1.modele,modele)==0)
{
printf("\n voiture %d : %s\t %s\t %s\t %s\t %s\t %s\t %s\t %d\t ",v1.num_mat,v1.type_veh,v1.code_cat,v1.puissance,v1.marque,v1.modele,v1.date_achat,v1.nb_km);
exist=1;
}
}while(!feof(fveh1));
if(exist=0)
{
printf(" \nle le modele rechercher n'existe pas ");
}
fclose(fveh1);
break;
case '3': // la suppression d'un vehicule designé par son n°matriculation //
fveh1=fopen("c:\\fichier_vehicule1.txt","r");
fveh2=fopen("c:\\fichier_vehicule2.txt","w");
fscanf(fveh1,"%s",v1);
printf("\n introduire le numero d'immatriculation de la voiture a supprimer : ");
scanf("%s",&mat);
while(!feof(fveh1))
{
if(strcmp(mat,v1.num_mat)!=0)
{
fscanf(fveh1,"%s",v1);
fprintf(fveh2,"%s",v1);
}
}
fclose(fveh2);
fclose(fveh1);
fveh1=fopen("c:\\fichier_vehicule1.txt","w");
fveh2=fopen("c:\\fichier_vehicule2.txt","r");
while(!feof(fveh2))
{
fscanf(fveh2,"%s",v2);
fprintf(fveh1,"%s",v2);
}
fclose(fveh1);
fclose(fveh2);
break;
case '4' : exit(-1);
}
}while(chx2!=4);
break;
case'2': // la gestion des clients //
do
{
printf(" vous etes dans la gestion des clients,\n veuillez intoduire votre choix '1' creation et ajout , '2' consultation, '3' quitter ");
scanf("%d",&chx3);
switch (chx3)
{
case '1':
fclt1=fopen("c:\\fichierclient.txt" , "a");
fscanf(fclt1,"%s",c1);
if ((fclt1 = fopen("c:\\fichier_client.txt", "a" )) == NULL)
{
printf ("\n erreur d ouveture \n" );
exit(1);
}
do
{
printf("\nintroduire le numero de permis : ");
scanf("%d",c1.num_permis);
printf("\nintroduire le nom : ");
scanf("%s",&c1.nom);
printf("\nintroduire le prenom : ");
scanf("%s",&c1.prenom);
s
printf("\nintroduire l'adresse : ");
scanf("%s",&c1.adresse);
printf("\nintroduire la ville : ");
scanf("%s",&c1.ville);
printf("\nvoulez vous ajouter des clients si oui taper 1 si non taper 0 : ");
scanf("%d",&reponse);
}while(reponse==1);
fclose(fclt1);
break;
case '2':
fclt1=fopen("c:\\fichier_vehi.txt","r");
fscanf(fclt1,"%s",c1);
printf("\nintroduire le num de permis a rechercher");
scanf("%d",&per);;
while(!feof(fclt1))
{
if(c1.num_permis==per)
{
printf("\n client est trouvee %d\t %s\t %s\t %s\t %s\t %s\t %",c1.num_permis,c1.nom,c1.prenom,c1.adresse,c1.ville);
}
else
{
printf("\nle client n'existe pas");
}
}
fclose (fclt1);
break;
case '3': exit(-1);
}
}while(chx3!=3);
break;
case '3' : // la gestion des factures clients //
do
{
printf(" vous etes dans la gestion des facture,\n veuillez intoduire votre choix '1' creation des factures pour clients , '2' consultation, '3' quitter ");
scanf("%d",&chx4);
switch (chx4)
{
case'1': // creation des factures clients //
ffac1=fopen("c:\\fichier_facture1.txt","a");
fscanf(ffac1,"%s",f1);
if ((ffac1 = fopen("c:\\fichier_client1.txt", "a" )) == NULL)
{
printf ("\n erreur d ouverture " );
exit(1);
}
else
{
printf("\nvoulez vous ajouter des factures pour des clients si oui taper 1 si non taper 0");
scanf("%d",&reponse);
while(reponse==1)
{
printf("\nintroduire le numero de permis");
scanf("%d",f1.num_permis);
printf("\nintroduire le num de facture");
scanf("%d",f1.num_facture);
printf("\nintroduire le numero de matricule : ");
scanf("%s",f1.num_mat);
printf("\nintroduire le prix unitaire ");
scanf("%f",f1.prix_u);
printf("\nintroduire nbr de jour de location ");
scanf("%d",f1.nb_jour_loc);
f1.montant = ( f1.prix_u * f1.nb_jour_loc );
scanf("%f",f1.montant);
fprintf(ffac1," %d %d %s %f %d %f ",&f1.num_permis,&f1.num_facture,&f1.num_mat,&f1.prix_u,&f1.nb_jour_loc,&f1.montant);
}
}
fclose(ffac1);
break;
case'2': // consultation des factures //
if ((ffac1=fopen("c:\\fichier_client1.txt", "r" )) == NULL)
{
printf ("\n erreur d ouverture " );
exit(-1);
}
else
{
ffac1=fopen("c:\\fichier_facturer","a");
fscanf(ffac1,"%s",f1);
printf("introduire le numeros de facture a consulter : ");
scanf("%d",&n);
do
{
fscanf(ffac1,"%d",f1.num_facture);
if(f1.num_facture==n)
{
fprintf(ffac1,"le client est %d %d %s %f %d %f ",&f1.num_permis,&f1.num_facture,&f1.num_mat,f1.prix_u,&f1.nb_jour_loc,&f1.montant);
}
else
{
printf("num de facture n exist pas");
}
}while(!feof(ffac1));
fclose(ffac1);
break;
case '3' : exit(-1);
}while(chx4!=3);
break;
case '4' : // la gestion des categories//
do
{
printf(" vous etes dans la gestion des catégories,\n veuillez intoduire votre choix '1' creation du fichier categories , '2' consultation, '3' quitter ");
scanf("%d",&chx5);
switch (chx5)
{
case '1': // la creation des categories//
fcat1=fopen("c:\\fichier_categories.txt","a");
fscanf(fcat1,"%s",ca1);
if (!fcat1)
{
printf("\n Erreur d' ouverture ");
}
else
{
printf(" \nintroduir le code de catgories");
scanf("%s",ca1.code_cat);
printf("\n introduir la libelle de categories");
scanf("%s",ca1.libelle_cat);
fprintf(fcat1,"%s %s",&ca1.code_cat,&ca1.libelle_cat);
}
fclose(fcat1);
break;
case '2': // la consultation des categories//
fcat1=fopen("c:\\fichier_categories.txt","r");
while(!feof(fcat1))
{
fscanf(fcat1,"%s\n",ca1);
printf("%s\t %s\n",&ca1.code_cat,&ca1.libelle_cat);
}
fclose(fcat1);
break;
case '3': exit(-1);
}
}while(chx5!=3);
break;
case '5':
do
{
printf(" vous etes dans la gestion des types,\n veuillez intoduire votre choix '1' creation du fichier type , '2' consultation, '3' quitter ");
scanf("%d",&chx6);
switch (chx6)
{
case '1': // la creation des fichiers types//
ftyp1=fopen("c:\\fichier_types.txt","a");
fscanf(ftyp1,"%s",t1);
if (!ftyp1)
{
printf("\n Erreur d' ouverture ");
}
else
{
printf(" \nintroduir le type de vehicule");
scanf("%s",t1.type_veh);
fprintf(ftyp1,"%s\n", t1.type_veh );
}
fclose(ftyp1);
break;
case '2': // la consultation des types//
fcat1=fopen("c:\\fichier_categories.txt","r");
while(!feof(ftyp1))
{
fscanf(ftyp1,"%s\n",t1);
printf("%s\n ",t1.type_veh);
}
fclose(ftyp1);
break;
case '3': exit(-1);
}
}while(chx6!=3);
}
}while(chx1!=5);
}}
return 0;
getch();
}