Menu
CoddyTech

Ringkasan: Pembagian Aman

Termasuk bagian Logika dan Alur dalam perjalanan C++ di Coddy. Pelajaran 53 dari 56.

challenge icon

Tantangan

Mudah

Buat program yang menerapkan pembagian aman dengan penanganan pengecualian yang menyeluruh. Tantangan ini akan menguji kemampuanmu menggabungkan perancangan fungsi dengan pengelolaan pengecualian untuk menangani error pembagian dengan nol secara tepat.

Input berikut akan diberikan:

  • Bilangan double numerator yang mewakili bilangan yang akan dibagi
  • Bilangan double denominator yang mewakili bilangan pembagi

Programmu harus:

  1. Membuat fungsi bernama safeDivide yang menerima dua parameter double (numerator dan denominator)
  2. Di dalam fungsi, memeriksa apakah denominator sama dengan nol
  3. Jika denominator bernilai nol, lakukan throw terhadap string "Division by zero error"
  4. Jika denominator tidak bernilai nol, hitung hasil pembagian dan kembalikan sebagai double
  5. Di dalam fungsi utama, panggil safeDivide di dalam blok try menggunakan nilai input
  6. Gunakan blok catch untuk menangani pengecualian string yang dilempar
  7. Cetak pesan yang sesuai berdasarkan keberhasilan atau kegagalan pembagian

Gunakan format output persis seperti berikut:

Untuk pembagian yang berhasil:

Result: [division_result]

Untuk error pembagian dengan nol:

Error: Division by zero error

Ingat, saat denominator bernilai nol, fungsi harus langsung melakukan throw terhadap pengecualian sebelum mencoba melakukan pembagian. Blok catch harus menentukan tipe const char* untuk menangani literal string yang dilempar. Saat pengecualian dilempar, program akan langsung berpindah dari pernyataan throw ke blok catch yang cocok, sehingga pembagian dengan nol tidak terjadi dan programmu dapat menangani error dengan tepat alih-alih mengalami crash.

Coba sendiri

#include <iostream>
using namespace std;

int main() {
    // Baca input
    double numerator, denominator;
    cin >> numerator >> denominator;
    
    // TODO: Tulis kodemu di sini
    // Buat fungsi safeDivide di atas main()
    // Gunakan blok try-catch untuk menangani pengecualian
    
    return 0;
}

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler C++ online