Tải bản đầy đủ (.doc) (28 trang)

đồ án công nghệ thông tin Xây dựng chương trình Quản lý tiền gửi ngân hàng tại VPBANK

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (191.53 KB, 28 trang )

Trường ĐH KTQD Hà Nội GVHD: PGS.TS. Hàn Viết Thuận
LỜI MỞ ĐẦU
Ngày nay, với sự phát triển lớn mạnh của các ngân hàng thì vấn đề quản
lý dịch vụ gặp rất nhiều khó khăn bởi số lượng khách hàng và các dịch vụ
tăng nhanh một cách tróng mặt dẫn đến ngày càng khó kiểm soát. Các công
việc tính toán sổ sách bằng phương thức thủ công gặp rất nhiều khó khăn và
hạn chế làm chậm quá trình giao dịch mà sự đòi hỏi của chất lượng dịch vụ
là rất cần thiết yêu cầu phải chính xác nhanh tróng và đúng thời hạn.
Chính trên cơ sở đó, việc áp dụng tin học vào quản lý các dịch vụ cũng
như nhiều công việc khác là một yêu cầu cấp thiết. Tin học hoá sẽ đem lại
nhiều lợi ích như làm giảm chi phí, nâng cao độ chính xác cho công việc,
giảm thời gian hoàn thành dịch vụ đem lại chất lượng dịch vụ tốt nhất cho
khách hàng. Với khả năng của một sinh viên tin học kinh tế em xin trình bầy
đề tài phần mềm ứng dụng “Quản lý tiền gửi ngân hàng” trên cơ sở thực tiến
thông qua khảo sát ngân hàng VPBANK.
Trong đề tài này sẽ trình bầy các kiến thức cơ bản về cấu trúc dữ liệu và
các giải thuật liên quan đặc biệt là cấu trúc danh sách liên kết, từ đó tạo điều
kiện cho việc xây dựng mô hình và chương trình phần mềm với các chức
năng cơ bản: Nạp, thêm, bớt sửa, in thông tin, tính lượng tiền gửi khách
hàng.
Nội dung của đề án được chia làm 3 phần:
Phần 1: Trình bầy lại kiến thức cần thiết để xây dựng phần mềm: Cấu trúc
dữ liệu danh sách liên kết và các thuật giải tương ứng.
Phần 2: Phân tích hệ thống và thuật giải chương trình.
Phần 3: Xây dựng mã nguồn cho phần mềm.
Khoa Tin học Kinh Tế SV thực hiện:Trần Đình Quảng 1
Trường ĐH KTQD Hà Nội GVHD: PGS.TS. Hàn Viết Thuận
PHẦN I: CẤU TRÚC DANH SÁCH LIÊN KẾT VÀ
THUẬT GIẢI
Trong nghiên cứu các cấu trúc dữ liệu khác như danh sách STACK hoặc
QUEUE chúng ta đều thấy được nhược điểm trong quá trình bổ xung hay


loại bỏ phần tử khỏi danh sách. Việc sử dụng con trỏ hoặc mối nối để tổ
chức danh sách tuyến tính sẽ khắc phục được nhược điểm trên.
1. Nguyên tắc lưu trữ danh sách liên kết.
Để lưu trữ danh sách liên kết, mỗi phần tử của nó sẽ được lưu trữ trong
một nút (Node). Mỗi nút bao gồm một số từ máy liên tiếp nhau, nhưng bản
thân các nút có thể nằm rải rác trong bộ nhớ.
Cấu trúc mỗi nút bao gồm hai phần: Phần chứa dữ liệu (Data) và phần
chứa liên kết (Link). Tại nút cuối cùng kết thúc danh sách ký hiệu là NIL.

