Quản lý Tài khoản Ngân hàng

, ,

Đề bài

Viết một chương trình quản lý tài khoản ngân hàng bao gồm các lớp sau:

Lớp TaiKhoan:

Thuộc tính:
soTaiKhoan: số tài khoản ngân hàng.
tenChuTaiKhoan: tên chủ tài khoản.
soDu: số dư tài khoản.
Phương thức:
napTien(double soTien): nạp tiền vào tài khoản.
rutTien(double soTien): rút tiền khỏi tài khoản.
hienThiThongTin(): hiển thị thông tin của tài khoản.
Lớp NganHang:

Thuộc tính:
danhSachTaiKhoan: danh sách các tài khoản ngân hàng.
Phương thức:
themTaiKhoan(TaiKhoan taiKhoan): thêm một tài khoản vào ngân hàng.
xoaTaiKhoanTheoSo(string soTaiKhoan): xóa tài khoản khỏi ngân hàng dựa trên số tài khoản.
timTaiKhoanTheoTen(string tenChuTaiKhoan): tìm tài khoản theo tên chủ tài khoản và trả về danh sách các tài khoản có tên tương tự.
hienThiTatCaTaiKhoan(): hiển thị thông tin tất cả tài khoản trong ngân hàng.
Yêu cầu:

Viết chương trình chính để thử nghiệm các phương thức trên.
Hiển thị menu cho người dùng lựa chọn các chức năng: thêm tài khoản, xóa tài khoản, nạp tiền, rút tiền, tìm kiếm tài khoản và hiển thị tất cả tài khoản.

Cách làm

using System;
using System.Collections.Generic;

// Lop TaiKhoan
public class TaiKhoan
{
    public string soTaiKhoan { get; set; }
    public string tenChuTaiKhoan { get; set; }
    public double soDu { get; set; }

    // Nap tien vao tai khoan
    public void napTien(double soTien)
    {
        if (soTien > 0)
        {
            soDu += soTien;
            Console.WriteLine($"Nap tien thanh cong. So du hien tai: {soDu}");
        }
        else
        {
            Console.WriteLine("So tien nap vao phai lon hon 0.");
        }
    }

    // Rut tien khoi tai khoan
    public void rutTien(double soTien)
    {
        if (soTien > 0 && soTien <= soDu)
        {
            soDu -= soTien;
            Console.WriteLine($"Rut tien thanh cong. So du hien tai: {soDu}");
        }
        else
        {
            Console.WriteLine("So tien rut phai lon hon 0 va nho hon hoac bang so du.");
        }
    }

    // Hien thi thong tin tai khoan
    public void hienThiThongTin()
    {
        Console.WriteLine($"So Tai Khoan: {soTaiKhoan}");
        Console.WriteLine($"Ten Chu Tai Khoan: {tenChuTaiKhoan}");
        Console.WriteLine($"So Du: {soDu}");
    }
}

// Lop NganHang
public class NganHang
{
    private List<TaiKhoan> danhSachTaiKhoan = new List<TaiKhoan>();

    // Them tai khoan vao ngan hang
    public void themTaiKhoan(TaiKhoan taiKhoan)
    {
        danhSachTaiKhoan.Add(taiKhoan);
    }

    // Xoa tai khoan theo so
    public void xoaTaiKhoanTheoSo(string soTaiKhoan)
    {
        TaiKhoan taiKhoanCanXoa = danhSachTaiKhoan.Find(t => t.soTaiKhoan == soTaiKhoan);
        if (taiKhoanCanXoa != null)
        {
            danhSachTaiKhoan.Remove(taiKhoanCanXoa);
            Console.WriteLine("Xoa tai khoan thanh cong.");
        }
        else
        {
            Console.WriteLine("Tai khoan khong ton tai.");
        }
    }

    // Tim tai khoan theo ten
    public List<TaiKhoan> timTaiKhoanTheoTen(string tenChuTaiKhoan)
    {
        return danhSachTaiKhoan.FindAll(t => t.tenChuTaiKhoan.Contains(tenChuTaiKhoan));
    }

    // Hien thi thong tin tat ca tai khoan
    public void hienThiTatCaTaiKhoan()
    {
        foreach (TaiKhoan taiKhoan in danhSachTaiKhoan)
        {
            taiKhoan.hienThiThongTin();
            Console.WriteLine();
        }
    }
}

class Program
{
    static void Main()
    {
        NganHang nganHang = new NganHang();

        // Them tai khoan vao ngan hang
        nganHang.themTaiKhoan(new TaiKhoan { soTaiKhoan = "TK001", tenChuTaiKhoan = "Nguyen Van A", soDu = 5000 });
        nganHang.themTaiKhoan(new TaiKhoan { soTaiKhoan = "TK002", tenChuTaiKhoan = "Tran Thi B", soDu = 3000 });

        // Hien thi tat ca tai khoan
        Console.WriteLine("Danh sach tai khoan trong ngan hang:");
        nganHang.hienThiTatCaTaiKhoan();

        // Nap tien vao tai khoan
        TaiKhoan taiKhoanA = nganHang.timTaiKhoanTheoTen("Nguyen Van A")[0];
        taiKhoanA.napTien(1000);

        // Rut tien khoi tai khoan
        taiKhoanA.rutTien(500);

        // Tim tai khoan theo ten
        Console.WriteLine("Tim tai khoan theo ten 'Tran Thi B':");
        List<TaiKhoan> taiKhoanTimDuoc = nganHang.timTaiKhoanTheoTen("Tran Thi B");
        foreach (TaiKhoan taiKhoan in taiKhoanTimDuoc)
        {
            taiKhoan.hienThiThongTin();
            Console.WriteLine();
        }

        // Xoa tai khoan theo so
        nganHang.xoaTaiKhoanTheoSo("TK002");

        // Hien thi tat ca tai khoan sau khi xoa
        Console.WriteLine("Danh sach tai khoan sau khi xoa:");
        nganHang.hienThiTatCaTaiKhoan();
    }
}

Bình luận