Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Phase 1: Projektvorschläge für Einsteiger

Jedes Projekt übt alle Grundlagen gleichzeitig:

ThemaWas du lernst
🧱 Variablen & DatentypenZahlen, Texte, Mutabilität
🔀 Kontrollflussif/else, loop, while, for
⌨️ BenutzereingabeLesen von der Konsole, Konvertierung
🧠 Ownership & BorrowingWer besitzt was? Referenzen nutzen
📝 String vs. &strTexte speichern, vergleichen, ausgeben

Hinweis: Alle Projekte werden ohne fertige Code-Vorschläge begleitet. Erarbeite die Lösung eigenständig!


🎮 Projekt 1: Zahlen raten

Beschreibung: Das Programm denkt sich eine Zahl zwischen 1 und 100 aus. Der Spieler gibt Zahlen ein, bis er die richtige erraten hat. Nach jedem Versuch erscheint „zu groß“ oder „zu klein“. Am Ende wird die Anzahl der Versuche angezeigt.

Themen: Variablen, loop, Benutzereingabe, Konvertierung, Vergleich von Strings


🛒 Projekt 2: Einkaufsliste

Beschreibung: Der Nutzer kann Artikel hinzufügen, alle anzeigen lassen oder das Programm beenden – alles über ein Textmenü. Am Ende wird die Gesamtanzahl der Artikel ausgegeben.

Themen: Variablen, loop, match, Benutzereingabe, Ownership beim Einfügen in eine Liste


🌡️ Projekt 3: Temperatur-Tagebuch

Beschreibung: Der Nutzer gibt Temperaturen in Celsius ein (eine pro Tag). Das Programm speichert alle Werte und gibt am Ende Durchschnitt, Minimum und Maximum aus.

Themen: f64-Datentyp, for-Schleife, Benutzereingabe, Borrowing beim Auswerten der Liste


📊 Projekt 4: Noten-Auswertung

Beschreibung: Der Schüler gibt seinen Namen und beliebig viele Noten ein. Das Programm berechnet den Durchschnitt und gibt eine Bewertung aus: „sehr gut“, „gut“, „befriedigend“ oder „nicht bestanden“.

Themen: String für Name, f64 für Noten, if/else, Benutzereingabe, Borrowing


🔐 Projekt 5: Login-Simulator

Beschreibung: Das Programm hat einen gespeicherten Nutzernamen und ein Passwort. Der Nutzer hat 3 Versuche. Bei Erfolg erscheint eine Begrüßung, sonst wird der Zugang gesperrt.

Themen: Variablen, Zähler, while-Schleife, Benutzereingabe, Vergleich von String mit &str


➕ Projekt 6: Taschenrechner

Beschreibung: Der Nutzer gibt zwei Zahlen und eine Operation (+, -, *, /) ein. Das Programm berechnet und gibt das Ergebnis aus. Bei Division durch Null erscheint eine Fehlermeldung.

Themen: f64, match, Benutzereingabe, Konvertierung, &str-Vergleich


🌍 Projekt 7: Temperaturumrechner

Beschreibung: Der Nutzer gibt eine Temperatur und die Einheit (C, F oder K) ein. Das Programm rechnet sie in die anderen beiden Einheiten um und gibt alle drei aus.

Themen: f64, match, Benutzereingabe, Konvertierung, String vs. &str


💪 Projekt 8: BMI-Rechner

Beschreibung: Der Nutzer gibt Körpergröße (in Metern) und Gewicht (in Kilogramm) ein. Das Programm berechnet den BMI und gibt die Kategorie aus (Untergewicht, Normal, Übergewicht usw.).

Themen: f64, if/else, Benutzereingabe, Konvertierung, &str für Kategorienamen


🎯 Projekt 9: FizzBuzz

Beschreibung: Gib die Zahlen 1 bis 100 aus. Bei Vielfachen von 3: „Fizz“, bei Vielfachen von 5: „Buzz“, bei beiden: „FizzBuzz“.

Themen: for-Schleife, if/else, Modulo-Operator, &str für Ausgabe


🔢 Projekt 10: Primzahl-Prüfer

Beschreibung: Der Nutzer gibt eine Zahl ein. Das Programm prüft, ob sie eine Primzahl ist, und gibt das Ergebnis aus.

Themen: u64-Datentyp, for-Schleife, if/else, Benutzereingabe, Konvertierung


📅 Projekt 11: Wochentag-Finder

Beschreibung: Der Nutzer gibt ein Datum als Tag, Monat und Jahr ein. Das Programm berechnet, welcher Wochentag das war (z. B. Montag).

Themen: u32-Datentyp, Rechnen mit Zahlen, Benutzereingabe, match für Wochentagname