Danh sách liên kết rất phù hợp cho các phép toán bổ xung, loại bỏ phần
tử. Các phần tử của danh sách liên kết được chứa ở các vùng khác nhau
không gian nhớ không kề nhau. Chúng được nối với nhau nhờ vùng liên kết.
Vùng liên kết thứ nhất chứa địa chỉ nút thứ hai và liên kết nút thứ hai chứa
địa chỉ nút thứ ba… cứ như vậy trỏ đến nút cuối có giá trị NIL.
2. Cài đặt danh sách liên kết trên cơ sở biến con trỏ.
Các giải thuật với danh sách liên kết.
Giải thuật tạo lập danh sách liên kết.
Procedure Create(var L:pointerType);
Begin
L:=Nil;
End;
Giải thuật kiểm tra danh sách rỗng.
Function EmptyL(L:PonterType):Boolean;
Begin
Khoa Tin học Kinh Tế SV thực hiện:Trần Đình Quảng 2
DATA LINK
Trường ĐH KTQD Hà Nội GVHD: PGS.TS. Hàn Viết Thuận
EmptyL:=(L=Nil);
End;
Giải thuật duyệt danh sách.

Procedure LinkedTraverse(L:PointerType);
Begin
Var CurrPtr: PointerType;
Begin
CurrPtr:=L;
While CurrPtr<>Nil do
Begin
CurrPtr:=CurrPtr^.Next;
End;
End;
End;
Giải thuật bổ xung phần tử vào danh sách.
Procedure Insert(L:PointerType);
Var Moi,M:PointerType;
X:ElementType;
Begin
New(Moi);
Moi^.Data=X;
If (L=Nil) then
Begin
L:=Moi;
Moi^.Next:=Nil;
End
Else
Begin
Moi^.Next:=M^.Next;
M^.Next:=Moi;
End;
End; Bỏ
L M

Khoa Tin học Kinh Tế SV thực hiện:Trần Đình Quảng 3
A B C D
Mơi
Trường ĐH KTQD Hà Nội GVHD: PGS.TS. Hàn Viết Thuận
Giải thuật loại bỏ phần tử.
Procedure Delete(L:PointerType);
Var M,P:PointerType;
Begin
If L=Nil then Writeln(‘Loi’);
If (M=L) then
Begin
L:=M^.Next;
Dispose(M);
End;
P:=L;
While P^.Next do
P:=P^.Next;
P^.Next:=M^.Next;
Dispose(M);
End;
Trường hợp 1: Danh sách rỗng in thông báo lỗi
Trường hợp 2: L trỏ vào M.
L M Bỏ

Trường hợp 3: M ở giữa danh sách.
L Bỏ M Bỏ
Khoa Tin học Kinh Tế SV thực hiện:Trần Đình Quảng 4
A
B
C

A B C
Trường ĐH KTQD Hà Nội GVHD: PGS.TS. Hàn Viết Thuận
PHẦN II: PHÂN TÍCH HỆ THỐNG VÀ THUẬT GIẢI.
1. Chức năng của phần mềm.
Phần mềm bao gồm các chức năng:
- Nhập danh mục khách hàng:
- Thay đổi thông tin khách hàng nếu cần.
- Xoá danh sách khách hàng.
- In danh mục khách hàng theo lựa chọn:
In toàn bộ danh sách.
In thông tin theo mã khách hàng.
- Chức năng thay đổi các thông số liên quan đến lại suất.
2. Cơ sở dữ liệu.
Cơ sở dữ liệu là tập hợp các bản ghi với các trường, kiểu trường như bảng
sau:
STT Tên biến Kiểu biến Giải thích
1 MKH Word Mã khách hàng
2 HoTen String Họ tên khách hàng
3 NG String Ngày gửi tiền
4 LTG String Loại tài khoản tiền gửi
5 TG Real Số tiên gửi
6 LS Real Lãi suất tiền gửi
3. Sơ đồ khối chương trình.
Khoa Tin học Kinh Tế SV thực hiện:Trần Đình Quảng 5
Nhập
thông
tin
khách
hàng
Sửa

