Menu
Coddy logo textTech

Eine Aufgabe entfernen

Teil des Abschnitts Logik & Kontrollfluss der Rust-Journey von Coddy. Lektion 18 von 66.

challenge icon

Aufgabe

Einfach

Du erhältst drei Eingaben: zuerst eine durch Kommas getrennte Liste vorhandener Aufgaben; zweitens eine Aufgabennummer, die entfernt werden soll (1-basierte Indizierung); und drittens eine neue Aufgabe, die nach dem Entfernen hinzugefügt werden soll. Lies alle Eingaben ein, erstelle aus den Aufgaben einen Vektor, entferne die angegebene Aufgabe, füge die neue Aufgabe hinzu und gib die aktualisierte Aufgabenliste aus.

Anforderungen:

  • Lies die erste Eingabe mit durch Kommas getrennten Aufgabenbeschreibungen ein (z. B. Buy groceries,Call dentist,Finish homework)
  • Teile die Zeichenkette an den Kommas, um einzelne Aufgaben zu erhalten
  • Erstelle einen veränderbaren Vektor und füge jede Aufgabe hinzu
  • Lies die zweite Eingabe ein und wandle sie in eine Ganzzahl um (die zu entfernende Aufgabennummer unter Verwendung einer 1-basierten Indizierung)
  • Wandle den 1-basierten Index in einen 0-basierten Index um und verwende .remove(), um die Aufgabe an diesem Index zu entfernen
  • Lies die dritte Eingabe mit einer neuen hinzuzufügenden Aufgabe ein
  • Verwende .push(), um die neue Aufgabe zum Vektor hinzuzufügen
  • Gib die Gesamtzahl der Aufgaben im Format Total tasks: X aus
  • Gib jede Aufgabe in einer eigenen 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 zu entfernende Aufgabennummer 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 Logik & Kontrollfluss

Übe selbstständig: Online-Rust-Compiler