Menu
Coddy logo textTech

Rückblick - Sichere Division

Teil des Abschnitts Logik & Ablauf der C++-Journey von Coddy — Lektion 53 von 56.

challenge icon

Aufgabe

Einfach

Erstellen Sie ein Programm, das eine sichere Division unter Verwendung einer umfassenden Ausnahmebehandlung implementiert. Diese Herausforderung testet Ihre Fähigkeit, Funktionsdesign mit Fehlermanagement zu kombinieren, um Division-durch-Null-Fehler elegant zu behandeln.

Die folgenden Eingaben werden bereitgestellt:

  • Ein Double numerator, der die zu teilende Zahl darstellt
  • Ein Double denominator, der die Zahl darstellt, durch die geteilt werden soll

Ihr Programm sollte:

  1. Eine Funktion namens safeDivide erstellen, die zwei Double-Parameter (numerator und denominator) entgegennimmt
  2. Innerhalb der Funktion prüfen, ob der Nenner gleich Null ist
  3. Wenn der Nenner Null ist, den String "Division by zero error" mit throw auslösen
  4. Wenn der Nenner nicht Null ist, das Divisionsergebnis berechnen und als Double zurückgeben
  5. In der Hauptfunktion safeDivide innerhalb eines try-Blocks mit den Eingabewerten aufrufen
  6. Einen catch-Block verwenden, um die ausgelöste String-Ausnahme zu behandeln
  7. Die entsprechende Nachricht ausgeben, je nachdem, ob die Division erfolgreich ist oder fehlschlägt

Verwenden Sie das folgende exakte Ausgabeformat:

Für eine erfolgreiche Division:

Result: [division_result]

Für einen Division-durch-Null-Fehler:

Error: Division by zero error

Denken Sie daran, dass Ihre Funktion, wenn der Nenner Null ist, sofort eine Ausnahme mit throw auslösen sollte, bevor die Division versucht wird. Der catch-Block sollte den Typ const char* spezifizieren, um das ausgelöste String-Literal zu behandeln. Wenn eine Ausnahme ausgelöst wird, springt das Programm direkt von der throw-Anweisung zum passenden catch-Block. Dies verhindert, dass eine Division durch Null stattfindet, und ermöglicht es Ihrem Programm, den Fehler elegant zu behandeln, anstatt abzustürzen.

Probier es selbst

#include <iostream>
using namespace std;

int main() {
    // Eingabe lesen
    double numerator, denominator;
    cin >> numerator >> denominator;
    
    // TODO: Schreiben Sie Ihren Code hier
    // Erstellen Sie die Funktion safeDivide oberhalb von main()
    // Verwenden Sie einen try-catch-Block, um Ausnahmen zu behandeln
    
    return 0;
}

Alle Lektionen in Logik & Ablauf