1. Trang chủ
  2. » Luận Văn - Báo Cáo

Niên luận quản lý vay trả góp

17 25 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 17
Dung lượng 434 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Niên luận quản lý vay trả góp: Trong thời buổi kinh tế suy thoái, tài chính đang là một khó khăn trong quyết định mua sắn tiêu dùng hàng hóa như: nhà ở, xe ô tô, xe máy, máy tính xáy tay,… Với các hình thức vay trả góp của ngân hàng, ta có thể mua những món hàng mình cần mà không phải lo vì không đủ tiền. Vấn đề là cần phải chọn một hình thức vay phù hợp nhất với thu nhập của mình. Vì vậy chương trình này sẽ giúp so sánh giữa các hình thức vay (mỗi tháng cần phải trả bao nhiêu và tổng số tiền lãi phải trả cho ngân hàng).

Trang 1

TRƯỜNG ĐẠI HỌC CẦN THƠ KHOA CÔNG NGHỆ THÔNG TIN-TT

NIÊN LUẬN I

ĐỂ TÀI: QUẢN LÝ VAY TRẢ GÓP

MSSV: …………

HỌC KỲ 2, 20 -20

Trang 2

ĐÁNH GIÁ KẾT QUẢ THỰC HIỆN NIÊN LUẬN 1

(Học kỳ II, Niên khóa 20…-20 ) GIÁO VIÊN HƯỚNG DẪN:

SINH VIÊN THỰC HIỆN:

(Tối đa 1,0 điểm)

ĐIỂM

I HÌNH THỨC (Tối đa 0,5 điểm)

Bìa (tối đa 0,25 điểm)

• Các tiêu đề: Trường ĐHCT, Khoa CNTT

• Loại niên luận: 1, Tên đề tài

• Giáo viên hướng dẫn: chức danh, họ tên

• Thông tin về các sinh viên thực hiện: họ tên, mã số, lớp

• Năm thực hiện

Bố cục (tối đa 0.25 điểm)

• Nhận xét của giáo viên hướng dẫn và giáo viên chấm

• Mục lục: cấu trúc chương, mục và tiểu mục

• Phụ lục (nếu có)

• Tài liệu tham khảo

II NỘI DUNG (Tối đa 3,5 điểm)

Tổng quan (tối đa 0,5 điểm)

Mô tả bài toán, mục tiêu cần đạt được (0,25 điểm)

Hướng giải quyết và kế hoạch thực hiện (0,25 điểm)

Lý thuyết (tối đa 0,5 điểm)

• Các khái niệm sử dụng trong đề tài

• Kết quả vận dụng lý thuyết vào đề tài

Ứng dụng (tối đa 2,0 điểm)

• Phân tích yêu cầu bài toán, xây dựng các cấu trúc dữ liệu

cần thiết (tối đa 0,5 điểm)

Giải thuật (Lưu đồ-Ngôn ngữ giả) (1,0 điểm)

Giới thiệu chương trình (0,5 điểm)

Kết luận (tối đa 0,5 điểm)

• Nhận xét kết quả đạt được

• Hạn chế

• Hướng phát triển

III CHƯƠNG TRÌNH DEMO (Tối đa 5,0 điểm)

Giao diện thân thiện với người dùng (1.0 điểm)

Hướng dẫn sử dụng (0,5 điểm)

Kết quả thực hiện đúng với kết quả của phần ứng dụng (3,5

điểm)

Ghi chú: Điểm trong khung “các sinh viên thực hiện” là điểm kết quả cuối cùng của từng sinh viên trong quá trình thực hiện niên luận 1

Nếu sinh viên demo chương trình và trả lời vấn đáp không đạt yêu cầu của

Trang 3

MỤC LỤC

PHẦN 1: TỔNG QUAN 4

1.1 MÔ TẢ BÀI TOÁN 4

1.2 MỤC TIÊU CẦN ĐẠT ĐƯỢC 4

1.3 HƯỚNG GIẢI QUYẾT 4

1.3.1 Hình thức lãi gộp: 4

1.3.2 Hình thức vay lãi giảm dần: 4