🎲 Projekt 12: Würfelspiel

Beschreibung: Zwei Spieler würfeln abwechselnd (Zufallszahl 1–6). Der erste Spieler, der 21 Punkte erreicht oder überschreitet, verliert. Das Programm zeigt jeden Wurf an.

Themen: Variablen, Zufallszahlen, loop, Benutzereingabe (zum Fortfahren), String-Ausgabe


🏦 Projekt 13: Einfaches Bankkonto

Beschreibung: Der Nutzer kann Geld einzahlen, abheben oder den Kontostand anzeigen lassen. Das Programm verhindert, dass das Konto ins Negative geht.

Themen: f64, mut, loop, Benutzereingabe, if/else, &str für Menüoptionen


🔤 Projekt 14: Wörter zählen

Beschreibung: Der Nutzer gibt einen Satz ein. Das Programm zählt die Wörter, Zeichen und Vokale und gibt alles aus.

Themen: String, &str, for-Schleife über Zeichen, Benutzereingabe, Variablen


🔄 Projekt 15: Kollatz-Folge

Beschreibung: Der Nutzer gibt eine positive Zahl ein. Das Programm berechnet die Kollatz-Folge (gerade → halbieren, ungerade → mal 3 plus 1) und gibt jeden Schritt aus, bis 1 erreicht ist.

Themen: u64, while-Schleife, if/else, Benutzereingabe, Konvertierung


📐 Projekt 16: Geometrie-Rechner

Beschreibung: Der Nutzer wählt eine Form (Kreis, Rechteck, Dreieck) und gibt die Maße ein. Das Programm berechnet Fläche und Umfang.

Themen: f64, match, Benutzereingabe, Konvertierung, &str für Formnamen


🔡 Projekt 17: Palindrom-Prüfer

Beschreibung: Der Nutzer gibt ein Wort ein. Das Programm prüft, ob es ein Palindrom ist (z. B. „Rentner“), und gibt das Ergebnis aus.

Themen: String, &str, Iteration über Zeichen, Benutzereingabe, bool


🎓 Projekt 18: Lernkarten-Quiz

Beschreibung: Das Programm enthält 10 feste Frage-Antwort-Paare. Es stellt die Fragen nacheinander, liest die Antwort ein und gibt am Ende die Punktzahl aus.

Themen: Arrays oder Tuples, for-Schleife, Benutzereingabe, String-Vergleich, Zähler


📏 Projekt 19: Einheiten-Umrechner

Beschreibung: Der Nutzer wählt eine Kategorie (Länge, Gewicht, Volumen) und gibt einen Wert mit Einheit ein. Das Programm rechnet in alle anderen Einheiten der Kategorie um.

Themen: f64, match, Benutzereingabe, String vs. &str, Variablen


⏱️ Projekt 20: Countdown-Timer

Beschreibung: Der Nutzer gibt eine Anzahl von Sekunden ein. Das Programm zählt von dieser Zahl bis 0 herunter und gibt jeden Schritt aus. Am Ende erscheint „Zeit abgelaufen!“.

Themen: u32, for-Schleife, Benutzereingabe, Konvertierung, &str-Ausgabe


🐍 Projekt 21: Schere-Stein-Papier

Beschreibung: Der Nutzer spielt gegen das Programm (Zufallswahl). Das Spiel läuft so lange, bis einer von beiden 3 Runden gewonnen hat. Am Ende wird der Gesamtsieger angezeigt.

Themen: match, Zufallszahlen, loop, Benutzereingabe, Zähler, String vs. &str


📦 Projekt 22: Lagerverwaltung

Beschreibung: Der Nutzer kann Artikel mit Name und Anzahl hinzufügen, die Anzahl ändern, einen Artikel entfernen oder alle anzeigen. Das Menü läuft in einer Schleife.

Themen: Variablen, loop, Benutzereingabe, Ownership beim Speichern, String für Namen


🎵 Projekt 23: Playlist-Manager

Beschreibung: Der Nutzer kann Songs (als Text) zu einer Playlist hinzufügen, einen entfernen, alle anzeigen oder die Playlist mischen (zufällige Reihenfolge).

Themen: String, Vec, loop, Benutzereingabe, Ownership, Borrowing beim Anzeigen


🏋️ Projekt 24: Kalorienrechner

Beschreibung: Der Nutzer gibt Mahlzeiten mit Kalorienanzahl ein. Das Programm summiert alle Kalorien und vergleicht sie mit einem Tagesziel. Es zeigt an, ob das Ziel über- oder unterschritten wurde.

Themen: f64, loop, Benutzereingabe, Konvertierung, if/else, Summierung


