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

Erstelle ein Programm, das eine sichere Division mithilfe einer umfassenden Ausnahmebehandlung implementiert. Diese Herausforderung prüft deine Fähigkeit, Funktionsentwurf und Ausnahmeverwaltung zu kombinieren, um Fehler durch Division durch null ordnungsgemäß zu behandeln.

Die folgenden Eingaben werden bereitgestellt:

  • Ein Double numerator, das die zu dividierende Zahl darstellt
  • Ein Double denominator, das den Divisor darstellt

Dein 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 throw mit "Division by zero error" 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 Meldung ausgeben, je nachdem, ob die Division erfolgreich ist oder fehlschlägt

Verwende das folgende genaue Ausgabeformat:

Bei erfolgreicher Division:

Result: [division_result]

Bei einem Fehler durch Division durch null:

Error: Division by zero error

Denke daran: Wenn der Nenner null ist, sollte deine Funktion sofort eine Ausnahme mit throw auslösen, bevor sie die Division versucht. Der catch-Block sollte den Typ const char* angeben, um das ausgelöste Stringliteral zu behandeln. Wenn eine Ausnahme ausgelöst wird, springt das Programm direkt von der throw-Anweisung zum passenden catch-Block. Dadurch wird verhindert, dass eine Division durch null stattfindet, und dein Programm kann den Fehler ordnungsgemäß 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

Übe selbstständig: Online-C++-Compiler