1.4 KẾ HOẠCH THỰC HIỆN 4

PHẦN 2: LÝ THYẾT 5

2.1 CÁC KHÁI NIỆM SỬ DỤNG TRONG ĐỀ TÀI 5

2.1.1 Các khái niệm lập trình hướng đối tượng: 5

2.1.2 Các giải thuật được sử dụng: 5

2.2 KẾT QUẢ VẬN DỤNG LÝ THUYẾT VÀO ĐỀ TÀI 5

PHẦN 3: ỨNG DỤNG 5

3.1 PHÂN TÍCH YÊU CẦU BÀI TOÁN, XÂY DỰNG CÁC CẤU TRÚC DỮ LIỆU CẦN THIẾT 5

3.1.1 Lớp Date: Gồm có 3 trường: ngay , thang va nam 5

3.1.2 Lớp khách hàng 6

3.1.3 Lớp hồ sơ vay vốn 7

3.1.4 Lớp hình thức vay 7

3.1.5 Mối quan hệ giữa các lớp 8

3.1.6 Các hàm dùng chung: 8

3.2 THIẾT KẾ GIẢI THUẬT (LƯU ĐỒ-NGÔN NGỮ GIẢ) 8

3.2.1 Lưu đồ chương trình chính: 8

3.2.2 Lưu đồ giải thuật tìm kiếm mã khách hàng 9

3.2.3 Lưu đồ hàm lấy lãi xuất mới nhất 10

3.2.4 Hàm xóa các hình thức vay được lập trước 1 ngày nào đó 11

3.3 GIỚI THIỆU CHƯƠNG TRÌNH 12

PHẦN 4: KẾT LUẬN – ĐÁNH GIÁ 16

4.1 CÁC KẾT QUẢ ĐẠT ĐƯỢC 16

4.1.1 Ưu điểm 16

4.1.2 Hạn chế 16

4.2 NHỮNG THU HOẠCH VỀ MẶT CHUYÊN MÔN 16

4.3 HƯỚNG PHÁT TRIỂN 16

TÀI LIỆU THAM KHẢO 17

Trang 4

PHẦN 1: TỔNG QUAN

1.1 MÔ TẢ BÀI TOÁN

Trong thời buổi kinh tế suy thoái, tài chính đang là một khó khăn trong quyết định mua sắn tiêu dùng hàng hóa như: nhà ở, xe ô tô, xe máy, máy tính xáy tay,… Với các hình thức vay trả góp của ngân hàng, ta có thể mua những món hàng mình cần mà không phải lo vì không đủ tiền

Vấn đề là cần phải chọn một hình thức vay phù hợp nhất với thu nhập của mình Vì vậy chương trình này sẽ giúp so sánh giữa các hình thức vay (mỗi tháng cần phải trả bao nhiêu và tổng số tiền lãi phải trả cho ngân hàng)

1.2 MỤC TIÊU CẦN ĐẠT ĐƯỢC

- Kết quả đạt được đúng chính xác

- Chương trình phải dể sử dụng

- Cập nhật lại được thông tin khách hàng (thêm , sửa, xóa)

- Cập nhật lại hồ sơ vây vốn

- Cập nhật lãi xuất của các hinh thức vay

- So sánh giữa các hình thức vay

- Xử lý các ràng buộc để chương trình chặt chẽ hơn

- Các dữ liệu phải được lưu thành file

1.3 HƯỚNG GIẢI QUYẾT

Vấn đề lưu trữ và lấy dữ liệu từ file sẽ được thực hiện bằng các hàm được tái định nghĩa “<<” và “>>” File được lưu ở dạng text, mỗi dòng trong file sẽ lưu 1 trường dữ liệu Trước khi thực hiện các cập nhật thì dữ liệu sẽ được load lên bộ nhớ và lưu vào 1 mãng có tên là “ds”

Mục tiêu của chương trình là tính toán cho khách hàng biết với số tiền vay ban đầu ứng với một kỳ hạn thì hình thức vay nào là phù hợp nhất Vì vậy

ta có các công thức tính cho từng trường hợp như sau:

1.3.1 Hình thức lãi gộp:

