Afficher toutes les tâches
Fait partie de la section Logic & Flow du Journey Rust de Coddy — leçon 17 sur 66.
Défi
FacileVous recevrez deux entrées : premièrement, une liste de tâches existantes séparées par des virgules, et deuxièmement, un numéro de tâche à consulter (indexation commençant à 1). Lisez les deux entrées, créez un vecteur à partir des tâches et affichez toutes les tâches avec leurs numéros, en mettant en évidence la tâche demandée.
Exigences :
- Lisez la première entrée contenant les descriptions des tâches séparées par des virgules (par exemple,
Buy groceries,Call dentist,Finish homework) - Divisez la chaîne par des virgules pour obtenir les tâches individuelles
- Créez un vecteur et ajoutez-y chaque tâche
- Lisez la deuxième entrée et convertissez-la en un entier (le numéro de la tâche à mettre en évidence, en utilisant une indexation commençant à 1)
- Affichez le nombre total de tâches au format :
Total tasks: X - Parcourez le vecteur et affichez chaque tâche avec son numéro (commençant à 1)
- Pour le numéro de tâche demandé, affichez-le au format :
[X] [task description] (selected) - Pour toutes les autres tâches, affichez-les au format :
[X] [task description]
Entrée :
- Première ligne : Descriptions des tâches séparées par des virgules (par exemple,
Buy groceries,Call dentist,Finish homework) - Deuxième ligne : Un entier représentant le numéro de la tâche à mettre en évidence (indexation commençant à 1)
Sortie :
- Première ligne :
Total tasks: Xoù X est le nombre total de tâches - Lignes suivantes : Chaque tâche avec son numéro au format
[X] [task description] - La tâche sélectionnée doit avoir
(selected)ajouté à la fin
Essayez vous-même
use std::io::{self, BufRead};
fn main() {
let stdin = io::stdin();
let mut lines = stdin.lock().lines();
// Lire les tâches séparées par des virgules
let tasks_input = lines.next().unwrap().unwrap();
// Lire le numéro de la tâche à mettre en évidence
let task_number: usize = lines.next().unwrap().unwrap().trim().parse().unwrap();
// TODO: Écrivez votre code ci-dessous
// Diviser tasks_input par les virgules et créer un vecteur
// Afficher le nombre total de tâches
// Parcourir les tâches et afficher chacune avec son numéro
// Mettre en évidence la tâche sélectionnée en ajoutant " (selected)"
}Toutes les leçons de Logic & Flow
1Structures de contrôle avancées
L'expression 'match'Filtrage de plusieurs valeursFiltrage d'intervallesL'expression 'if let'Les boucles en tant qu'expressionsRécapitulatif - Analyseur de commandes simple4Regrouper des données avec les structures
Qu'est-ce qu'une structure ?Aperçu des structuresAccéder aux champs d'une structureStructures mutablesLes structures comme paramètres de fonctionStructures tupleRécapitulatif - Créer une structure Book2Introduction aux vecteurs
Qu'est-ce qu'un vecteur ?Créer un vecteurAjouter des éléments avec pushAccéder aux éléments d'un vecteurItérer sur un vecteurItération mutableSupprimer des élémentsRécapitulatif - Suivi de score basique5Paires clé-valeur avec les Hash Maps
Qu'est-ce qu'une Hash Map ?Créer une Hash MapInsérer des paires clé-valeurAccéder aux valeursParcourir une Hash MapMettre à jour une valeurSupprimer une paireRécapitulatif - Compteur de mots8Projet : Inventaire d'articles simple
Configuration du projetAjouter un articleVérifier le stockVendre un articleAssembler le tout3Liste de tâches en ligne de commande
Configuration du projetAjouter une tâcheAfficher toutes les tâchesSupprimer une tâcheCode final