Logo de kxs.frCours d'informatique pour le lycée et la prépa

Contacts

Prérequis

Présentation

L'objectif de ce projet est de créer un répertoire contenant les noms, prénoms et numéros de téléphone de personnes. Pour ne pas trop le complexifier, le programme fonctionnera sans interface graphique avec un menu permettant de choisir des actions comme celui-ci :

Que voulez-vous faire ?
1 - Ajouter un contact
2 - Supprimmer un contact
3 - Afficher tous les contacts
4 - Chercher un contact
5 - Quitter
Choix :

Vous utiliserez obligatoirement la programmation orientée objet pour réaliser ce projet. C'est à dire que vous devez avoir une classe Repertoire et une classe Contact. La classe Repertoire aura une méthode run() (parmi d'autres) qui lancera le programme.

Ce projet se fera si possible en binôme et sera noté. Pour avoir les détails concernant la notation consultez la page sur l'évaluation des projets et le tableau ci-dessous.

Cahier des charges

Voici les fonctionalités que votre projet doit implémenter :

Il vous est demandé de bien utiliser les fonctionalités de la programmation orientée objet.

Pour commencer, vous pouvez créer la classe Contact avec une méthode affiche(). Puis vous pouvez vous attaquer à la classe Repertoire qui devra stocker une liste de contacts.

Tableau du barème

Tâche Barème
Menu 2 points
Ajout d'un contact 3 points
Suppression d'un contact 1 point
Demande de confirmation avant la suppression 1 point
Affichage de tous les contacts 1 point
Affichage de tous les contacts dans l'ordre spécifié 1 point
Recherche parmi les contacts 2 points
Quitter l'application 1 point
Sauvegarde dans un fichier / chargement depuis un fichier 2 points
Code propre 2 points
Code optimisé 2 points
Commentaires 2 points
Totals 20

Aides

Lire et écrire dans un fichier

Pour la dernière partie du projet vous aurez besoin de lire et écrire dans un fichier, voici donc comment procéder :

# Écriture
f = open("fichier.txt", "a") # Ouvre un fichier ou le crée et se place à la fin
f.write("Une ligne\n") # Écrit dans le fichier et va à la ligne (avec le « \n »)
f.close() # Ferme le fichier (important pour ne pas perdre des infos)

# Lecture
f = open("fichier.txt", "r") # Ouvre en lecture le fichier
for line in f: # Parcourt toute les lignes
    print(line,end="") # Affiche chaque ligne

Récupérer des données séparées par « : »

Lorsqu'on récupère des données dans un fichier, génralement ses données sont rangées par ligne et séparée par un caractère (par exemple « : »). Pour séparer ses donnée, il suffit d'utiliser split() :

>>> "123:456:789".split(":")
['123', '456', '789']