C++-Programmierung/ Einführung in C++/ Ein Taschenrechner wird geboren

Aus Wikibooks


In diesem Kapitel wollen wir einen kleinen Taschenrechner für die Kommandozeile schreiben. Dieser wird in späteren Kapiteln noch verbessert, aber fürs Erste lernt er nur die vier Grundrechenarten und kann auch nur mit je 2 Zahlen rechnen.

Die Eingabe[Bearbeiten]

Eine Aufgabe besteht aus zwei Zahlen, die durch ein Rechenzeichen getrennt sind. Für die Zahlen verwenden wir den Typ double. Das Rechenzeichen lesen wir als char ein. Außerdem brauchen wir noch eine Variable, in der wir das Ergebnis speichern. Diese soll ebenfalls vom Typ double sein.

double zahl1, zahl2, ergebnis;
char rechenzeichen;

cin >> zahl1 >> rechenzeichen >> zahl2;

Die 4 Grundrechenarten[Bearbeiten]

Wie sicher jeder weiß, sind die 4 Grundrechenarten Addition (+), Subtraktion (-), Multiplikation (*) und Division (/). Da die Variable rechenzeichen vom Typ char und char ein ganzzahliger Typ ist, bietet es sich an, die switch-Anweisung zu verwenden, um die richtige Rechnung zu ermitteln und durchzuführen. Wenn ein ungültiges Rechenzeichen eingegeben wird, geben wir eine Fehlermeldung aus und beenden das Programm.

switch(rechenzeichen){
    case '+': ergebnis = zahl1+zahl2; break;
    case '-': ergebnis = zahl1-zahl2; break;
    case '*': ergebnis = zahl1*zahl2; break;
    case '/': ergebnis = zahl1/zahl2; break;
    default: cout << "unbekanntes Rechenzeichen...\n"; return 1;
}

Der Rückgabewert 1 - ausgelöst von return 1; - beendet das Programm, die 1 (und jeder andere Wert ungleich 0 auch) sagt dabei aus, dass im Programm ein Fehler auftrat.

Das ganze Programm[Bearbeiten]

Hier ist noch einmal eine Zusammenfassung unseres Taschenrechners:

#include <iostream>

using namespace std;

int main(){
    double zahl1, zahl2, ergebnis;                // Variablen für Zahlen
    char rechenzeichen;                           // Variable fürs Rechenzeichen

    cout << "Geben Sie eine Rechenaufgabe ein: "; // Eingabeaufforderung ausgeben
    cin >> zahl1 >> rechenzeichen >> zahl2;       // Aufgabe einlesen

    switch(rechenzeichen){                        // Wert von rechenzeichen ermitteln 
        case '+': ergebnis = zahl1+zahl2; break;  // entsprechend dem
        case '-': ergebnis = zahl1-zahl2; break;  // Rechenzeichen
        case '*': ergebnis = zahl1*zahl2; break;  // das Ergebnis
        case '/': ergebnis = zahl1/zahl2; break;  // berechnen
        // Fehlerausgabe und Programm beenden, falls falsches Rechenzeichen eingegeben wurde
        default: cout << "unbekanntes Rechenzeichen...\n"; return 1;
    }

    // Aufgabe noch mal komplett ausgeben
    cout << zahl1 << ' ' << rechenzeichen << ' ' << zahl2 << " = " << ergebnis << '\n';
}
Ausgabe:
Geben Sie eine Rechenaufgabe ein: <Eingabe>99 / 3</Eingabe>
99 / 3 = 33