Tiền phải góp mỗi tháng = (Tiền vay ban đầu) / (Kỳ hạn);

Tiền lãi mỗi tháng = (Tiền vay ban đầu) x (Lãi xuất mới nhất);

Tổng tiền lãi phải trả = ∑ (Tiền lãi mỗi tháng);

1.3.2 Hình thức vay lãi giảm dần:

Tiền phải góp mỗi tháng = (Tiền vay ban đầu) / (Kỳ hạn);

Nợ = Tiền lãi – Tiền góp mỗi tháng;

Tiền lãi mỗi tháng = (Nợ) x (Lãi xuất mới nhất);

Tổng tiền lãi phải trả = ∑ (Tiền lãi mỗi tháng);

1.4 KẾ HOẠCH THỰC HIỆN

Tuần 1,2 tìm hiểu đề tài và ôn lại kiến thức lập trình

Tuần 4,5,6,7 viết chương trình

Tuần 8 viết báo cáo và kiểm tra lại chương trình

Trang 5

PHẦN 2: LÝ THYẾT

2.1 CÁC KHÁI NIỆM SỬ DỤNG TRONG ĐỀ TÀI

Vì chương trình được viết theo hướng đối tượng nên lý thuyết chủ yếu là

lý thuyết lập trình hướng đối tượng và giải thuật

2.1.1 Các khái niệm lập trình hướng đối tượng:

Lập trình hướng đối tượng (Object-Oriented Programming): là

phương thiết kế và phát triển phần mền dựa trên kiến trúc lớp và đối tượng.

Đối tượng (Object): là một thực thể phần mền bao bọc các thuộc tính và

các phương thực liên quan

Lớp (class): là một thiết kế hay một mẫu ban đầu định nghĩa các thuộc

tính và phương thức chung cho tất cả các đối tượng của cùng một loại nào đó

Hàm xây dựng: là một hàm thành viên của một lớp sẽ được gọi một

cách tự động khi đối tượng được tạo ra

Hàm hủy: Là 1 hàm thành viên của 1 lớp và sẽ được goi một cách tự

động trước khi đối tượng bị hủy

Hàm xây dựng sao chép: là hàm xây dựng sẽ tự động được gọi trong 1

trong 3 trường hợp sau:

- Tham số hàm là đối tượng (truyền giá trị)

- Đối tượng trả về cùng hàm

- Đối tượng được khởi tạo khi khai báo bằng 1 đối tượng khác

Ngoài ra còn có các khái niện: tái định nghĩa các phép toán (=, >, <<, >>,…),

2.1.2 Các giải thuật được sử dụng:

Giải thuật tìm kiếm, giải thuật tìm giá tri lớn nhất,…

2.2 KẾT QUẢ VẬN DỤNG LÝ THUYẾT VÀO ĐỀ TÀI

Chương trình gồm 4 lớp: lớp Date, lớp KhachHang, lớp HSVV, lớp HTV và hàm main() dùng để chạy chương trình

PHẦN 3: ỨNG DỤNG

3.1 PHÂN TÍCH YÊU CẦU BÀI TOÁN, XÂY DỰNG CÁC CẤU TRÚC

DỮ LIỆU CẦN THIẾT

Yêu cầu bài toán là tính toán cho khách hàng biết với số tiền vay ban đầu ứng với một kỳ hạn thì hình thức vay nào là phù hợp nhất Có thể nhập và lưu trữ thông tin của khách hàng, hồ sơ vay vốn, các hình thức vay ra một file text Ngoài ra chương trình còn có thể cập nhật lại lãi xuất cho từng hình thức vay ứng với từng kỳ hạn

Do đó chương trình được thiết kế với 4 lớp:

3.1.1 Lớp Date: Gồm có 3 trường: ngay , thang va nam

class Date{

int ngay,thang,nam;

public:

Date(int=0,int=0,int=0);

void Nhap();

int operator>(Date);

Trang 6

friend ostream&operator<<(ostream&os,Date t){

os<<t.ngay<<endl;

os<<t.thang<<endl;

os<<t.nam<<endl;

return os;

} friend istream&operator>>(istream&is,Date&t){

is>>t.ngay;

is>>t.thang;

is>>t.nam;

is.get();

return is;

} int LayNgay(){return ngay;}

int LayThang(){return thang;}

int KiemTra();

void Sua();

};

