Projet CPP pour la formation C/CPP embarqué
Il s'agit de créer un annuaire dans lequel seront stockés des contacts. Le projet sera décomposé en plusieurs parties.
- PARTIE 1 : GESTION DES CONTACTS
- PARTIE 2 : CREATION DE L'INTERFACE
Pour créer l'exécutable, lancer la commande suivante :
make
Génération du zip des sources
make zip
pour nettoyer sous linux on lance la commande
- make clean
- make mrproper
pour nettoyer sous windows on lance la commande
- make clean
- make mrproper
- Des contacts « Privés »
- Des contacts « Professionnels »
- Identifiant (Numérique)
- Nom (Chaine de 30 car. en majuscule)
- Prénom (Chaine de 30 car. Première lettre en majuscule)
- Sexe (F/M)
- Adresse postale
- Date de Naissance
- Nom de l’entreprise (Chaine de 50 car. en majuscule)
- Statut Juridique (SARL, SA, SAS, EURL)
- Adresse de l'entreprise
- Adresse Mail (Chaîne contenant un @)
Toute adresse est composée du Numéro, Rue, Complément, Code Postal et Ville. On considérera
que l'ensemble des Contacts sont Français. Créer dans un premier temps une application console
vous permettant de tester la hiérarchie mise en place. Vous joindrez le diagramme de classes
associé à votre hiérarchie.
De plus, vous constituerez une application console utilisant la hiérarchie préalablement constituée. Cette application offrira à l’utilisateur la possibilité de :
- Lister les contacts privés et/ou professionnels en respectant certaines contraintes au niveau de l’affichage (cf. Annexe)
- Recherche à partir de certains critères :
o Par Identifiant
o Par Nom
o Par Prenom
o Par Code Postal
o Par Département
o Par Ville
o Par Email
- Ajouter un contact quel qu'en soit le type
- Modifier/Supprimer un Contact via son identifiant
Si vous avez le temps, vous prévoirez l’exportation des contacts Pro et Privés vers des fichiers
pros.dat et/ou privates.dat.
Pour l’ensemble des fonctionnalités, vous afficherez un message d’erreur en cas d’échec.
Constituez une interface simple et conviviale.
D’un point de vue technique, on devra retrouver, au sein de votre code, les concepts suivants :
- Héritage
- Surcharge d’Opérateurs
- Composition/Agrégation
- STL
- Exception
- Espaces de nom
- Diagramme de Classes
- Un projet zippé
Les développements et les tests sont réalisés en totalité sous codeBlocks pour windows 10
Les tests en ligne de commande sont réalisés sous Debian 11
Le Makefile detecte le type de système et crée les cibles en fonction du système