Menu
Coddy logo textTech

Eine Aufgabe entfernen

Teil des Abschnitts Logic & Flow der Rust-Journey von Coddy — Lektion 18 von 66.

challenge icon

Aufgabe

Einfach

Sie erhalten drei Eingaben: erstens eine durch Kommas getrennte Liste bestehender Aufgaben; zweitens eine Aufgabennummer, die entfernt werden soll (1-basierte Indizierung); und drittens eine neue Aufgabe, die nach dem Entfernen hinzugefügt werden soll. Lesen Sie alle Eingaben ein, erstellen Sie einen Vector aus den Aufgaben, entfernen Sie die angegebene Aufgabe, fügen Sie die neue Aufgabe hinzu und zeigen Sie die aktualisierte Aufgabenliste an.

Anforderungen:

  • Lesen Sie die erste Eingabe ein, die durch Kommas getrennte Aufgabenbeschreibungen enthält (z. B. Buy groceries,Call dentist,Finish homework)
  • Teilen Sie die Zeichenfolge an den Kommas auf, um die einzelnen Aufgaben zu erhalten
  • Erstellen Sie einen veränderbaren Vector und fügen Sie jede Aufgabe hinzu
  • Lesen Sie die zweite Eingabe ein und konvertieren Sie diese in eine Ganzzahl (die Nummer der zu entfernenden Aufgabe, unter Verwendung der 1-basierten Indizierung)
  • Konvertieren Sie den 1-basierten Index in einen 0-basierten Index und verwenden Sie .remove(), um die Aufgabe an diesem Index zu entfernen
  • Lesen Sie die dritte Eingabe ein, die eine neue hinzuzufügende Aufgabe enthält
  • Verwenden Sie .push(), um die neue Aufgabe zum Vector hinzuzufügen
  • Geben Sie die Gesamtzahl der Aufgaben im Format Total tasks: X aus
  • Geben Sie jede Aufgabe in einer separaten Zeile im Format Task: [task description] aus

Eingabe:

  • Erste Zeile: Durch Kommas getrennte Aufgabenbeschreibungen (z. B. Buy groceries,Call dentist,Finish homework)
  • Zweite Zeile: Eine Ganzzahl, die die Nummer der zu entfernenden Aufgabe darstellt (1-basierte Indizierung)
  • Dritte Zeile: Eine neue hinzuzufügende Aufgabe (z. B. Study for exam)

Ausgabe:

  • Erste Zeile: Total tasks: X, wobei X die Gesamtzahl der Aufgaben nach dem Entfernen und Hinzufügen ist
  • Folgende Zeilen: Jede Aufgabe wird als Task: [task description] ausgegeben

Probier es selbst

use std::io::{self, BufRead};

fn main() {
    let stdin = io::stdin();
    let mut lines = stdin.lock().lines();
    
    // Lies die durch Kommas getrennten Aufgaben
    let tasks_input = lines.next().unwrap().unwrap();
    
    // Lies die Nummer der zu entfernenden Aufgabe (1-basierte Indizierung)
    let task_to_remove = lines.next().unwrap().unwrap();
    let task_number: usize = task_to_remove.trim().parse().unwrap();
    
    // Lies die neue Aufgabe, die hinzugefügt werden soll
    let new_task = lines.next().unwrap().unwrap();
    
    // TODO: Schreibe deinen Code unten
    // Teile tasks_input anhand der Kommas auf und erstelle einen veränderbaren Vektor
    // Entferne die Aufgabe am angegebenen Index (konvertiere 1-basiert in 0-basiert)
    // Füge die neue Aufgabe dem Vektor hinzu
    
    // Gib die Ergebnisse aus
    // Gib die Gesamtzahl der Aufgaben im Format aus: Total tasks: X
    // Gib jede Aufgabe im Format aus: Task: [task description]
}

Alle Lektionen in Logic & Flow