3.1.2 Lớp khách hàng

Các dữ liệu thành viên riêng:

MaKH (mã khách hàng): có kiểu char độ dài tối đa là 7 ký tự

TenKH (tên khách hang): kiểu char có độ dài tối đa là 50 ký tự

SoCM (số chứng minh nhân dân): có độ dài tối đa 9 ký tụ

DChi (địa chỉ): có độ dài tối đa 100 ký tự

DThoai (điện thoại): có độ dài tối đa 11 ký tự

Phần khai báo lớp

class KhachHang{

char MaKH[7];

char *TenKH;

char SoCM[9];

char *DChi;

char *DThoai;

public:

KhachHang();

~KhachHang();

KhachHang(const KhachHang&);

KhachHang&operator=(const KhachHang&);

//Tai dinh nghia tac tu xuat (ghi vao file) friend ostream& operator<<(ostream& os,KhachHang k);

//Tai dinh nghia tac tu nhap (doc tu file) friend istream& operator>>(istream& is,KhachHang& k);

char *LayMaKH();

char *LayTenKH();

char *LaySoCM();

char *LayDChi();

char *LaySoDT();

void Nhap();

};

Trang 7

3.1.3 Lớp hồ sơ vay vốn

Các dữ liệu thành viên riêng:

MaHS (mã hồ sơ): kiểu char, độ dài tối đa là 8

MaKH (mã khách hàng): kiểu char, độ dài tối đa là 7

NgayLap ( ngày lập hồ sơ): kiểu Date

SoTien ( số tiền vay): kiểu long

KyHan (kỳ hạn vay): kiểu int

Phần khai báo lớp:

class HSVV{

char MaHS[8];

char MaKH[7];

Date NgayLap;

int HTV;

long SoTien;

int KyHan;

public:

HSVV();

HSVV(const HSVV&t);

friend ostream& operator<<(ostream& os,HSVV h);

friend istream& operator>>(istream& is,HSVV& h);

char *LayMaHS(){return MaHS;}

char *LayMaKH(){ return MaKH;}

Date LayNgayLap(){ return NgayLap;}

int LayHTV(){ return HTV;}

int LaySoTien(){ return SoTien;}

int LayKyHan(){ return KyHan;}

void Nhap();

}

3.1.4 Lớp hình thức vay

Các dữ liệu thành viên riêng:

HinhThuc (hình thức vay): kiểu int chỉ nhận giá trị là 1 hoặc 2

Ngay (ngày cập nhật hình thức): kiểu Date

KyHan (kỳ hạn): kiểu int nhận giá trị từ 1 đến 5

LaiXuat (lãi xuất): kiểu float

Phần khai báo lớp:

class HTV{

int HinhThuc;

Date Ngay;

int KyHan;

float LaiXuat;

public:

HTV();

HTV(const HTV&t);

friend ostream& operator<<(ostream& os,HTV h);

friend istream& operator>>(istream& is,HTV& h);

int LayHT(){ return HinhThuc;}

Date LayNgay(){ return Ngay;}

int LayKyHan(){ return KyHan;}

float LayLaiXuat(){ return LaiXuat;}

Trang 8

void Nhap();

}

3.1.5 Mối quan hệ giữa các lớp

Khách hàng (MaKH, TenKH, SoCM, Dchi, Thoai)

HSVV (MaHS, MaKH, NgayLap, HTV, SoTien, KyHan)

HTV (HinhThuc, Ngay, KyHan, LaiXuat)

3.1.6 Các hàm dùng chung:

int Date::KiemTra(): dùng để kiểm tra một ngày nào đó có hợp lệ hay

không

Date NgayHienTai(): lấy ngày hiện tại của hệ thống.

TimKH(char* s): Tìm mã Khách hàng với đối số s có kiểu chuỗi Nếu

tìm thấy return 1, ngược lại return 0;

void XoaKH(): Xóa 1 khách hàng theo mã khách hàng

