C/C++-Übungen für Einsteiger

Ein einfacher Taschenrechner in C und C++

In dieser Lektion baust du einen einfachen Taschenrechner, der die gewählte Rechenart mit einer switch-Anweisung ausführt.

Einführung

Ein einfacher Taschenrechner nimmt zwei Zahlen und ein Rechenzeichen wie +, -, * oder / entgegen und führt die passende Rechnung aus. Die switch-Anweisung eignet sich dafür sehr gut, weil sie den Zweig anhand eines bestimmten Werts auswählt.

Wichtige Punkte

  • Schalte die Compiler-Warnungen (compiler warnings) ein und behebe alle.
  • Verstehe den Datentyp und die Lebensdauer (lifetime) jedes Werts genau.
  • Prüfe immer die Eingabedaten und die Grenzen von Array-Indizes.

Codebeispiele in C und C++

C
Code ausführen →
main.c
#include <stdio.h>
int main(void) {
    int left = 12, right = 4, result = 0; char operation = '*';
    // Select the calculation from the operator.
    switch (operation) { case '+': result = left + right; break; case '-': result = left - right; break; case '*': result = left * right; break; case '/': result = left / right; }
    printf("%d %c %d = %d\n", left, operation, right, result);
}
Ergebnis der Ausführung
12 * 4 = 48
C++
Code ausführen →
main.cpp
#include <iostream>
int main() {
    int left = 12, right = 4, result = 0; char operation = '*';
    // Select the calculation from the operator.
    switch (operation) { case '+': result = left + right; break; case '-': result = left - right; break; case '*': result = left * right; break; case '/': result = left / right; }
    std::cout << left << ' ' << operation << ' ' << right << " = " << result << '\n';
}
Ergebnis der Ausführung
12 * 4 = 48

C und C++ im Vergleich

Die switch-Anweisung vergleicht das Zeichen operation mit jedem case und führt die passende Rechnung aus. Jeder case endet mit break, damit das Programm nicht in den nächsten case weiterläuft. Mit dem Rechenzeichen '*' lautet die Ausgabe 12 * 4 = 48. Beachte, dass bei der Division zweier ganzer Zahlen die Nachkommastellen wegfallen.

C

C verwendet kleine prozedurale Funktionen und zeigt offen, wie Daten im Speicher dargestellt werden.

C++

C++ erlaubt weiterhin Arbeit auf niedriger Ebene, ergänzt aber Bibliothekstypen und sicherere Abstraktionen.

Übungen zur Vertiefung

Führe beide Versionen aus und ändere dann den Code, um zu beobachten, welche Sicherheit jede Sprache bietet.

  • Teste ungültige Eingaben und Grenzwerte.
  • Kompiliere mit den Flags -Wall -Wextra -Wpedantic, um zusätzliche Warnungen einzuschalten.
  • Lagere gemeinsame Deklarationen in eine Header-Datei und die Implementierung in eine eigene Datei aus.

Mit einer Challenge üben

Nutze den Inhalt dieser Lektion, um ein echtes Problem zu lösen. Jede Challenge läuft im Browser, mit sofortigen Tests und einem KI-Review.

Alle Challenges