thông
tin
khách
hàng
Thay
đổi lãi
suất
BEGIN
MENU CHƯƠNG TRÌNH CHÍNH
Xoá
thông
tin
khách
hàng
In
thông
tin
khách
hàng
In
toàn
bộ
danh
sách
In
theo

khách
hàng
Lựa chọn công

việc
Lựa
chọn
Kết
thúc
chương
trình
END
Trường ĐH KTQD Hà Nội GVHD: PGS.TS. Hàn Viết Thuận
4. Giao diện các chức năng chính.
Khoa Tin học Kinh Tế SV thực hiện:Trần Đình Quảng 6
Trường ĐH KTQD Hà Nội GVHD: PGS.TS. Hàn Viết Thuận
Giao diện MENU chính:
Với menu này người sử dụng có thể dùng phím ( ) để di chuyển lựa chọn
công việc muốn thực hiện.
Khi công việc thay đổi lãi suất được chọn ta có thể thay dổi lãi suất:
In thông tin toàn bộ:
Khoa Tin học Kinh Tế SV thực hiện:Trần Đình Quảng 7
Trường ĐH KTQD Hà Nội GVHD: PGS.TS. Hàn Viết Thuận
In thông tin theo mã khách hàng
5. Giải thuật chính trong chương trình.
Giải thuật chèn thêm nút vào đầu danh sách:
Khoa Tin học Kinh Tế SV thực hiện:Trần Đình Quảng 8
Trường ĐH KTQD Hà Nội GVHD: PGS.TS. Hàn Viết Thuận
L Bỏ
Moi
procedure ThemDM;
var moi:pointertype;
mkh:word;
hoten:string;

Loai:word;
TG:real;
begin
clrscr;
gotoxy(20,1);
textcolor(green);
GetDate(y,m,d,dow);
Writeln('Ngay giao dich - ', days[dow],': ',d:0, '/', m:0, '/', y:0,' -');
textcolor(white);
new(moi);
{ Chuyền dữ liệu vào nút moi}
Writeln('Nhap ma khach hang:');readln(moi^.mkh);
writeln('Nhap ho ten khach hang:');readln(moi^.hoten);
writeln('Nhap loai tien gui');readln(loai);
if (loai=1) then moi^.LTK:=ltk[0];
if (loai=2) then moi^.LTK:=ltk[1];
if (loai=3) then moi^.LTK:=ltk[2];
writeln('Nhap ngay gui:');readln(moi^.ng);
writeln('Nhap luong tien gui cua khach hang:');readln(moi^.tg);
{Chèn nút mới vào đầu danh sách }
cuoi:=l;
l:=moi;
moi^.next:=cuoi;
end;
Giải thuật loại bỏ nút bất kỳ:
L Bỏ Bỏ
Khoa Tin học Kinh Tế SV thực hiện:Trần Đình Quảng 9
3
2 1
3 2 1

Trường ĐH KTQD Hà Nội GVHD: PGS.TS. Hàn Viết Thuận
procedure XoaDm;
var MKh: word;
nut: pointertype;
tg:pointertype;
begin
clrscr;
write('Nhap MKH can xoa:');readln(mkh);
nut:=l;
if (nut^.mkh=mkh) then l:=nut^.next;
while nut^.mkh<>mkh do
begin
tg:=nut;
nut:=nut^.next;
end;
tg^.next:=nut^.next;
dispose(nut);
end;
Giải thuật sửa đổi thông tin:
procedure suaDm;
var MKh: word;
nut: pointertype;
tg:pointertype;
begin
clrscr;
write('Nhap MKH can sua:');readln(mkh);
nut:=l;
while (nut^.mkh<>mkh)and(nut^.next<>nil) do
nut:=nut^.next;
write('Sua ten khach hang:');readln(nut^.hoten);

