Menu
Coddy logo textTech

Riepilogo - Divisione sicura

Fa parte della sezione Logica e flusso del percorso C++ di Coddy. Lezione 53 di 56.

challenge icon

Sfida

Facile

Crea un programma che implementi una divisione sicura usando una gestione completa delle eccezioni. Questa sfida metterà alla prova la tua capacità di combinare la progettazione di funzioni con la gestione delle eccezioni per gestire con eleganza gli errori di divisione per zero.

Verranno forniti i seguenti input:

  • Un double numerator che rappresenta il numero da dividere
  • Un double denominator che rappresenta il numero per cui dividere

Il tuo programma dovrebbe:

  1. Creare una funzione denominata safeDivide che accetta due parametri double (numerator e denominator)
  2. All'interno della funzione, controllare se il denominatore è uguale a zero
  3. Se il denominatore è zero, throw la stringa "Division by zero error"
  4. Se il denominatore non è zero, calcolare il risultato della divisione e restituirlo come double
  5. Nella funzione principale, chiamare safeDivide all'interno di un blocco try con i valori di input
  6. Usare un blocco catch per gestire l'eccezione stringa generata
  7. Stampare il messaggio appropriato in base al fatto che la divisione riesca o meno

Usa il seguente formato di output esatto:

Per una divisione riuscita:

Result: [division_result]

Per un errore di divisione per zero:

Error: Division by zero error

Ricorda che quando il denominatore è zero, la tua funzione dovrebbe generare immediatamente un'eccezione con throw prima di tentare la divisione. Il blocco catch dovrebbe specificare il tipo const char* per gestire la stringa letterale generata. Quando viene generata un'eccezione, il programma passerà direttamente dall'istruzione throw al blocco catch corrispondente, impedendo che si verifichi una divisione per zero e consentendo al programma di gestire l'errore con eleganza invece di bloccarsi.

Provalo tu

#include <iostream>
using namespace std;

int main() {
    // Leggi l'input
    double numerator, denominator;
    cin >> numerator >> denominator;
    
    // TODO: Scrivi qui il tuo codice
    // Crea la funzione safeDivide sopra main()
    // Usa un blocco try-catch per gestire le eccezioni
    
    return 0;
}

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore C++ online