Entwurf eines Multiplikations-Taschenrechners
Warum und wie wir unsere Programme in Funktionen strukturieren, soll nun an einem weiteren Beispiel erklärt werden. Nehmen wir an, es soll ein einfacher Taschenrechner entwickelt werden, welcher nur die Multiplikation beherrscht.
Schritt 1: Klärung der Programm-Aktionen
In diesem Schritt soll geklärt werden, welche Aktionen das Programm besitzen soll.
- Benutzer auffordern Eingaben zu tätigen
- Eingabe von Zahl 1
- Eingabe von Zahl 2
- Ergebnis ausrechnen (Zahl 1 * Zahl 2)
- Ergebnis ausgeben
Schritt 2: Gruppierung der Aktionen
In diesem Schritt überlegen wir, wie man diese Aktionen logisch und sinnvoll gruppieren kann. Eine allgemeine Gruppierung ist die unten aufgeführte. Je nach Komplexität des Programms ist jedoch eine feinere Gruppierung nötig.
- Eingabe
- Verarbeitung
- Ausgabe
Schritt 3: Erstellen der Funktions-Prototypen
Im dritten Schritt erstellen wir die Funktions-Prototypen, für die wir Name, Rückgabewert und Parameter definieren. Da bei der Multiplikation Kommazahlen entstehen, müssen wir an allen Stellen den Datentyp float oder double verwenden.
- float eingabeZahl();
- float multipliziere(float zahl1, float zahl2);
- void ausgabeErgebnis(float ergebnis);
Schritt 4: Implementierung
Wenn das Konzept schlüssig, logisch und sauber strukturiert ist, geht es um die Umsetzung – die sogenannte Implementierung. Hier ein Lösungsvorschlag:
// Multiplikations-Rechner / ausfuehrlich / v0.1 #include<stdio.h> float eingabeZahl() { float eingabe; printf("\nEingabe Zahl: "); scanf("%f", &eingabe); return eingabe; } float multipliziere(float zahl1, float zahl2) { return (zahl1 * zahl2); } void ausgabeErgebnis(float ergebnis) { printf("\nErgebnis: %f\n", ergebnis); } int main() { float faktor1, faktor2, ergebnis; // Eingabe faktor1 = eingabeZahl(); faktor2 = eingabeZahl(); // Verarbeitung ergebnis = multipliziere(faktor1, faktor2); // Ausgabe ausgabeErgebnis(ergebnis); return 0; }
Eingabe Zahl: 2 Eingabe Zahl: 4.4 Ergebnis: 8.800000