write('Sua loai tiet kiem:');readln(nut^.ltk);
write('Sua ngay gui:');readln(nut^.ng);
write('Sua luong tien gui:');readln(nut^.tg);
end;
PHẦN 3: CHƯƠNG TRÌNH PHẦN MỀM QUẢN LÝ
TIỀN GỬI NGÂN HÀNG:
Khoa Tin học Kinh Tế SV thực hiện:Trần Đình Quảng
10
Trường ĐH KTQD Hà Nội GVHD: PGS.TS. Hàn Viết Thuận
uses Dos,crt;
const
days : array [0 6] of String[9] =
('Chu nhat','Thu hai','Thu ba',
'Thu tu','Thu nam','Thu sau',
'Thu bay');
ltk:array[0 2] of string[10]=('Sau thang','Mot nam','Nam nam');
type
PointerType=^NodeType;
NodeType=Record
MKH:word;
Hoten:string[20];
LTK:string[10];
TG:real;
Ls: real;
ng: string[10];
next:PointerType;
end;
var
loai:word;
y, m, d, dow : word;

h, s, hund : word;
index,index2,i,j,n: integer;
chieu: char;
c: char;
ls1,ls2,ls3:real;
L:PointerType;
cuoi:pointertype;
str: string;
kt1:char;
{ CAC THU TUC CON }
{ MENU1 }
procedure menu1;
begin
clrscr;
Khoa Tin học Kinh Tế SV thực hiện:Trần Đình Quảng
11
Trường ĐH KTQD Hà Nội GVHD: PGS.TS. Hàn Viết Thuận
gotoxy(20,1);
textcolor(green);
GetDate(y,m,d,dow);
Writeln('Ngay giao dich - ', days[dow],': ',d:0, '/', m:0, '/', y:0,' -');
textcolor(white);
gotoxy(30,2);
writeln('Chon cong viec');
gotoxy(20,4);
writeln(' ');
gotoxy(20,5);
textcolor(12);
writeln('| Cong viec | Chi so |');
textcolor(white);

gotoxy(20,6);
writeln(' ');
gotoxy(20,7);
textcolor(red+blink);
writeln('| Nhap lai suat thay doi | 1 |');
textcolor(white);
gotoxy(20,8);
writeln(' ');
gotoxy(20,9);
writeln('| Nhap ds khach hang | 2 |');
gotoxy(20,10);
writeln(' ');
gotoxy(20,11);
writeln('| Sua TT khach hang | 3 |');
gotoxy(20,12);
writeln(' ');
gotoxy(20,13);
writeln('| Xoa TT khach hang | 4 |');
gotoxy(20,14);
writeln(' ');
gotoxy(20,15);
writeln('| In thong tin khach hang| 5 |');
gotoxy(20,16);
writeln(' ');
gotoxy(20,17);
writeln('| Thoat chuong trinh | 6 |');
Khoa Tin học Kinh Tế SV thực hiện:Trần Đình Quảng
12
Trường ĐH KTQD Hà Nội GVHD: PGS.TS. Hàn Viết Thuận
gotoxy(20,18);

writeln(' ');
end;
{ MENU2 }
procedure menu2;
begin
clrscr;
gotoxy(20,1);
textcolor(green);
GetDate(y,m,d,dow);
Writeln('Ngay giao dich - ', days[dow],': ',d:0, '/', m:0, '/', y:0,' -');
textcolor(white);
gotoxy(30,2);
writeln('Chon cong viec');
gotoxy(20,4);
writeln(' ');
gotoxy(20,5);
textcolor(12);
writeln('| Cong viec | Chi so |');
textcolor(white);
gotoxy(20,6);
writeln(' ');
gotoxy(20,7);
writeln('| Nhap lai suat thay doi | 1 |');
gotoxy(20,8);
writeln(' ');
textcolor(red+blink);
gotoxy(20,9);
writeln('| Nhap ds khach hang | 2 |');
textcolor(white);
gotoxy(20,10);

