Para Yatırma Mantığı
Coddy'nin C Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası. Ders 24 / 61.
Görev
KolayAccount 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 birdoubletutarı almalı, başarılı olursa 1, tutar geçersizse 0 döndüren birintdeğer üretmelidir.create_accountvedestroy_accountiçin mevcut bildirimlerinizi koruyun.account.c:depositiş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 destroyedBurada 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
1Modüler Programlama Temelleri
Başlık DosyalarıInclude Guard'larKaynak DosyalarıStatik FonksiyonlarÖzet: Modüler Hesap Makinesi4Kapsülleme
Opaque Pointer KavramıOpaque Struct TanımlamaGetter ve Setter MetotlarıSetter Metotlarında DoğrulamaÖzet: Gizli Kutu2Nesneler ve Metotlar
Nesne Olarak Struct'lar'Self' İşaretçisiConst Doğruluğuİşaretçi vs DeğerYardımcı MetotlarÖzet: Point Manager5Proje: Basit Banka Hesabı
Proje KurulumuHesabın Oluşturulması3Nesne Yaşam Döngüsü
Constructor DeseniDestructor DeseniStack İlklendirmeDerin KopyalamaÖzet: String Wrapper6Kompozisyon Yoluyla Kalıtım
Struct Gömmeİlk Üye KuralıÜst Üyelere ErişimUpcastingÖzet: Şekil HiyerarşisiKendi başına pratik yap: Online C derleyicisi