void SuaKH(): Cập nhật lại các thông tin cho khách hàng

TimHS(char* s): Tìm mã Hồ sơ với đối số s có kiểu chuỗi Nếu tìm thấy

return 1, ngược lại return 0

float LaiMoi(int ht,int kh): lấy lãi mới nhất từ file HTV.text, với đối số

ht (hình thức), kh( kỳ hạn)

void SoSanh(): dùng để hiển thị tiền phải góp mỗi tháng, tiền lãi mỗi

tháng, số nợ còn lại, tổng số tiền lãi phải trả của từng hình thức vay

3.2 THIẾT KẾ GIẢI THUẬT (LƯU ĐỒ-NGÔN NGỮ GIẢ)

3.2.1 Lưu đồ chương trình chính:

Bắt Đầu

Lựa chọn theo Menu hướng dẫn

Thực hiện công việc

Kết thúc Đ

S

Trang 9

3.2.2 Lưu đồ giải thuật tìm kiếm mã khách hàng

Bắc đầu

Kết thúc

int max=200,n=0,found=0;

KhachHang *ds=new KhachHang[max];

ifstream f("d:\\KhachHang.txt");

f>>ds[n++];

f

f.close();n ;

i=0

i<n

strcmp(ds[i].LayMaKH(),s)==0

Nhap s

found=1; break;

i++

Return found;

F

T

Trang 10

3.2.3 Lưu đồ hàm lấy lãi xuất mới nhất

Bắc đầu

Kết

int max=200,n=0,found=0;

KhachHang *ds=new KhachHang[max];

ifstream f("d:\\KhachHang.txt");

f>>ds[n++];

f

f.close();n ; Date Newest;

i=0

i<n

ds[i].LayHT()==ht

&& ds[i].LayKyHan()==kh

&&ds[i].LayNgay()>newest

Nhập s

newest=ds[i].LayNgay();

j=i;

i++

return ds[j].LayLaiXuat();

F

T T

Trang 11

3.2.4 Hàm xóa các hình thức vay được lập trước 1 ngày nào đó

void XoaHTV(){

int max=200,n=0;

HTV *ds=new HTV[max];

ifstream f("D:\\HTV.txt");

while(f)

f>>ds[n++];

f.close();n ;

Date ngay;

cout<<"Ban muon xoa cac hinh thuc vay duoc lap truoc ngay? "<<endl; ngay.Nhap();

for(int i=0;i<n;i++)

if(ngay>ds[i].LayNgay()){

ds[i]=ds[n-1];

i ; n ;

} ofstream f1("d:\\HTV.txt");

for(i=0;i<n;i++)

f1<<ds[i];

f1.close();

delete[]ds;

cout<<"Da xoa thanh cong"<<endl;

}

Trang 12

3.3 GIỚI THIỆU CHƯƠNG TRÌNH

Trước hết phải thực hiện theo hướng dẫn của chương trình (chọn đúng theo menu hướng dẫn)

Để cập nhật thông tin cho khách hàng: chọn số 1

Màn hình chính của chương trình

Các chức năng cập nhật khách hàng gồm có:

Giả sử cần thêm 1 khách hàng mới ta chọn 1 Đầu tiên nhập mã khách hàng là thì chương trình yêu cầu nhập lại vì mã khách hàng 1 đã tồn tại Sau đó nhập lại mã khách hàng là 8 thì được Tiếp tục nhập ten khach hang, so chung minh, dia chi, dien thoai cho đến khi chương trình hỏi có muốn tiếp tục nhập thêm khách hàng khác không

Chọn 1 nếu muốn tiết tục, ngược lại chọn bất khì một phím khác 1 để quay về menu chương trình chính

Trang 13

Để xóa 1 khách hàng: từ menu chính chọn 1, sau đó chọn 2 và nhập mã khách

hàng cần xóa

Để thay đổi thông tin khách hàng: từ menu chính chọn 1, sau đó chọn 3 và

nhập mã khách hàng cần thay đổi

Trang 14

Để hiển thị thông tin khách hàng: từ menu chính chọn 1, sau đó chọn 4 và

