Ausgabe des Ergebnisses oder Behandlung von Division durch Null
In diesem Schritt erweitern Sie das Programm für rationale Ausdrücke, um eine robustere Fehlerbehandlung und Ergebnisdarstellung zu implementieren.
Aktualisieren Sie die Datei rational_expressions.c
, um die Ausgabe und Fehlerbehandlung zu verbessern:
cd ~/project
nano rational_expressions.c
Ändern Sie den Code, um eine erweiterte Fehlerbehandlung und Ergebnisformatierung einzuschließen:
#include <stdio.h>
#include <stdlib.h>
int main() {
int numerator, denominator;
// Eingabevalidierung und Fehlerbehandlung
printf("Geben Sie den Zähler ein: ");
if (scanf("%d", &numerator) != 1) {
printf("Fehler: Ungültige Zählereingabe.\n");
return 1;
}
printf("Geben Sie den Nenner ein: ");
if (scanf("%d", &denominator) != 1) {
printf("Fehler: Ungültige Nenner-Eingabe.\n");
return 1;
}
// Umfassende Behandlung von Division durch Null
if (denominator == 0) {
printf("Fehler: Division durch Null nicht erlaubt. Der Nenner muss ungleich Null sein.\n");
return 1;
}
// Berechnung und Ausgabe der Ergebnisse mit verschiedenen Formaten
double fraction_value = (double)numerator / denominator;
printf("\n--- Ergebnisse des rationalen Ausdrucks ---\n");
printf("Zähler: %d\n", numerator);
printf("Nenner: %d\n", denominator);
printf("Bruchwert: %.2f\n", fraction_value);
printf("Ganzzahl-Ergebnis: %d\n", numerator / denominator);
printf("Rest: %d\n", numerator % denominator);
return 0;
}
Kompilieren und ausführen des Programms:
gcc rational_expressions.c -o rational_expressions
./rational_expressions
Beispielausgaben:
Erfolgreiche Berechnung:
Geben Sie den Zähler ein: 10
Geben Sie den Nenner ein: 4
--- Ergebnisse des rationalen Ausdrucks ---
Zähler: 10
Nenner: 4
Bruchwert: 2.50
Ganzzahl-Ergebnis: 2
Rest: 2
Division durch Null:
Geben Sie den Zähler ein: 10
Geben Sie den Nenner ein: 0
Fehler: Division durch Null nicht erlaubt. Der Nenner muss ungleich Null sein.
Ungültige Eingabe:
Geben Sie den Zähler ein: abc
Fehler: Ungültige Zählereingabe.
Wichtige Verbesserungen:
- Hinzugeführte Eingabevalidierung mithilfe des Rückgabewerts von
scanf()
.
- Erweiterte Fehlermeldungen für verschiedene Szenarien.
- Bereitstellung verschiedener Ergebnisdarstellungen.
- Verwendung von
double
für genauere Fließkommaberechnungen.