🗓️ Projekt 25: Altersrechner

Beschreibung: Der Nutzer gibt sein Geburtsjahr ein. Das Programm berechnet das aktuelle Alter und gibt aus, in wie vielen Jahren der nächste runde Geburtstag (10, 20, 30 …) ist.

Themen: u32, Arithmetik, Benutzereingabe, if/else, Modulo


🔑 Projekt 26: Passwort-Generator

Beschreibung: Der Nutzer gibt die gewünschte Länge des Passworts ein. Das Programm generiert ein zufälliges Passwort aus Buchstaben, Zahlen und Sonderzeichen und zeigt es an.

Themen: String, Zufallszahlen, for-Schleife, Benutzereingabe, Konvertierung


🧮 Projekt 27: Fakultät & Fibonacci

Beschreibung: Der Nutzer wählt: Fakultät oder Fibonacci berechnen. Dann gibt er eine Zahl ein. Das Programm berechnet das Ergebnis und zeigt es an.

Themen: u64, match, for-Schleife, Benutzereingabe, Konvertierung, Variablen


🛤️ Projekt 28: Schritt-Zähler

Beschreibung: Der Nutzer gibt täglich seine gelaufenen Schritte ein (für 7 Tage). Das Programm berechnet Gesamtschritte, Tagesdurchschnitt und den aktivsten Tag.

Themen: Arrays, for-Schleife, Benutzereingabe, Vergleiche, usize


💬 Projekt 29: Umgekehrter Satz

Beschreibung: Der Nutzer gibt einen Satz ein. Das Programm gibt ihn rückwärts aus – einmal Zeichen für Zeichen, einmal Wort für Wort.

Themen: String, &str, Iteration, Benutzereingabe, Borrowing


🏆 Projekt 30: Punkte-Tabelle

Beschreibung: Der Nutzer gibt Namen und Punkte von bis zu 5 Spielern ein. Das Programm sortiert die Spieler nach Punkten und gibt eine nummerierte Rangliste aus.

Themen: Arrays oder Tuples, for-Schleife, Sortierung, Benutzereingabe, String


🧩 Projekt 31: Wort-Verschlüsseler (Caesar)

Beschreibung: Der Nutzer gibt einen Text und eine Verschiebungszahl ein. Das Programm verschlüsselt den Text mit der Caesar-Verschlüsselung und gibt das Ergebnis aus.

Themen: String, char, for-Schleife, Benutzereingabe, Arithmetik mit Zeichen


🌤️ Projekt 32: Wetter-Notizen

Beschreibung: Der Nutzer gibt für jeden Tag der Woche eine Temperatur und eine Beschreibung (z. B. „sonnig“) ein. Am Ende gibt das Programm eine Übersicht mit dem wärmsten und kältesten Tag aus.

Themen: String, f64, for-Schleife, Benutzereingabe, Vergleiche, Borrowing


🔢 Projekt 33: Zahlen-Statistik

Beschreibung: Der Nutzer gibt beliebig viele Zahlen ein (bis „fertig“). Das Programm berechnet Summe, Durchschnitt, Minimum und Maximum.

Themen: Vec<f64>, loop, Benutzereingabe, Vergleiche, Borrowing beim Auswerten


🎪 Projekt 34: Wort-Häufigkeit

Beschreibung: Der Nutzer gibt einen Satz ein. Das Programm zählt, wie oft jedes Wort vorkommt, und gibt alle Wörter mit ihrer Häufigkeit aus.

Themen: String, &str, Iteration, Benutzereingabe, Variablen, Vergleiche


📖 Projekt 35: Tagebuch-App

Beschreibung: Der Nutzer kann Einträge mit Datum und Text hinzufügen oder alle bisherigen Einträge anzeigen. Das Programm läuft in einer Menü-Schleife.

Themen: String, loop, Benutzereingabe, Ownership beim Speichern, Borrowing beim Lesen


🚦 Projekt 36: Ampel-Simulator

Beschreibung: Das Programm simuliert eine Ampel: Rot → Gelb → Grün → Gelb → Rot … Der Nutzer drückt Enter, um zur nächsten Phase zu wechseln. Nach 10 Zyklen endet das Programm.

Themen: &str, loop, Benutzereingabe, Zähler, match


📱 Projekt 37: Kontaktbuch

Beschreibung: Der Nutzer kann Kontakte (Name + Telefonnummer) hinzufügen, nach einem Namen suchen oder alle anzeigen.

Themen: String, Vec, loop, Benutzereingabe, Ownership, Borrowing, String-Vergleich


⚖️ Projekt 38: Einheiten-Waage