nhập mã khách hàng cần hiển thị

Tương tự để cập nhật hồ sơ khách hàng và hình thức vay mới bạn chọn theo

hướng dẫn

Trang 15

Và đây là các bước thực hiện việc xóa các hình thức vay được lập trước ngày 1/1/2009

Để so sánh giữa các hình thức vay bạn chon 4 Sau đó chọn hình thức (1 hoặc 2)

Hình thức lãi giảm dần

Hình thức lãi gộp

Trang 16

PHẦN 4: KẾT LUẬN – ĐÁNH GIÁ

4.1 CÁC KẾT QUẢ ĐẠT ĐƯỢC

4.1.1 Ưu điểm

- Đã vận dụng một số kiến thức của lập trình hướng đối tượng như: Lớp, xây dựng, hàm xây dựng sao chép, hàm hủy, thừa kế, tái định nghĩa toán tử ( toán tử nhập xuất, gán)…

- Chương trình sử dụng không quá phức tạp

- Chương trình cho kết quả chính xác, thỏa mãn tương đối yêu cầu đặt ra của đề tài

- Có các chức năng cập nhật (thêm, sửa, xóa 1 khách hàng, hồ sơ vay vốn, hình thức vay)

- Cho phép so sánh giữa các hình thức vay

4.1.2 Hạn chế

Do hạn chế về thời gian, nên chương trình còn thiếu nhiều chức năng như:

- Chưa viết được chương trình để xử lý những chuỗi nhập vào (như xoá

bỏ khoảng trắng thừa, chuyển các ký tự đầu thành chữ hoa) từ đó dễ dẫn đến lỗi của chương trình

- Thiếu các ràng buộc về kiểu như: nếu nhập số điện thoại là các ký tự thì chương trình vẫn chấp nhận

- Khi viết thêm các ràng buộc về ngày tháng thì chương trình bị lỗi, chưa tìm được nguyên nhân khắc phục (có lẽ do thiếu các hàm xây dựng sao chép và tái định nghĩa tác tử “ =” ở các lớp Date, HSVV, HTV)

- Trong hàm cập nhật hình thức vay mới, ở trường “Ngay” có thể lấy ngày hệ thống để tránh tình trạng nhập sai, nhưng chương trình yều lại yêu cầu

tự nhập

-Thiếu phần hiển thị số tiền còn nợ, thời gian còn lại để trả nợ của từng khách hàng, và số tiền trả cần phải trả hằng tháng của từng khách hàng

-Thiếu phần tính tổng lãi thu được mỗi tháng của ngân hàng

4.2 NHỮNG THU HOẠCH VỀ MẶT CHUYÊN MÔN

Tuy chương trình còn nhiều hạn chế nhưng qua nó em đã học được nhiều thứ như:

- Ôn lại các kiến thức lập trình và giải thuật

- Biết được cách ghi dữ liệu vào file, đọc dữ liệu từ file

- Biết cách viết báo cáo niên luận

- Rút ra được vài kinh nghiệm cho các niên luận sau là phải hoàn thành xong chương trình trước khi bắt đầu thi cuối kỳ

4.3 HƯỚNG PHÁT TRIỂN

Như được đề cập trong phần hạn chế là chương trình còn một vài lỗi và thiếu nhiều chức năng Vì vậy trước hết cần phải tìm ra nguyên nhân khắc phục

Trang 17

TÀI LIỆU THAM KHẢO

[1] Trương Văn Chí Công Lập trình hướng đối tượng C++ Bộ môn Hệ

Thống Máy Tính & Truyền Thông, Khoa CNTT & Truyền Thông, ĐH Cần Thơ

[2] Nguyễn Văn Linh, Lâm Hoài Bảo, Dương Văn Hiếu, Lập trình căn bản

A Bộ môn Hệ thống Thông tin và Toán ứng dụng, Khoa CNTT và Truyền

thông, ĐH Cần Thơ

[3] Nguyễn Văn Linh Giải thuật Khoa Công nghệ Thông tin & Truyền

thông, Đại học Cần Thơ, 2003

Ngày đăng: 16/06/2020, 09:33

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w