Menu
CoddyTech

Penutup Proyek: Perulangan Utama

Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan C di Coddy. Pelajaran 27 dari 61.

challenge icon

Tantangan

Mudah

Selamat: kamu telah membangun library Rekening Bank yang lengkap! Sekarang saatnya berganti peran. Alih-alih menjadi pembuat library, kamu akan menjadi pengguna library. Tugasmu adalah menulis program utama yang menguji kemampuan module Account-mu.

Bayangkan seorang nasabah datang ke bank dan melakukan serangkaian transaksi. Kamu akan membuat rekening, melakukan setoran dan penarikan, memeriksa saldo selama proses tersebut, lalu menutup rekening setelah selesai.

Kamu akan menggunakan tiga file:

  • account.h: File header lengkapmu dengan tipe Account yang opak dan semua prototipe fungsi: create_account, destroy_account, deposit, withdraw, dan get_balance.
  • account.c: Implementasi lengkapmu dengan struct tersembunyi yang berisi id dan balance, serta semua implementasi fungsi yang telah kamu buat selama proyek ini.
  • main.c: Di sinilah kamu bisa menunjukkan kemampuanmu! Tulis program yang mendemonstrasikan seluruh siklus hidup rekening bank melalui rangkaian transaksi yang realistis.

Kamu akan menerima lima input: ID rekening (bilangan bulat), setoran pertama, penarikan, setoran kedua, dan percobaan penarikan melebihi saldo (penarikan yang seharusnya gagal karena dana tidak mencukupi).

Program utamamu harus menceritakan perjalanan rekening ini:

  1. Buat rekening dan umumkan pembuatannya
  2. Tampilkan saldo awal
  3. Lakukan setoran pertama dan tampilkan saldo baru
  4. Tarik sejumlah dana dan tampilkan saldo terbaru
  5. Lakukan setoran lagi dan tampilkan saldo
  6. Coba lakukan penarikan yang melebihi saldo. Penarikan ini harus gagal
  7. Tampilkan saldo akhir, yang tidak berubah setelah penarikan gagal
  8. Tutup rekening

Cetak output dengan format ini:

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

2001 adalah ID rekening, dan jumlahnya mengikuti input yang kamu terima. Format semua nilai uang dengan dua angka desimal menggunakan %.2f. Pesan kegagalan penarikan harus dicetak saat withdraw mengembalikan 0.

Bagian penutup ini mendemonstrasikan semua yang telah kamu pelajari tentang enkapsulasi. Program utamamu berinteraksi dengan Account hanya melalui antarmuka publiknya, tanpa menyentuh data internal yang tersembunyi secara langsung.

Coba sendiri

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

int main() {
    // TODO: Baca account_id, deposit1, withdraw_amount, deposit2, dan overdraft dari input

    // TODO: Buat akun dan cetak "Account <id> created"

    // TODO: Cetak saldo awal

    // TODO: Lakukan setoran pertama, cetak "Deposited <amount>" dan saldo baru

    // TODO: Tarik dana, cetak "Withdrew <amount>" dan saldo yang diperbarui

    // TODO: Lakukan setoran kedua, cetak "Deposited <amount>" dan saldo baru

    // TODO: Coba lakukan penarikan overdraft; jika gagal, cetak "Withdrawal failed: insufficient funds"
    // TODO: Cetak saldo akhir

    // TODO: Cetak "Account <id> closed" dan hapus akun

    return 0;
}

Semua pelajaran di Pemrograman Berorientasi Objek

Latihan sendiri: Compiler C online