C++-Programmierung/ Einführung in C++/ Ein Taschenrechner wird geboren
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.
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';
}
Geben Sie eine Rechenaufgabe ein: <Eingabe>99 / 3</Eingabe>
99 / 3 = 33