Vous êtes sur la page 1sur 12

I- les bibliothques qui nous avons utiliser:

1- stdio.h: Entre et sortie des donnes. Les fonctions contiens:


printf, scanf...etc.
2- stdlib.h: pour la conversion de nombres, pour la gestion de mmoire.
Les fonctions contiens: int .... char .... void ....

3- conio.h: rserve DOS: elle n'est pas conforme au standard ANSI-C


et elle n'est pas portable. Les fonctions contiens: getch lit un seul
caractre au clavier et le retourne comme rsultat sans l'crire sur l'cran et sans
attendre un retour la ligne.

4- string.h: Traitement de chanes de caractres Les fonctions


contiens: strcpy pour coppie une chaine de caractre a un autre ,
strcmp pour comparer deux chaine de caractre

5- windows.h: permet d'obtenir de toutes les fonctions de la bote


outils sur les pc windows Les fonctions contiens:
SetConsoleCursorPosition: Cette fonction permet de fixer la position de
texte sur une position donner. SetConsoleTextAttribute: pour changer la
color de text.

II- Les structures:


Tous simplement les structures cest un tableau regroupent
plusieurs type et plusieurs variable en meme temps (entire float
char).
Illustration:
Comme example Tableau de 8 element.
T[0]
T[5]
Ouvrag
e1

num
ro

T[1]
T[6]

Ouvrage1

T[2]

T[3]

T[4]

T[7]
Ouvrage1

Ouvrage1

Ouvrage1

Ouvrage1

Ouvrage1

Ouvrag
e1

tva

Pour ce mini-projet:

Pour cela en declare 3 structure: //declaration des


structure//
typedef struct{
int numero,annee;
char auteur_ouvrage[100],titre_ouvrage[100],domaine[100];
} ouvrage;

typedef struct{
int numero,annee;
char nom[100],prenom[100],adresse[100];
} adherent;

typedef struct{

int nouvrage, nadherent, date_location_jour, date_location_mois,


date_location_annee, date_retour_jour, date_retour_mois, date_retour_annee ;
} location;

III- Les fonctions:


1- void gotoxy(int x,int y)
//fonction pour changer position d'une text
2- void Color(int couleurDuTexte, int couleurDeFond)
//fonction changer la color de text.
3- void tablo(int x,int y, int bordure_haut_bas,int
bordure_droit_gauche)
function pour afficher cette tableau

Les paramtres int x,int y, cest de la fonction gotoxy pour


changer la position
Les paramtres int bordure_haut_bas et int
bordure_droit_gauche cest pour changer largeur et longueur
du tableau
Jutilise code ASCII de chaque caractres pour afficher.

Tableau de code ASCII

Exemple :
EN DECIMAL : Additionner les nombres dcimaux de la colonne et de
la ligne.

pour afficher le cur qui se trouve dans la ligne 3 et colonne 0


La somme = 3 + 0 = 3
Allors le code ascii de cur est : 3
Pour afficher dans langage c en fais comme a :
printf("%c",3);

4- void tablo_choix(int x,int y)


function pour afficher cette tableau de choix

Les paramtres int x,int y, cest de la fonction gotoxy pour


changer la position

5- int anneebissexile(int annee)


fonction permet de verifier si l'anne est bissxille ou non
Si oui la fonction retourne 1 sinon retourne 0

6- int verifierladate(int jour, int mois, int annee)


fonction permet de verifier si la date est correcte ou non.
Si oui la fonction retourne 1 sinon retourne 0

7- int caractere_vers_entier(char c)
converte une caractere vers entier
La fonction accpte une caractre est retourne une entier de 0 jusqua
6;
Si la caractre gale 1 fonction retourne un entier egal 1
Si le caractre gale 2 fonction retourne un entier egal 2
.etc jusqua 6.
Sinon la function retourne un entier egal 0

8- int menu_principal();

Le code de la function menu principal:

function de la menu principal qui contient la menu principal et


