Özet - Güvenli Bölme
Coddy'nin C++ Journey'sinin Mantık & Akış bölümünün bir parçası. Ders 53 / 56.
Görev
KolayKapsamlı istisna yönetimi kullanarak güvenli bölme işlemini gerçekleştiren bir program oluşturun. Bu görev, sıfıra bölme hatalarını uygun şekilde ele almak için fonksiyon tasarımını istisna yönetimiyle birleştirme becerinizi test edecektir.
Aşağıdaki girdiler sağlanacaktır:
- Bölünecek sayıyı temsil eden bir double
numerator - Bölme işleminin yapılacağı sayıyı temsil eden bir double
denominator
Programınız şunları yapmalıdır:
- İki double parametresi (numerator ve denominator) alan
safeDivideadlı bir fonksiyon oluşturun - Fonksiyonun içinde denominator değerinin sıfıra eşit olup olmadığını kontrol edin
- Denominator sıfırsa
throwdizesini"Division by zero error"edin - Denominator sıfır değilse bölme sonucunu hesaplayın ve double olarak döndürün
- Main fonksiyonunda, girdi değerleriyle birlikte
safeDividefonksiyonunu birtrybloğu içinde çağırın - Fırlatılan dize istisnasını ele almak için bir
catchbloğu kullanın - Bölme işleminin başarılı veya başarısız olmasına göre uygun mesajı yazdırın
Aşağıdaki tam çıktı biçimini kullanın:
Başarılı bölme işlemi için:
Result: [division_result]Sıfıra bölme hatası için:
Error: Division by zero errorDenominator sıfır olduğunda, fonksiyonunuzun bölme işlemine başlamadan önce hemen bir istisna throw etmesi gerektiğini unutmayın. catch bloğu, fırlatılan dize sabitini ele almak 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 geçer; böylece sıfıra bölme işleminin gerçekleşmesi önlenir ve programınızın çökme yerine hatayı uygun şekilde ele alması sağlanı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
1İşaretçiler ve Bellek
İşaretçi Nedir?Adres OperatörüDereference OperatörüNull İşaretçilerİşaretçiler ve Diziler'new' ile Dinamik Bellek'delete' ile Belleği Serbest BırakmaÖzet - İşaretçi Pratiği2Vektörler (Dinamik Diziler)
std::vector'a GirişBir Vektör OluşturmaEleman EklemeElemanlara ErişmeVektör BoyutuFor Döngüsü ile YinelemeAralık Tabanlı For DöngüsüEleman SilmeÖzet - Vektör İşlemleri5Proje: Envanter Aracı
Proje KurulumuÖğe Ekleme ve Güncelleme8Temel Hata Yönetimi
İstisnalara Giriş'try' ve 'catch' Blokları'throw' Anahtar KelimesiFarklı İstisna TürleriGenel YakalayıcıÖzet - Güvenli Bölme3Proje: Görev Listesi Aracı
Projeye Genel BakışGörev EklemeKendi başına pratik yap: Online C++ derleyicisi