projet c emsi 1er annee
TRANSCRIPT
-
8/15/2019 projet c emsi 1er annee
1/12
I- les bibliothèques qui nous avons utiliser:
1- stdio.h: Entrée et sortie des données. Les fonctions contiens:
printf, scanf...etc.
2- stdlib.h: pour la conversion de nombres, pour la gestion de mémoire.Les fonctions contiens: int .... char .... void ....
3- conio.h: réservée à DOS: elle nest pas conforme au standard !"S#-$
et elle nest pas portable. Les fonctions contiens: getch lit un seulcaractère au clavier et le retourne comme résultat sans l'écrire sur l 'écran et sans
attendre un retour à la ligne.
4- string.h: %raitement de cha&nes de caract'res Les fonctionscontiens: strcp( pour coppie une chaine de caractére a un autre ,
strcmp pour comparer deu) chaine de caractére
*- windows.h: permet dobtenir de toutes les fonctions de la bo&te à
outils sur les pc +indo+s Les fonctions contiens:
Set$onsole$ursorosition: $ette fonction permet de )er la position de
te)te sur une position donner. Set$onsole%e)t!ttribute: pour changer la
color de te)t.
II- Les structures:
%ous simplement les structures cest un tableau regroupent
plusieurs t(pe et plusieurs variable en meme temps /entire 0oat
char1.
#llustration:
$omme e)ample %ableau de 3 element.
%456 %476 %426 %486 %496
%4*6 %46 %4;6
Ouvrag
e7
Ouvrage7 Ouvrage7 Ouvrage7 Ouvrage7 Ouvrage7 Ouvrage7 Ouvrag
e7
numé
ro
-
8/15/2019 projet c emsi 1er annee
2/12
tva
Pour ce mini-ro!et:
Pour cela en declare 3 structure: ""declaration des
structure""
t(pedef struct<
int numero,annee=
char auteur>ouvrage47556,titre>ouvrage47556,domaine47556=
? ouvrage=
t(pedef struct<
int numero,annee=
char nom47556,prenom47556,adresse47556=
? adherent=
t(pedef struct
-
8/15/2019 projet c emsi 1er annee
3/12
int nouvrage, nadherent, date>location>@our, date>location>mois,
date>location>annee, date>retour>@our, date>retour>mois, date>retour>annee =
? location=
III- Les fonctions:
1- void goto#$%int #&int $'
""fonction our changer osition d(une te#t
)- void *olor%int couleur+u,e#te& int couleur+eond'
""fonction changer la color de te#t.
3- void tablo%int #&int $& int bordurehautbas&int
borduredroitgauche'
function our a/cher cette tableau
Les aram0tres int #&int $& cest de la fonction goto#$ our
changer la osition
Les aram0tres int bordurehautbas et int
borduredroitgauche cest our changer largeur et longueur
du tableau
2utilise code *II de chaque caractères our a/cher.
,ableau de code *II
-
8/15/2019 projet c emsi 1er annee
4/12
5#emle :
56 +5*I7L : dditionner les nombres d0cimau# de la colonne et dela ligne. pour aAcher le cBur Cui se trouve dans la ligne 8 et colonne 5a somme 8 F 5 8!llors le code ascii de cBur est : 8our aAcher dans langage c en fais comme Ga :printf/HIcH,8=
4-void tablochoi#%int #&int $'function our a/cher cette tableau de choi#
-
8/15/2019 projet c emsi 1er annee
5/12
Les aram0tres int #&int $& cest de la fonction goto#$ our
changer la osition
8- int anneebisse#ile%int annee'
fonction permet de verier si lannée est bissé)ille ou non
Si oui la fonction retourne 7 sinon retourne 5
9- int verierladate%int !our& int mois& int annee'
fonction permet de verier si la date est correcte ou non.
Si oui la fonction retourne 7 sinon retourne 5
;- int caractereversentier%char c'
converte une caractere vers entier
a fonction accépte une caractére est retourne une entier de 5 @usCua
=
Si la caract're égale 7 fonction retourne un entier egal 7
Si le caract're égale 2 fonction retourne un entier egal 2
1.etc @usCua .
Sinon la function retourne un entier egal 5
-
8/15/2019 projet c emsi 1er annee
6/12
-
8/15/2019 projet c emsi 1er annee
7/12
function de la menu rincial qui contient la menu rincial et
qui retourne le choi#.
s$stem%>cls>'= "" Sa sert a eJacer tout ce Cuil ( a à lécran
tablo%13&8&8?&1)'= KKappel la fonction de tableautablochoi#%#&$'= '= KKappel la fonction de tableau de choi)
c @ getche%'= KK la fonction getche accépte une caractére apres le
caractére doit stocLer sur le variable c
choi# @ caractereversentier%c'= KK appel de function
caractere>vers>entier pour convertir la caractere vers entire. $est a
dire si lutilisateur entrer un caractére Cui egal 7 le variable choi) doit
egale 7 de t(pe entire.
Le meme chose our:
A- int menugestionouvrage%'
1?- int menugestionadherent%'
-
8/15/2019 projet c emsi 1er annee
8/12
11- int menugestionlocation%'
1)- void a!outouvrage%ouvrage ouvBC&int Dn'
cette function ermet de a!outer une ouvrage dans le
tableau de louvrage& our cela les arameter de la
-
8/15/2019 projet c emsi 1er annee
9/12
function cest le tableau et lelement %assage ar
reference ou ointeur' ar ce que lorsquon a!oute
une ouvrage le nombre d0l0ment de tableau doit
changer.
6um0ro de louvrage est unique& alors lutlisateur
entre rune num0ro uis !e cherche sur tableau. i le
nombre e#iste d0!a& alors a!oute rien. inon asser E
entrer les autres informations.
Fush%stdin'=
""urimer la memoire lorsque a!oute un entire arèsen a!oute un caract0re %int@Gchar'
fgets%ouvB!C.titreouvrage&8?&stdin'=
""scanf stocHer le nombre si aui sur esace ou
entrer
"" mais fgets et gets stocHer le nombre si aui sur
entrer
""la diference entre gets et fgets c(est gets stocHer le
nombre comlet& mais fgets le stocHage ne d0asse
as le nombre ma#imum
Dn @ Dn 1=
Pour changer le nombre delement de tableau
douvrage
13- int menumodier%ouvrage ouvBC&int n'
cette function cest our modier une ouvrage
utilisateur entrer numero de louvrage
rès recherch0
-
8/15/2019 projet c emsi 1er annee
10/12
si louvrage e#iste
rogramme donner E lutilisateur le choi# de choisir &de modier quoiJ oit titre ou annee ou domaineK.etc
si louvrage ne#iste as le function a/cher un
message uis quitter
14- menusuression%ouvrage ouvBC&int D n'
donner utilisateur le choi# de surimer ouvrage arouvrage ou surimer tout.
surimer une ouvrage& utilisateur entrer une numero
de louvrage
-
8/15/2019 projet c emsi 1er annee
11/12
si louvrage e#iste & d0caler a gauche uis surimer
une cas
sinon a/che e#iste as
18- menurechercheouvrage%ouvrage ouvBC&int n'
lutilisateur choisir de recherch0 soit ar numero &
titre ou auteurK
si ouvrage e#iste function a/che sinon a/che as
19- void menulisteouvrage%ouvrage ouvBC&int n'
le fonction ermet de a/cher le tableau douvrage&
titre auteur ann0eK
1;- void a!outad%adherent adhBC&int D n'1
-
8/15/2019 projet c emsi 1er annee
12/12
""si le date n(est as correct
verierladate%!our1&mois1&annee1' egal @ ?
""sinon verierladate%!our1&mois1&annee1' @ 1 " 1 @@
? quitter la boucle ""la date de retour doit Mtre su0rieur a la date de
location
"" la date de location doit Mtre correcte c-E-d
verierladate%!our)&mois)&annee)' @@ 1 et
""DDDannee) G annee1 ou
""DDDannee) @@ ann0e ) et mois) suerieur mois1 ou""DDDann0e @@ annee1 et mois) @@ mois 1 et !our) G
!our1
)3- void rolongement%location locBC&int nl'
modier la date de retour
la date de retour doit etre suerieur ou egal la date
de retour recedent
Le meme chose our surimer et
recherche
75N*I PON
,,56,IO6