Menu
Coddy logo textTech

Para Yatırma Mantığı

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

challenge icon

Görev

Kolay

Account modülünüze ilk gerçek bankacılık işlemini ekleme zamanı: para yatırma özelliği! Bir para yatırma işlevinin akıllı olması gerekir: yalnızca pozitif tutarları kabul etmeli ve hesabınızı geçersiz işlemlere karşı korumalıdır.

Mevcut Bank Account projenizi temel alarak modülü para yatırma işlevselliğiyle genişleteceksiniz. Para yatırma işleviniz, gizli bakiyeyi değiştirmeden önce girdiyi doğrulamalıdır. Bu, verilerinizin bütünlüğünü korumak için kapsüllemenin iş başında olmasıdır.

Üç dosyayla çalışacaksınız:

  • account.h: Yeni bir işlev prototipi ekleyerek mevcut başlık dosyanızı genişletin: deposit. Bu işlev bir Account işaretçisi ve bir double tutarı almalı, başarılı olursa 1, tutar geçersizse 0 döndüren bir int değer üretmelidir. create_account ve destroy_account için mevcut bildirimlerinizi koruyun.
  • account.c: deposit işlevini mevcut oluşturucunuz ve yok edicinizin yanında uygulayın. Para yatırma işlemi yalnızca tutar pozitifse (sıfırdan büyükse) başarılı olmalıdır. Tutar geçerliyse gizli bakiyeye ekleyin ve 1 döndürün. Tutar sıfır veya negatifse bakiyeyi değiştirmeden 0 döndürerek işlemi reddedin.
  • main.c: Bir hesap oluşturarak ve bazıları geçerli, bazıları geçersiz olacak şekilde birden fazla para yatırma işlemi gerçekleştirerek para yatırma işlevselliğinizi gösterin. Böylece doğrulamanızın doğru çalıştığını gösterin.

Üç girdi alacaksınız: hesap kimliği (bir tam sayı), geçerli para yatırma tutarı (pozitif bir sayı) ve geçersiz para yatırma tutarı (sıfır veya negatif).

main dosyanızda, verilen kimlikle bir hesap oluşturun ve bir onay iletisi yazdırın. Ardından önce geçersiz tutarı yatırmayı deneyin: işlemin başarılı olup olmadığını yazdırın ve bakiyenin değişmeden kalması gerektiğini belirtin. Sonra geçerli tutarı yatırın: başarı sonucunu yazdırın. Son olarak hesabı yok edin ve temizleme işlemini onaylayın.

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

Account 1001 created
Deposit -50.00: 0
Deposit 200.00: 1
Account destroyed

Burada 1001 hesap kimliği, -50.00 geçersiz tutar ve 200.00 geçerli tutardır. Tüm tutarları %.2f kullanarak iki ondalık basamakla biçimlendirin.

Para yatırma işleviniz bir bekçi görevi görür. Yalnızca geçerli işlemlerin hesabın gizli bakiyesini değiştirmesini sağlar. Henüz bakiyeyi göremeseniz de (bir sonraki derste bir getter ekleyeceğiz), geçersiz para yatırma işlemlerinin düzgün şekilde reddedildiğine güvenebilirsiniz.

Kendin dene

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

int main() {
    int account_id;
    scanf("%d", &account_id);
    
    Account* account = create_account(account_id);
    printf("Account %d created\n", account_id);
    
    destroy_account(account);
    printf("Account destroyed\n");
    
    return 0;
}

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

Kendi başına pratik yap: Online C derleyicisi