Programming lesson
Programmieren lernen mit Switch und If: Ein Tutorial für Computer Science 1081 – Assignment #04
In diesem Tutorial lernst du, wie du Switch- und If-Anweisungen in C++ einsetzt, um typische Aufgaben aus Assignment #04 zu lösen – von römischen Zahlen über Rabattrechner bis zum Geometrie-Menü.
Einleitung: Switch und If – die Entscheidungsfinder in C++
In der Programmierung musst du ständig Entscheidungen treffen: Ist die Zahl gültig? Welcher Rabatt gilt? Welche Form soll berechnet werden? Zwei wichtige Werkzeuge dafür sind die switch-Anweisung und die if-Anweisung. Sie helfen dir, dein Programm intelligent zu machen – ähnlich wie eine KI in einer App entscheidet, welchen Filter sie auf ein Bild anwendet. In diesem Tutorial zeigen wir dir anhand von vier typischen Aufgaben aus Computer Science 1081 – Assignment #04, wie du beide einsetzt. Die Beispiele sind auf dem Stand von Juni 2026 – also brandaktuell.
1. Römische Zahlen mit Switch (Programm #1)
Stell dir vor, du entwickelst eine Quiz-App, die historische Daten abfragt. Du brauchst eine Funktion, die Zahlen in römische Ziffern umwandelt. Mit einer switch-Anweisung geht das ganz einfach. Die Aufgabe: Der Benutzer gibt eine Zahl zwischen 1 und 10 ein, und du gibst die römische Entsprechung aus. Bei ungültiger Eingabe erscheint eine Fehlermeldung.
So könnte der Code aussehen:
int num; cout << "Enter a number (1-10): "; cin >> num; switch(num) { case 1: cout << "I"; break; case 2: cout << "II"; break; // ... bis case 10: cout << "X"; break; default: cout << "Enter a number in the range 1 through 10"; }Wichtig: Die break-Anweisung verhindert, dass die nächsten Fälle ebenfalls ausgeführt werden. Das ist wie beim Scrollen in einer App – du willst nicht versehentlich den nächsten Bildschirm sehen. Ohne break würde der Code „durchfallen“.
Trend-Tipp: Switch in der Spieleentwicklung
Viele Spiele nutzen switch, um Tastatureingaben zu verarbeiten. Drückst du „W“ (case), läuft die Spielfigur nach vorne. So ähnlich funktioniert auch die Menüsteuerung in deinem Lieblingsspiel. Ein aktuelles Beispiel: In der Fußball-Simulation FIFA 26 (angenommen) würde man Tastencodes per switch abfragen, um Pässe oder Schüsse auszulösen.
2. Rabattrechner mit If (Programm #2)
Ein Softwareunternehmen verkauft ein Paket für 99 $. Je nach Menge gibt es Staffelrabatte. Die Anforderung: Verwende nur if-Anweisungen, kein else und kein switch. Das klingt erstmal umständlich, trainiert aber das Verständnis für Bedingungen.
Die Logik: Du fragst die Anzahl ab, prüfst dann nacheinander die Rabattstufen und berechnest den Gesamtpreis. Wichtig ist die Eingabevalidierung: Negative Zahlen oder null sind nicht erlaubt.
int units; cout << "How many units were sold? "; cin >> units; if (units <= 0) { cout << "Error: Units sold must be positive integer"; return 0; } double discount; if (units >= 100) discount = 0.50; if (units >= 50 && units < 100) discount = 0.40; if (units >= 20 && units < 50) discount = 0.30; if (units >= 10 && units < 20) discount = 0.20; if (units < 10) discount = 0.0; double total = units * 99 * (1 - discount); cout << "The total cost of the purchase is $" << total;Achtung: Die Reihenfolge der if-Abfragen ist entscheidend. Beginne mit der größten Menge, sonst überschreibst du den Rabatt. Das ist wie bei einer Rabattaktion im Online-Shop: Der höchste Rabatt wird zuerst angewendet, danach kommen die kleineren.
Praxisbezug: Rabatte in der Finanzwelt
Viele Apps für Finanzen oder Shopping nutzen solche Staffelungen. Denk an eine Kryptobörse, die bei hohen Handelsvolumina niedrigere Gebühren verlangt. Oder an Streamingdienste: Je länger du abonnierst, desto günstiger wird der Monatspreis. Das Prinzip ist identisch.
3. Bankgebühren mit If (Programm #3)
Eine Bank berechnet monatliche Gebühren: 10 $ Grundgebühr plus checkabhängige Gebühren. Zusätzlich 15 $ Extra, wenn der Kontostand unter 400 $ fällt. Die Aufgabe: Verwende nur if, keine switch oder else. Außerdem sollst du prüfen, ob die Gebühren das Konto überziehen – und dann eine Warnung ausgeben, bevor die Gebühren angezeigt werden.
double balance; int checks; cout << "Beginning balance: $"; cin >> balance; cout << "Number of checks written: "; cin >> checks; if (checks < 0) { cout << "Number of checks cannot be negative."; return 0; } double checkFee; if (checks < 20) checkFee = 0.10 * checks; if (checks >= 20 && checks < 40) checkFee = 0.08 * checks; if (checks >= 40 && checks < 60) checkFee = 0.06 * checks; if (checks >= 60) checkFee = 0.04 * checks; double totalFee = 10 + checkFee; if (balance < 400) totalFee += 15; if (balance < totalFee) cout << "Your account is overdrawn!" << endl; cout << "The bank fee this month is $" << totalFee;Beachte: Die Überziehungsprüfung erfolgt, bevor die Gebühr angezeigt wird. Das ist wie bei einer Banking-App, die dir eine Warnung zeigt, bevor eine Transaktion durchgeführt wird. So bleibst du informiert, auch wenn das Konto knapp ist.
Aktueller Bezug: KI und Banken
Im Jahr 2026 setzen viele Banken KI ein, um Kontobewegungen zu analysieren. Solche if-Abfragen sind die Grundlage für automatisierte Entscheidungen – zum Beispiel, ob eine Überweisung freigegeben wird oder nicht. Ohne diese Logik wäre keine intelligente App denkbar.
4. Geometrie-Menü mit Switch (Programm #4)
Ein Menü mit vier Optionen: Kreis, Rechteck, Dreieck oder Ende. Der Benutzer wählt eine Zahl, und das Programm berechnet die Fläche. Hier kommt die switch-Anweisung zum Einsatz, kombiniert mit einer do-while-Schleife für die Wiederholung. Außerdem musst du negative Eingaben für Längen und Radien abfangen.
const double PI = 3.14159; int choice; do { cout << "Geometry Calculator" << endl; cout << "1. Circle" << endl; cout << "2. Rectangle" << endl; cout << "3. Triangle" << endl; cout << "4. Quit" << endl; cout << "Enter your choice (1-4): "; cin >> choice; switch(choice) { case 1: double r; cout << "Enter the Radius: "; cin >> r; if (r < 0) cout << "Radius cannot be negative."; else cout << "The area is: " << PI * r * r; break; case 2: double l, w; cout << "Enter the length: "; cin >> l; cout << "Enter the width: "; cin >> w; if (l < 0 || w < 0) cout << "Dimensions cannot be negative."; else cout << "The area is: " << l * w; break; case 3: double b, h; cout << "Enter the base: "; cin >> b; cout << "Enter the height: "; cin >> h; if (b < 0 || h < 0) cout << "Base and height cannot be negative."; else cout << "The area is: " << 0.5 * b * h; break; case 4: cout << "Exiting"; break; default: cout << "You must choose from the listed options"; } } while(choice != 4);Dieses Menü erinnert an die Auswahlbildschirme in Apps oder Spielen. Stell dir vor, du öffnest eine Fitness-App und wählst zwischen „Laufen“, „Radfahren“ und „Schwimmen“. Auch dort steckt eine switch-Anweisung dahinter.
Trend: Geometrie in der Spieleentwicklung
In der Spieleentwicklung werden ständig Flächen berechnet – etwa für Kollisionen oder Kartenausschnitte. Ein aktuelles Beispiel: Das Spiel Minecraft 2 (fiktiv) würde solche Berechnungen nutzen, um die Größe von Grundstücken zu ermitteln. Auch in AR-Apps (Augmented Reality) werden Flächen gemessen, indem du mit dem Smartphone auf einen Tisch zeigst.
Zusammenfassung und nächste Schritte
Du hast jetzt gesehen, wie switch und if in der Praxis eingesetzt werden. Die vier Programme aus Assignment #04 decken typische Anwendungen ab: Umwandlungen, Rabatte, Gebühren und Menüs. Merke dir:
- Switch eignet sich für feste Werte (wie 1-10 oder Menüoptionen).
- If ist flexibler für Bereiche und komplexe Bedingungen.
- Immer Eingabevalidierung durchführen – das verhindert Abstürze.
Als Nächstes könntest du dich mit Schleifen oder Funktionen beschäftigen. Oder du baust das Geometrie-Menü zu einem vollständigen Taschenrechner aus. Die Grundlagen hast du jetzt drauf!
Viel Erfolg beim Programmieren – und denk dran: Jeder Profi hat mal mit solchen einfachen Aufgaben angefangen. Mit Übung wirst du schnell sicherer.