Đề 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();
}
}