writeln(' ');
gotoxy(20,11);
writeln('| Sua TT khach hang | 3 |');
gotoxy(20,12);
writeln(' ');
gotoxy(20,13);
writeln('| Xoa TT khach hang | 4 |');
gotoxy(20,14);
Khoa Tin học Kinh Tế SV thực hiện:Trần Đình Quảng
13
Trường ĐH KTQD Hà Nội GVHD: PGS.TS. Hàn Viết Thuận
writeln(' ');
gotoxy(20,15);
writeln('| In thong tin khach hang| 5 |');
gotoxy(20,16);
writeln(' ');
gotoxy(20,17);
writeln('| Thoat chuong trinh | 6 |');
gotoxy(20,18);
writeln(' ');
end;
{ MENU3 }
procedure menu3;
begin
clrscr;
gotoxy(20,1);
textcolor(green);
GetDate(y,m,d,dow);
Writeln('Ngay giao dich - ', days[dow],': ',d:0, '/', m:0, '/', y:0,' -');
textcolor(white);

gotoxy(30,2);
writeln('Chon cong viec');
gotoxy(20,4);
writeln(' ');
gotoxy(20,5);
textcolor(12);
writeln('| Cong viec | Chi so |');
textcolor(white);
gotoxy(20,6);
writeln(' ');
gotoxy(20,7);
writeln('| Nhap lai suat thay doi | 1 |');
gotoxy(20,8);
writeln(' ');
gotoxy(20,9);
writeln('| Nhap ds khach hang | 2 |');
gotoxy(20,10);
writeln(' ');
gotoxy(20,11);
textcolor(red+blink);
Khoa Tin học Kinh Tế SV thực hiện:Trần Đình Quảng
14
Trường ĐH KTQD Hà Nội GVHD: PGS.TS. Hàn Viết Thuận
writeln('| Sua TT khach hang | 3 |');
textcolor(white);
gotoxy(20,12);
writeln(' ');
gotoxy(20,13);
writeln('| Xoa TT khach hang | 4 |');
gotoxy(20,14);

writeln(' ');
gotoxy(20,15);
writeln('| In thong tin khach hang| 5 |');
gotoxy(20,16);
writeln(' ');
gotoxy(20,17);
writeln('| Thoat chuong trinh | 6 |');
gotoxy(20,18);
writeln(' ');
end;
{ MENU4 }
procedure menu4;
begin
clrscr;
gotoxy(20,1);
textcolor(green);
GetDate(y,m,d,dow);
Writeln('Ngay giao dich - ', days[dow],': ',d:0, '/', m:0, '/', y:0,' -');
textcolor(white);
gotoxy(30,2);
writeln('Chon cong viec');
gotoxy(20,4);
writeln(' ');
gotoxy(20,5);
textcolor(12);
writeln('| Cong viec | Chi so |');
textcolor(white);
gotoxy(20,6);
writeln(' ');
gotoxy(20,7);

writeln('| Nhap lai suat thay doi | 1 |');
gotoxy(20,8);
Khoa Tin học Kinh Tế SV thực hiện:Trần Đình Quảng
15
Trường ĐH KTQD Hà Nội GVHD: PGS.TS. Hàn Viết Thuận
writeln(' ');
gotoxy(20,9);
writeln('| Nhap ds khach hang | 2 |');
gotoxy(20,10);
writeln(' ');
gotoxy(20,11);
writeln('| Sua TT khach hang | 3 |');
gotoxy(20,12);
writeln(' ');
gotoxy(20,13);
textcolor(red+blink);
writeln('| Xoa TT khach hang | 4 |');
gotoxy(20,14);
textcolor(white);
writeln(' ');
gotoxy(20,15);
writeln('| In thong tin khach hang| 5 |');
gotoxy(20,16);
writeln(' ');
gotoxy(20,17);
writeln('| Thoat chuong trinh | 6 |');
gotoxy(20,18);
writeln(' ');
end;
{ MENU5 }

