|
|
Structures
Exercice 1 Annuaire |
|
Projet
"Annuaire"
|
|
Le but des exercices qui suivent est de vous familiariser avec les pratiques professionnelles de programmation. Nous prenons comme
exemple la programmation d'un annuaire. C'est en quelque sorte une base de données. Cet exercice vous donnera des exemples précis et concrets des notions que nous avons énoncées dans les cours précédents et même des notions à venir telles que l'enregistrement et lecture de fichiers ou la réservation dynamique de méméoire.. Dans un premier temps, l'aplication sera du type console et lancée soit sur MS DOS, soit comme une commande [Démarrer] [Exécuter] de Windows.. Par la suite, nous en ferons une application Windows à part entière avec menus déroulants et boîtes de dialogue. Plus loin la notion de programmation orientée 'objet sera appliquée à ce programme. Dès le départ, nous organiserons le logiciel de manière modulaire afin que de bonnes habitudes de programmation soient acquises d'entrée de jeu. |
|
Programme
principal : "Annuaire.cpp" - Commentaires
-
|
|
|
A
la première invite nous avons tapé 'Z'
: |
|
Structure
de base de l'annuaire et fichier d'entête "Fiche.h"
|
|||||
|
Ne
confondons pas , la variable F de type Fiche, utilisée dans Annuaire.cpp, Le
fichier "Annuaire.cpp" fait appel à deux fonctions
:
Ce même fichier "Fiche.h" contient les prototypes des fonctions SaisieFiche() et VisuFiche()
Nous
rappelons que les prototypes sont des "fonctions sans corps {...
}" Les
prototypes s'écrivent toujours dans un fichier inclus.
Fichier : "Fiche.h"
On a intérêt
à grouper dans un seul fichier toutes les informations concernant
les fiches de notre annuaire. Prenons
de bonnes habitudes de programmation dès le départ ! |
|
Fiche.cpp
|
|
|
Les
prototypes ne suffisent pas, il faut que les fonctions soient définies.
Ne
vous étonnez pas que seuls les champs Nom, Prénom, Sexe,
Taille et Catégorie |


|
Commentaires
- Retour au texte-source -
|
|
Programme principal Je pense
que la première chose à faire dans un programme est le squelette
de l'application avant même d'écrire les fonctions qui le
constituent. Options prises dans le programme précédent:
Rappelez-vous
que vous devez éviter à tout prix que le programme ne "plante". |
|
Algorithme Il est indispensable de construire le programme principal sous forme d' algorithme (ici do...while();) ne serait-ce que pour autoriser l'opérateur à se reprendre en cas d'erreur sans avoir à relancer le programme. On a décidé que seule la frappe de 'Q' permettrait de quitter définitivement le programme, tant que ce n'est pas le cas, on repropose les quatre choix à l'opérateur. |
|
Choix multiples La structure de contrôle "switch( ) { case : ... default;}" permet d'aiguiller le programme sur les procédures correspondant aux choix de l'opérateur.
Ces procédures ne sont pas encore écrites à ce
stade. Leur place dans l'algorithme est néanmoins réservée. Cette manière de programmer assure une plus grande tranquillité de programmation en permettant de se concentrer sur un seul problème à la fois. Les tests en situation permettent d'assurer facilement une grande fiabilité au produit. |
|
Fichiers inclus Le fichier stdio.h (standard input output) contient les définitions relatives à certaines procédures d'entrée-sortie clavier-écran telles que printf() scant() gentchar() puts() "put string" qui permet d'afficher une chaîne alphanumérique à l'écran etc... Le fichier "conio.h" (console in out) contient d'autres procédures d'entée-sortie clavier-écran telles que getch() "get character" pui permet de récupérer la dernière frappe du clavier. Le fichier "ctype.h" contient des procédures de conversion telles que "toupper(char c)" retourne la majuscule de c, ou "tolower(char c)" qui retourne la minuscule de c. Toutes ces procédures font partie des bibliothèques livrées avec le compilateur. Remarquer que tous
les fichiers connus du compilateur sont inclus à l'aide des signes
< et > comme dans : Le fichier "fiche_v1.h"
n'est pas un fichier de librairie : nous l'avons écrit nous-mêmes
et enregistré dnas le répertoire courant où se
trouve également la source "Annuaire_v1.cpp". |
|
|