projet c emsi 1er annee

Upload: imad-belmoujahid

Post on 05-Jul-2018

240 views

Category:

Documents


0 download

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