Menu
Coddy logo textTech

Özet - Güvenli Bölme

Coddy'nin C++ Journey'sinin Mantık & Akış bölümünün bir parçası — ders 53 / 56.

challenge icon

Görev

Kolay

Kapsamlı istisna yönetimi kullanarak güvenli bölme işlemi gerçekleştiren bir program oluşturun. Bu zorluk, bölme sıfır hatalarını zarif bir şekilde yönetmek için fonksiyon tasarımı ile istisna yönetimini birleştirme yeteneğinizi test edecektir.

Aşağıdaki girdiler sağlanacaktır:

  • Bölünecek sayıyı temsil eden bir double numerator
  • Bölen sayıyı temsil eden bir double denominator

Programınız şunları yapmalıdır:

  1. İki double parametre (numerator ve denominator) alan safeDivide adında bir fonksiyon oluşturun
  2. Fonksiyonun içinde, paydanın sıfıra eşit olup olmadığını kontrol edin
  3. Eğer payda sıfır ise, "Division by zero error" dizesini throw edin
  4. Eğer payda sıfır değilse, bölme sonucunu hesaplayın ve bir double olarak döndürün
  5. Ana fonksiyonda (main function), girdi değerleriyle bir try bloğu içinde safeDivide fonksiyonunu çağırın
  6. Fırlatılan dize istisnasını yönetmek için bir catch bloğu kullanın
  7. Bölme işleminin başarılı veya başarısız olmasına bağlı olarak uygun mesajı yazdırın

Aşağıdaki tam çıktı formatını kullanın:

Başarılı bölme için:

Result: [division_result]

Sıfıra bölme hatası için:

Error: Division by zero error

Payda sıfır olduğunda, fonksiyonunuzun bölme işlemini denemeden önce hemen bir istisna throw etmesi gerektiğini unutmayın. catch bloğu, fırlatılan dize sabitini (string literal) işlemek için const char* türünü belirtmelidir. Bir istisna fırlatıldığında, program doğrudan throw ifadesinden eşleşen catch bloğuna atlayacak, herhangi bir sıfıra bölme işleminin gerçekleşmesini engelleyecek ve programınızın çökmesi yerine hatayı zarif bir şekilde yönetmesini sağlayacaktır.

Kendin dene

#include <iostream>
using namespace std;

int main() {
    // Girdiyi oku
    double numerator, denominator;
    cin >> numerator >> denominator;
    
    // TODO: Kodunuzu buraya yazın
    // main() fonksiyonunun üzerinde safeDivide fonksiyonunu oluşturun
    // İstisnaları işlemek için try-catch bloğu kullanın
    
    return 0;
}

Mantık & Akış bölümündeki tüm dersler