Objectif :
Développer un gestionnaire de tâches en ligne de commande qui permet à un utilisateur de gérer ses tâches quotidiennes : ajouter une tâche, marquer une tâche comme terminée, supprimer une tâche et afficher la liste des tâches. Les tâches doivent être sauvegardées dans un fichier texte.
Résultats attendus :
Ajout de tâches :
L'utilisateur peut entrer une nouvelle tâche et l'ajouter à la liste des tâches.
Exemple : L'utilisateur entre "Faire les courses", et cette tâche est ajoutée à la liste.
Affichage des tâches :
Lorsque l'utilisateur demande à voir ses tâches, toutes les tâches doivent s'afficher avec leur statut (par exemple, terminée ou non).
Exemple :
1. Faire les courses 2. Répondre aux emails (Terminée) 3. Préparer le dîner
Marquer une tâche comme terminée :
L'utilisateur peut marquer une tâche comme terminée en entrant son numéro.
Exemple : L'utilisateur marque la tâche "Faire les courses" comme terminée, et son statut devient "(Terminée)".
Suppression de tâches :
L'utilisateur peut supprimer une tâche de la liste en entrant son numéro.
Exemple : L'utilisateur supprime "Préparer le dîner", et cette tâche est retirée de la liste.
Sauvegarde et chargement des tâches :
Avant de quitter le programme, toutes les tâches sont sauvegardées dans un fichier texte.
Lors du prochain lancement du programme, les tâches sont chargées à partir du fichier et réaffichées à l'utilisateur.
Interaction avec l'utilisateur :
Le programme affiche un menu simple permettant à l'utilisateur de choisir une option parmi : afficher les tâches, ajouter une tâche, marquer une tâche comme terminée, supprimer une tâche, ou quitter.
Exemple de menu :
Menu : 1. Afficher les tâches 2. Ajouter une tâche 3. Marquer une tâche comme terminée 4. Supprimer une tâche 5. Quitter Choisissez une option (1-5) :
Erreurs et validation :
- Si l'utilisateur entre un numéro de tâche invalide ou une entrée incorrecte, le programme affiche un message d'erreur et lui demande de réessayer.
Sortie du programme :
Lorsque l'utilisateur choisit de quitter le programme, toutes les tâches sont sauvegardées et le programme se termine avec un message de confirmation.
Exemple de message : "Tâches sauvegardées. À bientôt !"
Bonus :
Ajouter des catégories de tâches (ex : personnel, travail).
Filtrer les tâches pour afficher seulement celles non terminées.
Permettre de modifier une tâche existante.