Menu
Coddy logo textTech

Proje Finali: Ana Döngü

Coddy'nin C Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası. Ders 27 / 61.

challenge icon

Görev

Kolay

Tebrikler: eksiksiz bir Banka Hesabı kütüphanesi oluşturdun! Şimdi rolleri değiştirme zamanı. Kütüphaneyi oluşturan kişi olmak yerine, kütüphane kullanıcısı olacaksın. Görevin, Account modülünü kapsamlı biçimde test eden bir ana program yazmak.

Bunu, bir müşterinin bankaya girip bir dizi işlem gerçekleştirmesi gibi düşün. Bir hesap oluşturacak, para yatırıp çekecek, bu süreçte bakiyeyi kontrol edecek ve işin bittiğinde hesabı kapatacaksın.

Üç dosyayla çalışacaksın:

  • account.h: Opak Account türünü ve tüm işlev prototiplerini içeren eksiksiz başlık dosyan: create_account, destroy_account, deposit, withdraw ve get_balance.
  • account.c: id ve balance içeren gizli yapının yanı sıra bu proje boyunca oluşturduğun tüm işlev uygulamalarını içeren eksiksiz uygulama dosyan.
  • main.c: İşte kendini göstereceğin yer! Gerçekçi bir işlem dizisiyle banka hesabının tüm yaşam döngüsünü gösteren bir program yaz.

Beş girdi alacaksın: hesap kimliği (bir tamsayı), ilk para yatırma, para çekme, ikinci para yatırma ve gerçekleştirilmeye çalışılan kredili çekim (yetersiz bakiye nedeniyle başarısız olması gereken bir para çekme işlemi).

Ana programın bu hesabın yaşam öyküsünü anlatmalı:

  1. Hesabı oluştur ve bunu duyur
  2. Başlangıç bakiyesini göster
  3. İlk para yatırma işlemini yap ve yeni bakiyeyi göster
  4. Bir miktar para çek ve güncellenmiş bakiyeyi göster
  5. Bir para yatırma işlemi daha yap ve bakiyeyi göster
  6. Bakiyeyi aşan bir para çekme işlemi gerçekleştirilmeye çalış. Bu işlem başarısız olmalı
  7. Son bakiyeyi göster (başarısız para çekme işleminden sonra değişmemiş olarak)
  8. Hesabı kapat

Çıktıyı şu biçimde yazdır:

Account 2001 created
Balance: 0.00
Deposited 1000.00
Balance: 1000.00
Withdrew 250.00
Balance: 750.00
Deposited 500.00
Balance: 1250.00
Withdrawal failed: insufficient funds
Balance: 1250.00
Account 2001 closed

Burada 2001 hesap kimliğidir ve tutarlar girdilerini yansıtır. Tüm parasal değerleri %.2f kullanarak iki ondalık basamakla biçimlendir. Başarısız para çekme mesajı, withdraw 0 döndürdüğünde yazdırılmalıdır.

Bu final, kapsülleme hakkında öğrendiğin her şeyi gösterir. Ana programın Account ile yalnızca genel arayüzü üzerinden etkileşime girer; gizli iç verilere doğrudan hiçbir zaman dokunmaz.

Kendin dene

#include <stdio.h>
#include "account.h"

int main() {
    // TODO: account_id, deposit1, withdraw_amount, deposit2 ve overdraft değerlerini girdiden oku

    // TODO: Hesabı oluştur ve "Account <id> created" yazdır

    // TODO: Başlangıç bakiyesini yazdır

    // TODO: İlk yatırımı yap, "Deposited <amount>" ve yeni bakiyeyi yazdır

    // TODO: Para çek, "Withdrew <amount>" ve güncellenmiş bakiyeyi yazdır

    // TODO: İkinci yatırımı yap, "Deposited <amount>" ve yeni bakiyeyi yazdır

    // TODO: Attempt the overdraft withdrawal; if it fails, print "Withdrawal failed: insufficient funds"
    // TODO: Son bakiyeyi yazdır

    // TODO: "Account <id> closed" yazdır ve hesabı yok et

    return 0;
}

Nesne Yönelimli Programlama bölümündeki tüm dersler

Kendi başına pratik yap: Online C derleyicisi