Menu
Coddy logo textTech

Özet - Güvenli Bölme

Coddy'nin Dart Journey'sinin Mantık & Akış bölümünün bir parçası — ders 43 / 65.

challenge icon

Görev

Kolay

Özel durum yönetimi (exception handling) kullanarak güvenli bir bölme hesaplayıcısı uygulayan bir program oluşturun. Programınız sıfıra bölme hatalarını düzgün bir şekilde ele almalı ve hatalar oluştuğunda kullanıcılara net geri bildirim sağlamalıdır.

  1. Birinci sayıyı (bölünen) temsil eden bir dize (string) girdisi okuyun
  2. İkinci sayıyı (bölen) temsil eden bir dize (string) girdisi okuyun
  3. İki double parametre alan ve double bir sonuç döndüren safeDivision adında bir fonksiyon oluşturun
  4. Fonksiyon, potansiyel bölme hatalarını ele almak için bir try-catch bloğu kullanmalıdır:
    • try bloğunda: Bölenin sıfır olup olmadığını kontrol edin ve eğer doğruysa "Division by zero is not allowed" mesajıyla bir özel durum (exception) fırlatın, aksi takdirde bölme işlemini gerçekleştirin
    • catch bloğunda: Özel durumu ele alın ve güvenli bir varsayılan değer olarak 0.0 döndürün
  5. Girdi dizelerini double.parse() kullanarak double değerlere dönüştürün
  6. Dönüştürülen değerlerle safeDivision fonksiyonunu çağırın
  7. Sonuçları aşağıda gösterilen tam formatta görüntüleyin

Örneğin, girdiler "10.0" ve "2.0" ise programınız şu çıktıyı vermelidir:

Safe Division Calculator
========================
First number: 10.0
Second number: 2.0
Performing division...
Result: 5.0
Operation completed successfully

Girdiler "15.0" ve "0.0" ise programınız şu çıktıyı vermelidir:

Safe Division Calculator
========================
First number: 15.0
Second number: 0.0
Performing division...
Error: Division by zero is not allowed
Using safe default value: 0.0
Operation completed with error handling

Girdiler "7.5" ve "2.5" ise programınız şu çıktıyı vermelidir:

Safe Division Calculator
========================
First number: 7.5
Second number: 2.5
Performing division...
Result: 3.0
Operation completed successfully

Programınız, sıfıra bölmeyi ele almak için bir try-catch bloğu kullanan safeDivision fonksiyonunu uygulamalıdır. try bloğunda, bölenin 0.0'a eşit olup olmadığını kontrol edin ve doğruysa bir özel durumu manuel olarak tetiklemek için throw anahtar kelimesini kullanın. catch bloğunda, hata mesajını yazdırın ve güvenli bir geri dönüş değeri olarak 0.0 döndürün. Ana program bu fonksiyonu çağırmalı ve bir hata oluşup oluşmadığına bağlı olarak farklı tamamlama mesajları görüntülemelidir.

Kendin dene

import 'dart:io';

// TODO: safeDivision fonksiyonunu burada oluşturun

void main() {
  // Girdiyi oku
  String? firstInput = stdin.readLineSync();
  String? secondInput = stdin.readLineSync();
  
  // Dizeleri double türüne dönüştür
  double firstNumber = double.parse(firstInput!);
  double secondNumber = double.parse(secondInput!);
  
  // Başlığı görüntüle
  print("Safe Division Calculator");
  print("========================");
  print("First number: $firstNumber");
  print("Second number: $secondNumber");
  print("Performing division...");
  
  // TODO: safeDivision fonksiyonunu çağırın ve sonucu işleyin
  // Uygun tamamlanma mesajını görüntülemek için bir hata oluşup oluşmadığını kontrol etmeyi unutmayın
  
}

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