Menu
Coddy logo textTech

Hesabın Oluşturulması

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

challenge icon

Görev

Kolay

Şimdi Banka Hesabınızı hayata geçirmenin zamanı geldi! account.h içinde genel arayüzü zaten oluşturdunuz: şimdi onu çalıştıran gizli iç işleyişi uygulayacaksınız.

Önceki çalışmalarınızın üzerine inşa ederek, gizli struct tanımını ve gerçek işlev uygulamalarını içeren kaynak dosyasını ekleyeceksiniz. Kapsülleme tam olarak burada gerçekleşir: struct gövdesi yalnızca .c dosyasında bulunur ve kitaplığınızı kullanan herkes için tamamen görünmezdir.

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

  • account.h: Opak Account türü bildiriminizi ve create_account ile destroy_account için işlev prototiplerini içeren mevcut başlığınız. Include guard'larınızı ACCOUNT_H ile koruyun.
  • account.c: Sihir burada gerçekleşir. İki gizli üyeye sahip gerçek struct Account yapısını tanımlayın: int id (hesap tanımlayıcısı) ve double balance (yeni hesaplar için 0.0'dan başlayan bakiye). Bellek ayırmak, parametreden ID'yi ayarlamak ve bakiyeyi sıfıra başlatmak üzere yapıcınızı uygulayın. Belleği düzgün şekilde serbest bırakmak üzere yıkıcınızı uygulayın.
  • main.c: Bir hesap oluşturarak ve çalıştığını doğrulayarak uygulamanızı test edin. Struct üyeleri gizli olduğundan içeriye göz atamazsınız; ancak yaşam döngüsünün doğru şekilde çalıştığını doğrulayabilirsiniz.

Bir girdi alacaksınız: yeni hesaba atanacak account ID (bir tamsayı).

main dosyanızda, sağlanan ID ile bir hesap oluşturun, ID'yi gösteren bir onay mesajı yazdırın, ardından hesabı yok edin ve temizliği onaylayın.

Çıktıyı şu formatta yazdırın:

Account 1001 created
Account destroyed

1001 değerinin, girdi olarak aldığınız gerçek ID ile değiştirileceğini unutmayın.

Unutmayın: main.c dosyanız account->id veya account->balance öğelerine doğrudan erişemez. Bu üyeler tamamen account.c içinde gizlidir. Şimdilik çıktı mesajınızda yalnızca girdiden gelen ID'yi kullanacaksınız. Gelecek derslerde gizli verileri düzgün şekilde almak için getter işlevleri ekleyeceksiniz.

Kendin dene

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

int main() {
    int account_id;
    // TODO: account_id'yi girdiden oku
    scanf("%d", &account_id);

    // TODO: create_account() kullanarak bir hesap oluştur ve "Account <id> created" yazdır

    // TODO: destroy the account using destroy_account() and print "Account destroyed"

    return 0;
}

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

Kendi başına pratik yap: Online C derleyicisi