procedure menu5;
begin
clrscr;
gotoxy(20,1);
textcolor(green);
GetDate(y,m,d,dow);
Writeln('Ngay giao dich - ', days[dow],': ',d:0, '/', m:0, '/', y:0,' -');
textcolor(white);
gotoxy(30,2);
writeln('Chon cong viec');
gotoxy(20,4);
writeln(' ');
gotoxy(20,5);
textcolor(12);
Khoa Tin học Kinh Tế SV thực hiện:Trần Đình Quảng
16
Trường ĐH KTQD Hà Nội GVHD: PGS.TS. Hàn Viết Thuận
writeln('| Cong viec | Chi so |');
textcolor(white);
gotoxy(20,6);
writeln(' ');
gotoxy(20,7);
writeln('| Nhap lai suat thay doi | 1 |');
gotoxy(20,8);
writeln(' ');
gotoxy(20,9);
writeln('| Nhap ds khach hang | 2 |');
gotoxy(20,10);
writeln(' ');
gotoxy(20,11);

writeln('| Sua TT khach hang | 3 |');
gotoxy(20,12);
writeln(' ');
gotoxy(20,13);
writeln('| Xoa TT khach hang | 4 |');
gotoxy(20,14);
writeln(' ');
gotoxy(20,15);
textcolor(red+blink);
writeln('| In thong tin khach hang| 5 |');
textcolor(white);
gotoxy(20,16);
writeln(' ');
gotoxy(20,17);
writeln('| Thoat chuong trinh | 6 |');
gotoxy(20,18);
writeln(' ');
end;
{ MENU6 }
procedure menu6;
begin
clrscr;
gotoxy(20,1);
textcolor(green);
GetDate(y,m,d,dow);
Writeln('Ngay giao dich - ', days[dow],': ',d:0, '/', m:0, '/', y:0,' -');
Khoa Tin học Kinh Tế SV thực hiện:Trần Đình Quảng
17
Trường ĐH KTQD Hà Nội GVHD: PGS.TS. Hàn Viết Thuận
textcolor(white);

gotoxy(30,2);
writeln('Chon cong viec');
gotoxy(20,4);
writeln(' ');
gotoxy(20,5);
textcolor(12);
writeln('| Cong viec | Chi so |');
textcolor(white);
gotoxy(20,6);
writeln(' ');
gotoxy(20,7);
writeln('| Nhap lai suat thay doi | 1 |');
gotoxy(20,8);
writeln(' ');
gotoxy(20,9);
writeln('| Nhap ds khach hang | 2 |');
gotoxy(20,10);
writeln(' ');
gotoxy(20,11);
writeln('| Sua TT khach hang | 3 |');
gotoxy(20,12);
writeln(' ');
gotoxy(20,13);
writeln('| Xoa TT khach hang | 4 |');
gotoxy(20,14);
writeln(' ');
gotoxy(20,15);
writeln('| In thong tin khach hang| 5 |');
gotoxy(20,16);
writeln(' ');

gotoxy(20,17);
textcolor(red+blink);
writeln('| Thoat chuong trinh | 6 |');
textcolor(white);
gotoxy(20,18);
writeln(' ');
end;
{ MENU CHUONG TRINH CHINH }
Khoa Tin học Kinh Tế SV thực hiện:Trần Đình Quảng
18
Trường ĐH KTQD Hà Nội GVHD: PGS.TS. Hàn Viết Thuận
procedure Menu;
begin
clrscr;
gotoxy(20,1);
textcolor(green);
GetDate(y,m,d,dow);
Writeln('Ngay giao dich - ', days[dow],': ',d:0, '/', m:0, '/', y:0,' -');
textcolor(white);
gotoxy(30,2);
writeln('Chon cong viec');
textcolor(white);
gotoxy(20,4);
writeln(' ');
gotoxy(20,5);
textcolor(12);
writeln('| Cong viec | Chi so |');
textcolor(white);
gotoxy(20,6);
writeln(' ');

