C++-Programmierung/ Brüche/ Der Taschenrechner geht zur Schule

Aus Wikibooks
Zur Navigation springen Zur Suche springen


Im Abschnitt „Einführung in C++“ gab es ein Kapitel über einen einfachen Taschenrechner. In diesem Kapitel werden wir ihn ganz leicht modifizieren, so dass er mit Brüchen statt mit Gleitkommazahlen rechnet und die Ausgabe als Brüche und als Gleitkommazahlen gemacht wird.

Nuvola-inspired-terminal.svg
 1 #include <iostream>
 2 
 3 // Alles was zur Bruch-Klasse gehört
 4 
 5 int main(){
 6     Bruch zahl1, zahl2, ergebnis;                      // Variablen für Zahlen vom Typ Bruch
 7     char rechenzeichen;                                // Variable fürs Rechenzeichen
 8  
 9     std::cout << "Geben Sie eine Rechenaufgabe ein: "; // Eingabeaufforderung ausgeben
10     std::cin >> zahl1 >> rechenzeichen >> zahl2;       // Aufgabe einlesen
11  
12     switch(rechenzeichen){                             // Wert von rechenzeichen ermitteln
13         case '+': ergebnis = zahl1+zahl2; break;       // entsprechend dem
14         case '-': ergebnis = zahl1-zahl2; break;       // Rechenzeichen
15         case '*': ergebnis = zahl1*zahl2; break;       // das Ergebnis
16         case '/': ergebnis = zahl1/zahl2; break;       // berechnen
17         // Fehlerausgabe und Programm beenden, falls falsches Rechenzeichen
18         default: std::cout << "unbekanntes Rechenzeichen...\n"; return 1;
19     }
20  
21     // Aufgabe noch mal komplett ausgeben
22     std::cout << zahl1 << ' ' << rechenzeichen << ' ' << zahl2 << " = " << ergebnis << '\n';
23     std::cout << static_cast<double>(zahl1) << ' '     // Ausgabe als
24               << rechenzeichen << ' '                  // Gleitkommawerte
25               << static_cast<double>(zahl2) << " = "
26               << static_cast<double>(ergebnis) << '\n';
27 }
Crystal Clear app kscreensaver.svg
Ausgabe:
1 Geben Sie eine Rechenaufgabe ein: <Eingabe>(1/4)*(1/2)</Eingabe>
2 (1/4) * (1/2) = (1/8)
3 0.25 * 0.5 = 0.125

In der Zusammenfassung finden Sie noch einmal das gesamte Programm.