THANH PHO HO CHi MINH, NGAY 20 THANG 11 NAM 2021 00 LOI MO DAU Là doanh nghiệp hoạt động trong lĩnh vực thương mại, một trong những nỗi quan tâm hàng đầu của chủ doanh nghiệp, tư nhân là
Listoa fLoa, ListCToa {LCToa, Listoo
2ó2ó10 oàm thông tin hóa đơn có tổng ti-n lớn nhấtờ
Listoậ Lọậ, ListCToậ LCToậ, Listoo
Lao swapáp-ểdata, q- ẩrnaraì Nodeoa *p Loậópoeadũ
| if ATongTienaLoa, LCToa, Loo, p-ểdataóợaooaậonì ể TongTienaLoa, LCToa, Loo, max-€datadcgaooaaonii dung
2.2.11 Hàm in thông tin hóà đơn cùng với càc chỉ tiêt hóà đơn:
Listoa Loa, ListCToậ LCToậ, Listoo Loo, string
Nodeoa *p = SearchoaAguaLoa, maoậì cout 66 UThong tin hoa donờ ủ ãễ endl Printloaap-édatait cout 6é UTong tiend U 66 TongTienaLoa, LCToa, Log, p-ểda†aóơaooaâonì ễẽ endlli u U return q a= NULL if aq-
€dataóợaoangooalũ - cout &ễ ủợa hang hoaờ ủ ễÊễ r-ểdataóợaoangooa ee ee
2.2.12 Hàm liệt kê thông tin hóà đơn khi biét ma khàch hàng:
Listoa Loa, ListCToậ LCToậ, Listoo Loo, string manoâ
Printloậáp-ểdataũi cout €é uTong tiend u éé TongTienaLoa, LCToậ, Loo, p-ểdataóợaooaậonì ễễ endlũ ,
NodeCToậ *q = LCToậópoeadũ sal if aq-
€datadgaooaaon mm Thong tin chỉ tiet hoa don dlu Nodeoo *r = SearchooAgúáLọo, q- édatadgagangooait cout ễễ ủợa hang hoaờ ủ ễễ r-ểdataóợaoangooa
2.2.13 Hàm thông kê dóành thù theó ngày:
Listoa Loa, ListCToa LCToa, Listoo Loo, int return if ap- ểdataóNgayắanóngay tong ớ= TongTienáLoậ, LCToậ, Lọo, p- dơ†aúdœaonoaÂonỡf
2.2.14 Hàm thông kê dóành thù theó thàng:
Listoa Loa, ListCToa LCToa, Listoo Loo, int return ểdataóNgayắanóthan tong ớ= TongTienáLoậ, LCToậ, Lọo, p- dơ†aúdœaonoaÂonỡf
2.2.15 Hàm thông kê dóành thù theó qùý:
List Loa Loa, ListCToa LCToa, Listoo Log, int quy aouble tong = 0U Nodeoậ *p =Loậópoeadũ
If a p-ể dataéNgayaan óthang ể=1 íí p -ể dataéNgayaan
Tong 6=TongTien aLoa, LCT9a, Log, dataóợaooa p-ể âonìũ
If a p-ể dataéNgayaan othang €=é lip -é dataéNgayaan sai elas
If ap- edatadéNgaya rand anothang 66 ÍÍ p- ểdataóNgayắ dataóNgayắan óthang ể lip -é dataóNgayắan
2ú2ú1ọ oàm th,ng kờ doanh thu theo nămờ
Listoa Loa, ListCToậ LCToậ, Listoo Lọọ, int return if ap- ểdataóNgayắanónam tong ớ= TongTienáLoậ, LCToậ, Lọo, p- ểda†aóơaooaâonìũ
Mc gid cac thuat toan:
// thong tin khach hang procedure PrintListKgaListKo lì begin if |6poead a= NULL then begin cout 6é setwa20i 66 UgaKhachoangut 66 setwa20i 66 ỦửulINameủ ễễ setwá20ì ễễ ủNumberPhoneủ ễễ endlũ
NodeKo *p = Idpoead while áp â= NULL begin
Print1Koáp-ểdataìũ p = p-€pNextt endũ endũ endu
⁄ thong tin hang hoa procedure PrintListooáListoo lì begin if lópoead ầ= NULL then begin cout 6é setwa10i 66 Ugagangooali 66 setwa20i 66 UTenSPU ễễ setwá10ì ễ ủậonViTinhủ ễễ setwá10ì ễễ ủGiaNhapủ ễễ setwá10ì ễễ ủGiaắanủ ễễ endlũ
Nodeoo *p = lópoeadũ while áp â= NULL begin
Print1ooáp-ểdataìũ p = p-€pNextt endu endu lendu
//thong tin hoa don procedure PrintListoaaListoa li begin if |6poead a= NULL then begin cout ễễ setwá20ì ễễ ủgaooaậonủ ễễ setwá2ẽì 66 UNgayaanu - ễễ setwá20ì ãễ ủgaKhachoangủ ễễ endlũ
Nodeoậ *b = lópoeadũ while ap a= NULL begin
Print1oậáp-ểdataìũ p = p-€pNextt endũ
//thong tin chi tiet hoa don procedure PrintListCToaaListCToa lì begin if |6poead a= NULL then begin cout 6é setwa20i 66 Ugagangooali 64 setwa20i 66 ỦủSoLuongắanủ ễễ setwá20ì ễễ ủgaooaậonủ ễễ endlũ
NodeCToậ *p = lópoeadũ while ap a= NULL begin
Print1CThoaậonáp-ểdataìũ p = p-€pNextt endũ endũ endu boolean UddNewooaListoo fl, ganggoa ool begin l if SearchooAoúál, ooóợgaoangooaÌì == NULL then begin
Nodeoo *Newoo = Createoangooaáooìũ InsertListooál, Newooìũ
WriteuileooaliG ooaaon oat cin ểể oẬóợaooaậonũ if SearchoậAoúátLoậ, oậóợaooaâonì == NULL then begin cin ểể oậóNgayắanóngayũ cin ểể oậóNgayắanóthangũ cin ểể oậóNgayắanónamũ cin ểể oậóợaKhachoangũ InsertListoậáLoậ, CreateNodeoậ Khachoang Kou
KoóợaKhachoang = oậóợaKhachoangũ cin ểể KoóủullNameũ cin ểể KoóNumberPhoneũ cout ễễ ủNhap so luong hang hoaờ ủũ nũ cin ểể nũ fori = Oton-1 then begin
CTooaaon CTU cin ểể Clóợaoangooaũ if SearchogAguaLog, CTégagangooai then begin cin ểể CTóSoLuongắanũ CTóợaooaâon = oậóợaooaâonũ InsertListCToâáLCToậ, CreateNodeCToậâáCTììũ endu endu
WriteiileCToâáLCToậìũ WriteuilegaaLoait aaSearchKoAguaLKo, KodgaKhachoangii begin
TongTienáListoậ Lọậ, ListCToậ LCTọậ, Listoo Lọo, double tong = 0ũ if SearchoaAguaLoa, maoai then begin for NodeCToa *p = LCToadpoead to LCToadpTail then if p-Edatadgagoadon == maga then begin Nodeoo *q = SearchooAoúáLọo, p- ểdataóợgaoangooaìũ tong ớ= q-ểdataĩGiậan * p-ểdataĩSoLuongắanũ endũ for Nodeoậ *p = Loậópoead to LoậópTail then for Nodeoậ *q = p-ểpNext to LoậópTail then begin if TongTienaLoa, LCToa, Loo, p-E€datadgagoaaoni é ongTienaLoa, LCToa, Loo, q-Edatadgagoadaoni then begin
_ =Ọ p-ểdata dataũ q-ểdata endũ endũ p-ểdataũ F ũ lendd procedure SapXepodAgaKhachoangaListoa iLoa, ListCToa (LCToa, Listoo iLooi begin for Nodeoa *p = Loadpoead to LoadpTail then for Nodeoa *q = p-€pNext to Loadptail then begin if p-EdatadgaKhachoang € q-édatadgaKhachoang then begin ooaậon oậ = p-ểdataũ p-ểdata = q-ếdataũ q-ểdata = oậũ endũ endũ endu
Nodeoa *ooaaonTongTiengaxaListoa Loa, ListCToa LCToa, Listoo Looi begin Nodeoậ *p = Loậéópoeadũ Nodeoa *max = pu for p = p-ểpNext to LoậópTail then begin if TongTienáLoậ, LCToậ, Lọo, p-ểdataóợaooaậonì ể ongTienáLoậ, LCToậ, Lọo, max-ểdataóợaooaậonì max = pũ endũ maxũ endu procedure InthongTinooadaonaListoa Loa, ListCToa LCToa, Listoo
Loo, P912) begin l if SearchoaAguaLoa, magai then begin l
Nodeoa *p = SearchoaAguaLoa, maoaiu cout 66 UThong tin hoa dono U éé endlt Printloậáp-ểdataìũ cout ễễ ửTong tienờ ủ ễễ TongTienáLoậ, LCToậ, Log, p- ếdataóợaooaậonì ễễ endlũ for NodeCToậ *q = LCToâópoead to LCToậópTail then begin if q-ểdataóợaooaậon == maoậ then begin cout ễễ Ủ - Thong tin chi tiet hoa don endlũ
Nodeoo *r = SearchooAguaLgo, q- -ểdataóợgaoangooaìũ cout ễễ ủợa hang hoaờ ủ ễễ r-ểdataóợgaoangooa ễễ cout ễễ ủGia banờ ủ ễễ r-ểdataóGiaáan ễễ endlũ cout &ẽ ủSo luong banờ ủ Š&ẽ q-ếểdataúSoLuongọan endu endu endu lendu procedure InooadonAmakKoaListoa Loa, ListCToa LCToa, Listoo 0Q maKọiì begin for Nodeoậ *p = Loậópoead to LoậópTail then begin if p-EdatadgaKhachoang == maKo then begin
Print1oậáp-ểdataìũ cout ễễ ủTong tienờ ủ ễễ TongTienáLoậ, LCToậ, Log, p- ếdataóợaooaậonì ễễ endlũ for NodeCToa *q = LCToadpoead to LCToadptTail then begin if q-ểdataóợaooaậon == p-édatadgagoaaon then begin cout 66 U - Thong tin chi tiet hoa don endlu l
Nodeoo *r = SearchooAgúáLoọọ, q-ểdataóợaoangooaìũ cout ễễ ủợa hang hoaờ ủ ễễ r-ểdataóợaoangooa éé cout ễễ ủGia banờ ủ ễễ r-ểdataóGiaáan ễễ endlũ cout ễễ ủSo luong banờ ủ ễễ q-ếdataóSoLuongắan endu endu end endu lendd
ThongKedoanhThuAthangaListoa Lọậ, ListCToậ LCTọậ, Listoo Lọo, thangi begin double tong = OU for Nodeoa *p = Loadpoead to LoadpTail then begin if p-ểdataóNgayắanóthang == thang then tong ớ= TongTienáLoậ, LCToậ, Lọo, p-ểdataóợaooaậonì ũ endũ tongũ endu
ThongKeậoanhThuẢnamáListoậ Lọậ, ListCToậ LCTọậ, Listọo double tong = OU for Nodeoa *p = Loadpoead to LoadpTail then begin if p-Edata6Ngayaanénam == nam then tong ớ= TongTienáLoậ, LCToậ, Lọo, p-ểdataóợaooaậonìũ endũ tongũ endu
ThongKeậoanhThuẢngayáListoậ Lọậ, ListCToậ LCTọậ, Listoo Loo, ngayi begin double tong = OU for Nodeoa *p = Loadpoead to LoadpTail then begin if p-Edata6Ngayaanéngay == ngay then tong ớ= TongTienáLoậ, LCToậ, Lọo, p-ểdataóợaooaậonìũ endũ tongũ endu
ThongKeậoanhThuẢãuyáListoậ Loa, ListCToa LCT0a, Listoo
Log, int quyi begin double tong = OU for Nodeoa *p = Loadpoead to LoadpTail then begin áquyÌ begin case 10 if p-ểdataúNgayọanúthang ế= 1 and p- ếdataóNgayắanóthang ễ= 3 then tong ớ= TongTienáLoậ, LCToậ, Lọo, p- ếdataóợaooaậonìũ breakũ case 2ờ if p-ểdataóNgayắanóthang ể= ế and p- ểdataúNgayắanúthang ễ=ọ then tong ớ= TongTienáLoậ, LCToậ, Lọo, p- ếdataóợaooaậonìũ breakũ case 3ờ if p-ểdataóNgayắanóthang ể= ổ and p- dataóNgayắanóthang ễ= ấ then tong ớ= TongTienáLoậ, LCToậ, Lọo, p- ếdataóợaooaậonìũ breakũ case ếờ if p-ểdataóNgayắanóthang ế= 10 and p- dataóNgayắanóthang ễ= 12 then tong ớ= TongTienáLoậ, LCToậ, Lọo, p- ếdataóợaooaậonìũ breakũ endũ endũ return tongũ endu
CHUONG Y: KET LUAN
Y.1 Những kết qud đVt đưhc Ý.1.1 Giao diRn chương trbnh:
MENU 1 Xuat tat ca thong tin hoa do THoaDon, HangHoa, KhachHang tu hem mot hang hoa moi va luu va le hoa dor lon theo tong ma khach F tien lon nhat u theo theo quy thu the Ý.1.2 ốukt tkt cd thông tin khách hàng:
HONG TIN DANH SACH KHACH HANG MaKhachHang FullName
NguenVanA Ney 010) nD Te 0g NguenVanG 999878976
8000 9000 8000 2000 8000 3000 8000 4500 9500 21900 Ý.1.4 ốukt tkt cd thông tin hma đơn:
HONG TIN DANH SACH HOA DON
5/11/2920 11/11 1 Ý.1.5 ốukt tkt cd thông tin chỉ tiết hma đơn:
DANH SACH CHT T HOA D MaHoaDon
HD@03 ID904 HD@05 2212 HD@95 ID887
| 2/224 HDA89 HD@01 HD885 HD@95 ma hang ho ten hang È don vi tinh: Cai nhap: 15909 an: 20080 hang hoa thanh cong! tat ca thong tin hoa don, CTHo moi va luu vao file
Sap xep hoa ‹ Sap xep ho h LUẬN:
In thong tin hoa don Tn h don t ma khach hang Tho h thu theo thang
Thong ke doanh thu theo nan Thong ke doanh thu theo quy Thong ke doanh thu theo ngay Ý.1.7 Thêm mnt hma đơn mQi và lưu vào filữ: ma hoa don: HDỉ1 p ngay lap hoa mm yy): ỉ7 ỉ1 2022 ma khach hang: KHỉ19
MENU ca thong tin hoa don, CTHoaDon, HangHoa, KhachHang tu file moi va luu v ma khach hang tien lon nhat In thong tin hoa
Tn hoa don theo ma khach hang hong ke doanh thu th thang - Thong ke doanh thu theo nam
Thong ke d h thu theo quy 2 Thong ke doanh thu theo ngay
HDỉ15 7/2/2922 KHỉ11 tien: 120¢ l0) 412 7/1/2022 KHô19 tien: 60000
La 22/11/2020 tien: 33000 HDô91 tien: 28900 tien: 19000 HDô9 18900
‘a hoa don: HDỉ15 š h har Hỉ11 tien : 120000 at tat ca thong tin hoa do hem mot hang hoa moi va luu don theo ma khach n co tong tien lon nhat
Thong k Thong k anh thu theo quy doanh thu theo tăng dvn thữo mc khách
In thông tin hma đơn cm tổng tiền [Qn nhkt:
Y.1.11 Tbm kiếm và cho biết thông tin của mnt hma đơn cùng vQi các chỉ tiết hma đơn tương ứng khi biết số hma đơn:
Thong tin chi tiet hoa don la hang hoa: SP085 ia ban: 8000 So luong ban
Xuat tat ca thong tin )on, HangHoa, KhachHang tu f CN l0 si lon nhat b
Tn hoa don theo ma khach hang hong ke doanh thu theo thang thu theo nam thu the MU
Nhap lua chon: Ý.1.12 In thông tin hma đơn khi biết mc khách hàng:
Nhap ma khach hang: K HDô94 moi va luu moi va luu va don theo tong don theo ma k a ang [4 tong tien lon nhat don khach hang quy Thong ke doanh thu theo ngay
Nhap Ý.1.1Ý Thống kê doanh thu thữo ngày: Ý.1.14 Thống kê doanh thu thữo tháng:
Y.1.15 Thống kê doanh thu thữo quý: Ý.1.1õ Thống kê doanh thu thữo năm: Ý.2 Ưu điểm - _ Giao diện dễ sử dung, dễ thao tácó - Giải quyết được vấn đ- quản lý bán hàngó - OỖ trợ được các nhiệm vu chính trong việcờ nhập/xuất thông tin khách hàng, hóa đơn, chỉ tiết hóa đơn và hàng hóaó - Cụng cấp thêm các chức năng cho người quản lý nhườ tìm kiếm, sắp xếp các hóa đơn theo mã khách hàng, tổng ti-n, th,ng kê được doanh thu bán hàng theo ngày/tháng/quy
- - Chương trình còn nhi-u thiếu sót nhườ + Xóa hóa đơnó
+ Giao diện chưa được bắt mắtó Ý.4 HưQng phát triển/ cdi tiến Nhóm c, gắng nghiên cứu và tiếp tục phát triển để có thể đưa chương trình vào ứng dung thực tếóé Thêm các hàm phi hợp và chỉnh sửa giao diện bắt mắt hơnó
Rất mong nhận được sự chỉ d“n của cô để nhóm em khắc phuc những nhược điểm còn thiếu sót và phát triển chương trình hơn trong tương laió