gotoxy(20,7);
writeln('| Nhap lai suat thay doi | 1 |');
gotoxy(20,8);
writeln(' ');
gotoxy(20,9);
writeln('| Nhap ds khach hang | 2 |');
gotoxy(20,10);
writeln(' ');
gotoxy(20,11);
writeln('| Sua TT khach hang | 3 |');
gotoxy(20,12);
writeln(' ');
gotoxy(20,13);
writeln('| Xoa TT khach hang | 4 |');
gotoxy(20,14);
writeln(' ');
gotoxy(20,15);
writeln('| In thong tin khach hang| 5 |');
gotoxy(20,16);
writeln(' ');
Khoa Tin học Kinh Tế SV thực hiện:Trần Đình Quảng
19
Trường ĐH KTQD Hà Nội GVHD: PGS.TS. Hàn Viết Thuận
gotoxy(20,17);
writeln('| Thoat chuong trinh | 6 |');
gotoxy(20,18);
writeln(' ');
c:=readkey;
while ord(c)<>13 do
begin

if ord(c)=0 then
begin
if (chieu='x') then
index:=index+1;
if (chieu='l') then
index:=index-1;
if index=6 then chieu:='l';
if index=1 then chieu:='x';
end;
case index of
1: menu1;
2: menu2;
3: menu3;
4: menu4;
5: menu5;
6: menu6;
end;
c:=readkey;
end;
end;
{ NHAP THONG TIN KHACH HANG }
procedure ThemDM;
var moi:pointertype;
mkh:word;
hoten:string;
Loai:word;
TG:real;
begin
clrscr;
Khoa Tin học Kinh Tế SV thực hiện:Trần Đình Quảng

20
Trường ĐH KTQD Hà Nội GVHD: PGS.TS. Hàn Viết Thuận
gotoxy(20,1);
textcolor(green);
GetDate(y,m,d,dow);
Writeln('Ngay giao dich - ', days[dow],': ',d:0, '/', m:0, '/', y:0,' -');
textcolor(white);
new(moi);
Writeln('Nhap ma khach hang:');readln(moi^.mkh);
writeln('Nhap ho ten khach hang:');readln(moi^.hoten);
writeln('Nhap loai tien gui');readln(loai);
if (loai=1) then
begin
moi^.LTK:=ltk[0];
moi^.ls:=ls1;
end;
if (loai=2) then
begin
moi^.LTK:=ltk[1];
moi^.ls:=ls2;
end;
if (loai=3) then
begin
moi^.LTK:=ltk[2];
moi^.ls:=ls3
end;
writeln('Nhap ngay gui:');readln(moi^.ng);
writeln('Nhap luong tien gui cua khach hang:');readln(moi^.tg);
cuoi:=l;
l:=moi;