Beschreibung: Der Nutzer gibt ein Gewicht in Kilogramm ein. Das Programm rechnet es in Gramm, Pfund und Unzen um und zeigt alle Werte an.

Themen: f64, Benutzereingabe, Konvertierung, Ausgabe, Variablen


🎰 Projekt 39: Münzwurf-Simulation

Beschreibung: Der Nutzer gibt an, wie oft eine Münze geworfen werden soll. Das Programm simuliert die Würfe und gibt aus, wie oft Kopf und wie oft Zahl erschienen ist.

Themen: Zufallszahlen, for-Schleife, Benutzereingabe, Konvertierung, Zähler


📝 Projekt 40: To-Do-Liste

Beschreibung: Der Nutzer kann Aufgaben hinzufügen, als erledigt markieren oder alle offenen Aufgaben anzeigen. Das Programm läuft in einer Menü-Schleife.

Themen: String, bool, Vec, loop, Benutzereingabe, Ownership, Borrowing


🚀 Projekt 41: Raketenzünder

Beschreibung: Der Nutzer gibt eine Startzahl (max. 100) ein. Das Programm zählt rückwärts und gibt bei 0 „Zündung!“ aus. Bei jeder 10er-Stufe erscheint eine besondere Meldung.

Themen: u32, for-Schleife, if/else, Benutzereingabe, &str-Ausgabe


🐾 Projekt 42: Tier-Lexikon

Beschreibung: Das Programm enthält Informationen zu 5 Tieren (Name + Beschreibung). Der Nutzer gibt einen Tiernamen ein und bekommt die passende Beschreibung – oder „nicht gefunden“.

Themen: Arrays mit &str, for-Schleife, Benutzereingabe, String-Vergleich, bool


💡 Projekt 43: Rätsel-Spiel

Beschreibung: Das Programm stellt 5 Rätsel (Texträtsel mit Freitext-Antwort). Der Nutzer hat pro Rätsel 2 Versuche. Am Ende gibt es eine Auswertung.

Themen: Arrays, for-Schleife, while/Zähler, Benutzereingabe, String-Vergleich


🏃 Projekt 44: Lauf-Tracker

Beschreibung: Der Nutzer gibt für jeden Wochentag die gelaufenen Kilometer ein. Das Programm berechnet die Gesamtstrecke, den Tagesdurchschnitt und sagt, ob das Wochenziel (z. B. 30 km) erreicht wurde.

Themen: f64, Arrays, for-Schleife, Benutzereingabe, if/else, Summierung


🔍 Projekt 45: Duplikat-Finder

Beschreibung: Der Nutzer gibt eine Liste von Wörtern ein (bis „fertig“). Das Programm findet alle Wörter, die mehr als einmal vorkommen, und gibt sie aus.

Themen: String, Vec, for-Schleife, Benutzereingabe, Vergleiche, Borrowing


🎭 Projekt 46: Stimmungs-Tagebuch

Beschreibung: Der Nutzer gibt täglich eine Stimmung (1–10) und ein Stichwort ein. Das Programm speichert alle Einträge und gibt am Ende den Stimmungsdurchschnitt und den besten Tag aus.

Themen: u8, String, Vec, loop, Benutzereingabe, Vergleiche, Borrowing


🏠 Projekt 47: Mietkosten-Rechner

Beschreibung: Der Nutzer gibt Kaltmiete, Nebenkosten und Stromkosten ein. Das Programm berechnet die Gesamtkosten pro Monat und pro Jahr und gibt an, wie hoch der Anteil jeder Kostenart ist.

Themen: f64, Benutzereingabe, Konvertierung, Arithmetik, Ausgabe, &str


🌱 Projekt 48: Pflanzenwachstum

Beschreibung: Der Nutzer gibt an, wie groß eine Pflanze heute ist (in cm) und wie viel sie täglich wächst. Das Programm gibt aus, wann sie eine bestimmte Zielhöhe erreicht.

Themen: f64, while-Schleife, Benutzereingabe, Konvertierung, Zähler


📚 Projekt 49: Buch-Sammlung

Beschreibung: Der Nutzer kann Buchtitel hinzufügen, einen Titel suchen, einen entfernen oder alle anzeigen. Das Menü läuft in einer Schleife.

Themen: String, Vec, loop, match, Benutzereingabe, Ownership, Borrowing


🧠 Projekt 50: Gedächtnis-Trainer

Beschreibung: Das Programm zeigt dem Nutzer kurz eine Liste von 5 Wörtern, löscht sie dann vom Bildschirm und fragt ihn, welche Wörter er sich merken konnte. Am Ende gibt es eine Auswertung.

Themen: Arrays mit &str, for-Schleife, Benutzereingabe, String-Vergleich, Zähler