qui retourne le choix.
system("cls"); // Sa sert a effacer tout ce qu'il y a l'cran
tablo(13,5,50,12); //appel la fonction de tableau
tablo_choix(x,y); ); //appel la fonction de tableau de choix
c = getche(); // la fonction getche accpte une caractre apres le
caractre doit stocker sur le variable c
choix = caractere_vers_entier(c); // appel de function
caractere_vers_entier pour convertir la caractere vers entire. Cest a
dire si lutilisateur entrer un caractre qui egal 1 le variable choix doit
egale 1 de type entire.

Le meme chose pour:


9- int menu_gestion_ouvrage()

10- int menu_gestion_adherent()

11- int menu_gestion_location()

12- void ajoutouvrage(ouvrage ouv[],int *n)

cette function permet de ajouter une ouvrage dans le


tableau de louvrage, pour cela les parameter de la

function cest le tableau et lelement (passage par


reference ou pointeur) par ce que lorsquon ajoute
une ouvrage le nombre dlment de tableau doit
changer.

Numro de louvrage est unique, alors lutlisateur


entre rune numro puis je cherche sur tableau. Si le
nombre existe dja, alors ajoute rien. Sinon passer
entrer les autres informations.
fflush(stdin);
//Supprimer la memoire lorsque ajoute un entire aprs
en ajoute un caractre (int=>char)
fgets(ouv[j].titre_ouvrage,50,stdin);
//scanf stocker le nombre si appui sur espace ou
entrer
// mais fgets et gets stocker le nombre si appui sur
entrer
//la diference entre gets et fgets c'est gets stocker le
nombre complet, mais fgets le stockage ne dpasse
pas le nombre maximum
*n = *n + 1;
Pour changer le nombre delement de tableau
douvrage
13- int menumodifier(ouvrage ouv[],int n)
cette function cest pour modifier une ouvrage
utilisateur entrer numero de louvrage
Aprs recherch

si louvrage existe

programme donner lutilisateur le choix de choisir ,


de modifier quoi? Soit titre ou annee ou domaine.etc
si louvrage nexiste pas le function afficher un
message puis quitter

14-

menusuppression(ouvrage ouv[],int * n)

donner utilisateur le choix de supprimer ouvrage par


ouvrage ou supprimer tout.
supprimer une ouvrage, utilisateur entrer une numero
de louvrage

si louvrage existe , dcaler a gauche puis supprimer


une cas
sinon affiche existe pas
15- menurechercheouvrage(ouvrage ouv[],int n)
lutilisateur choisir de recherch soit par numero ,
titre ou auteur
si ouvrage existe function affiche sinon affiche pas
16- void menulisteouvrage(ouvrage ouv[],int n)
le fonction permet de afficher le tableau douvrage,
titre auteur anne
17- void ajoutad(adherent adh[],int * n)
18- void menumodifierad(adherent adh[],int n)
19- int menusuppressionad(adherent adh[],int * n)
20- void menurecherchead(adherent adh[],int n)
21- void menulistead(adherent adh[],int n)
22- void ajoute_location(location loc[],int *
nl,ouvrage ouv[],int no,adherent adh[],int na)
utilisateur entrer le numero de de louvrage
si nexiste pas quitter.
sinon continue lajouter lutilisateur entrer
numero de ladhrent:
si nexiste pas quitter
sinon continue lajouter la date de location et la
date de retour
//si le date n'est pas correct la function demande
entre une nouveau date
//si le codition est vrais c--d gale 1 la boucle dowhile rpte sinon le condition gale 0 condition
nest pas vrais quitter la boucle

//si le date n'est pas correct


verifierladate(jour1,mois1,annee1) egal = 0
//sinon verifierladate(jour1,mois1,annee1) = 1 / 1 ==
0 quitter la boucle
//la date de retour doit tre suprieur a la date de
location
// la date de location doit tre correcte c--d
verifierladate(jour2,mois2,annee2) == 1 et
//***annee2 > annee1 ou
//***annee2 == anne 2 et mois2 superieur mois1 ou
//***anne == annee1 et mois2 == mois 1 et jour2 >
jour1
23- void prolongement(location loc[],int nl)
modifier la date de retour
la date de retour doit etre superieur ou egal la date
de retour precedent

Le meme chose pour supprimer et


recherche

MERCI POUR
ATTENTIONS