moi^.next:=cuoi;
end;
{ IN DANH SACH KHACH HANG }
procedure InDM;
var m:pointertype;
i:integer;
tong:real;
begin
i:=4;
clrscr;
m:=l;
Khoa Tin học Kinh Tế SV thực hiện:Trần Đình Quảng
21
Trường ĐH KTQD Hà Nội GVHD: PGS.TS. Hàn Viết Thuận
writeln(' |
');
writeln('| MKH | Ho ten KH | Loai TG | Ngay gui | So luong gui |
Tong=tien gui+lai |');
writeln(' |
');
while m<>nil do
begin
gotoxy(0,i);
write('| ');
write(m^.mkh);
gotoxy(7,i);
write('| ');
write(m^.hoten);
gotoxy(19,i);
write('| ');

write(m^.ltk);
gotoxy(31,i);
write('| ');
write(m^.ng);
gotoxy(42,i);
write('| ');
writeln(m^.TG:0:1);
if(m^.ltk='Sau thang')then tong:=m^.tg*exp(6*ln(1+ls1));
if(m^.ltk='Mot nam')then tong:=m^.tg*exp(1*ln(1+ls2));
if(m^.ltk='Nam nam')then tong:=m^.tg*exp(5*ln(1+ls3));
gotoxy(57,i);
write('| ');
write(tong:0:1);
gotoxy(77,i);
writeln('| ');
writeln('
|');
m:=m^.next;
i:=i+2;
end;
end;
{ IN DANH SACH KHACH HANG THEO MA }
procedure InKH;
Khoa Tin học Kinh Tế SV thực hiện:Trần Đình Quảng
22
Trường ĐH KTQD Hà Nội GVHD: PGS.TS. Hàn Viết Thuận
var m:pointertype;
i:integer;
mkh:word;
tong:real;

begin
i:=5;
clrscr;
m:=l;
write('Nhap MKH can in:');readln(mkh);
writeln(' |')
;
writeln('| MKH | Ho ten KH | Loai TG | Ngay gui | So luong gui |
Tong =gui+lai |');
writeln(' |')
;
while m<>nil do
begin
if(m^.mkh=mkh)then
begin
gotoxy(0,5);
write('| ');
write(m^.mkh);
gotoxy(7,5);
write('| ');
write(m^.hoten);
gotoxy(21,5);
write('| ');
write(m^.ltk);
gotoxy(33,5);
write('| ');
write(m^.ng);
gotoxy(44,5);
write('| ');
write(m^.TG:0:1);

if(m^.ltk='Sau thang')then tong:=m^.tg*exp(6*ln(1+ls1));
if(m^.ltk='Mot nam')then tong:=m^.tg*exp(1*ln(1+ls2));
if(m^.ltk='Nam nam')then tong:=m^.tg*exp(5*ln(1+ls3));
gotoxy(59,5);
write('| ');
Khoa Tin học Kinh Tế SV thực hiện:Trần Đình Quảng
23
Trường ĐH KTQD Hà Nội GVHD: PGS.TS. Hàn Viết Thuận
write(tong:0:1);
gotoxy(75,i);
writeln('| ');
writeln('
|');
end;
m:=m^.next;
end;
end;
{ XOA DANH MUC }
procedure XoaDm;
var MKh: word;
nut: pointertype;
tg:pointertype;
begin
clrscr;
write('Nhap MKH can xoa:');readln(mkh);
nut:=l;
if (nut^.mkh=mkh) then l:=nut^.next;
while nut^.mkh<>mkh do
begin
tg:=nut;

nut:=nut^.next;
end;
tg^.next:=nut^.next;
dispose(nut);
end;
{ SUA DANH MUC }
procedure suaDm;
var MKh: word;
nut: pointertype;
tg:pointertype;
begin
clrscr;
write('Nhap MKH can sua:');readln(mkh);
nut:=l;
while (nut^.mkh<>mkh)and(nut^.next<>nil) do
nut:=nut^.next;
Khoa Tin học Kinh Tế SV thực hiện:Trần Đình Quảng
24
Trường ĐH KTQD Hà Nội GVHD: PGS.TS. Hàn Viết Thuận
write('Sua ten khach hang:');readln(nut^.hoten);
write('Sua loai tiet kiem:');readln(nut^.ltk);
write('Sua ngay gui:');readln(nut^.ng);
write('Sua luong tien gui:');readln(nut^.tg);
end;
{ THAY DOI LAI SUAT }
procedure suals;
begin
write('Lai suat 6 thang:');readln(ls1);
write('Lai suat 1 nam :');readln(ls2);
write('Lai suat 5 nam :');readln(ls3);

end;
{ CHUONG TRINH CHINH }
BEGIN
clrscr;
ls1:=0.2;
ls2:=0.5;
ls3:=0.8;
new(cuoi);
kt1:='c';
while kt1<>'k' do
begin
index:=-1;
chieu:='x';
menu;
if index=1 then suals;
if index=2 then
begin
j:=0;
write('Nhap so ban ghi can:');readln(n);
while j<n do
begin
themdm;
j:=j+1;
end;
end;
if index=3 then suadm;
if index=4 then xoadm;
if index=5 then
Khoa Tin học Kinh Tế SV thực hiện:Trần Đình Quảng
25

×