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

bài tập lớn lập trình nâng cao c xây dựng hệ thống quản lý cửa hàng thú nuôi

41 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Bài toán quản lý cửa hàng thú nuôiCùng với sự phát triển của công nghệ thông tin, các chương trình phục vụ cho việcquản lý nhà hàng, khách sạn, cửa hàng, …đã không còn xa lạ đối với doan

Trang 1

Giảng viên hướng dẫn:Triệu Thu HươngMã lớp học phần:231IS8A02Nhóm thực hiện:Nhóm 7

Hà Nội, 12/2023

Trang 2

Giảng viên hướng dẫn:Triệu Thu HươngMã lớp học phần:231IS8A02Nhóm thực hiện:Nhóm 7

STT Họ Tên MSV % đóng góp Ký tên 1 Nguyễn Thùy Anh 25A4041522

2 Trần Thị Huyền Châm 25A40415273 Ngô Thị Thu Hà 25A4041538

Hà Nội, 12/2023

Trang 3

MỤC LỤC

LỜI MỞ ĐẦU 1

CHƯƠNG 1: MÔ TẢ BÀI TOÁN 1

1.1 Lý do chọn bài toán 1

1.1.1 Công nghệ thông tin hiện nay 1

1.1.2 Bài toán quản lý cửa hàng thú nuôi 1

1.2 Phát biểu bài toán 1

1.2.1 Phân loại đối tượng 1

1.2.2 Mô tả hệ thống 2

1.3 Xác định bài toán 2

1.3.1 Thông tin đầu vào 2

1.3.2 Thông tin đầu ra 2

1.3.3 Công cụ sử dụng 2

CHƯƠNG 2: PHÂN TÍCH CÁC CHỨC NĂNG CỦA BÀI TOÁN 3

2.1 Quản lí kho 3

2.2 Quản lí hóa đơn 3

2.2.1 Hóa đơn mua hàng 3

2.2.2 Hóa đơn nhập hàng 4

2.3 Quản lí khách hàng 4

2.4 Quản lí nhà cung cấp 4

2.5 Thống kê 5

CHƯƠNG 3: THIẾT KẾ CẤU TRÚC DỮ LIỆU DÙNG CHO BÀI TOÁN 6

3.1 Các menu giao diện chương trình 6

3.2 Các chương trình con 7

3.2.1 Chương trình con quản lý kho hàng 7

3.2.2 Chương trình con quản lý hóa đơn 8

3.2.3 Chương trình con quản lý khách hàng 9

3.2.4 Chương trình con quản lý nhà cung cấp 11

3.2.5 Chương trình con thống kê 12

CHƯƠNG 4: THIẾT KẾ VÀ CÀI ĐẶT CHƯƠNG TRÌNH 14

4.1 Khai báo các cấu trúc dữ liệu 14

Trang 4

4.2 Xây dựng các chương trình 16

CHƯƠNG 5: KẾT LUẬN 39

Trang 5

DANH MỤC HÌNH ẢNH

Hình 1: Khai báo các thư viện 14

Hình 2: Khai báo cấu trúc cho thú nuôi 14

Hình 3: Khai báo cấu trúc cho mặt hàng 14

Hình 4: Khai báo cấu trúc cho thời gian trong thống kê 14

Hình 5: Khai báo cấu trúc kho hàng 14

Hình 6: Khai báo cấu trúc hóa đơn nhập 15

Hình 7: Khai báo cấu trúc hóa đơn mua 15

Hình 8: Khai báo cấu trúc khách hàng 15

Hình 9: Khai báo node khách hàng 15

Hình 10: Khai báo cấu trúc nhà cung cấp 16

Hình 11: Khai báo node nhà cung cấp 16

Hình 12: Khai báo cấu trúc thống kê 16

Hình 13: Khai báo node thống kê 16

Hình 14: Code giao diện chính 17

Hình 15: Giao diện chính 17

Hình 16: Code menu hóa đơn nhập 18

Hình 17: Giao diện menu hóa đơn nhập hàng 18

Hình 18: Code nhập thông tin hóa đơn nhập 19

Hình 19: Code in thông tin hóa đơn nhập 20

Hình 20: Code ghi thông tin hóa đơn nhập vào file 20

Hình 21: Code in thông tin hóa đơn nhập từ file 20

Hình 22: Code menu hóa đơn mua 21

Hình 23: Giao diện menu hóa đơn mua 22

Hình 24: Code nhập thông tin hóa đơn mua hàng 22

Hình 25: Code in thông tin hóa đơn mua hàng 23

Hình 26: Code ghi thông tin hóa đơn mua hàng vào file 23

Hình 27: Code in hóa đơn mua từ file 23

Hình 28: Code menu quản lý kho hàng 24

Hình 29: Giao diện menu quản lý kho hàng 24

Hình 30: Code nhập thông tin kho hàng 25

Hình 31: Code in thông tin kho hàng 26

Hình 32: Code ghi thông tin kho hàng vào file 26

Hình 33: Code in thông tin kho hàng từ file 26

Hình 34: Code menu quản lý khách hàng 27

Hình 35: Giao diện menu quản lý khách hàng 28

Hình 36: Code nhập thông tin khách hàng 28

Hình 37: Code thêm khách hàng mới vào danh sách 28

Hình 38: Code duyệt danh sách khách hàng 29

Hình 39: Code sửa thông tin khách hàng 29

Hình 40: Code xóa khách hàng 30

Trang 6

Hình 41: Code ghi thông tin khách hàng vào file 30

Hình 42: Code in thông tin khách hàng từ file 31

Hình 43: Code menu quản lý nhà cung cấp 32

Hình 44: Giao diện menu quản lý nhà cung cấp 33

Hình 45: Code nhập thông tin nhà cung cấp 33

Hình 46: Code thêm mới thông tin nhà cung cấp 33

Hình 47: Code sửa thông tin nhà cung cấp 34

Hình 48: Code xóa nhà cung cấp 34

Hình 49: Code duyệt danh sách nhà cung cấp 35

Hình 50: Code ghi thông tin nhà cung cấp vào file 35

Hình 51: Code in thông tin nhà cung cấp từ file 35

Hình 52: Code menu thống kê 36

Hình 53: Giao diện menu thống kê 36

Hình 54: Code tính tông số khách hàng của cửa hàng 37

Hình 55: Code tính tổng số nhà cung cấp của cửa hàng 37

Hình 56: Code ghi thông tin doanh thu vào file 37

Hình 57: Code in thông tin doanh thu từ file 38

Trang 7

LỜI MỞ ĐẦU

Trong thời đại công nghiệp 4.0 ngày nay, sự phức tạp của các hoạt động kinh doanhngày càng tăng lên, đặt ra nhiều thách thức trong việc quản lí thông tin và tài nguyên.Xây dựng hệ thống quản lí trở nên không thể phổ cập hơn, đặc biệt là khi chúng ta đốidiện với môi trường kinh doanh đa dạng và đòi hỏi sự linh hoạt.

Thú nuôi không chỉ là những người bạn đồng hành mà còn là thành viên quan trọngtrong gia đình chúng ta Việc quản lý một cửa hàng thú nuôi đòi hỏi sự chăm sóc kĩlưỡng và hiệu quả để đảm bảo sức khỏe và hạnh phúc cho các thú cưng, đồng thời tạora một môi trường kinh doanh bền vững.

Bài tập lớn này tập trung vào việc xây dựng hệ thống quản lí cửa hàng thú nuôi, nhằmgiúp cải thiện quy trình kinh doanh và tăng cường trải nghiệm cho khách hàng Cácthành viên nhóm 7 chúng em đã nghiên cứu và phát triển các tính năng thông minh đểtheo dõi hàng tồn kho và tối ưu hóa giao tiếp với khách hàng

Mục tiêu của chúng em là xây dựng một hệ thống linh hoạt, dễ sử dụng và đáp ứngđược nhu cầu đa dạng của các cửa hàng thú nuôi Bằng cách này, chúng em hi vọng cóthể đóng góp và nâng cao chất lượng cuộc sống cho cả thú cưng và chủ nhân.Bài tập lớn trong học phần “Lập trình nâng cao C” với đề tài “Xây dựng hệ thống quảnlí cửa hàng thú nuôi” là kết quả của cả một quá trình học hỏi và cố gắng của các thànhviên trong nhóm 7 Để hoàn thành được bài tập lớn này, chúng em đã nhờ sự hỗ trợcủa các bạn trong lớp cùng với sự dẫn dắt tận tình của cô Triệu Thu Hương – Giảngviên hướng dẫn của chúng em

Em xin gửi lời cảm ơn chân thành đến cô, người đã luôn hướng dẫn và giúp đỡ chúngem suốt quá trình thực hiện bài tập lớn

Vì đây là lần đầu tiên chúng em làm bài tập lớn này, nên không thể tránh khỏi nhữngsai sót, còn nhiều kiến thức chúng em chưa nắm rõ và ít hiểu biết những kinh nghiệmthực tế Em rất mong nhận được sự góp ý của các bạn trong lớp, đặc biệt là của côHương để bài tập lớn của chúng em được hoàn thiện.

Cuối cùng, chúng em xin kính chúc cô mạnh khỏe, luôn luôn là những người dẫn dắtthế hệ sinh viên của Học viện Ngân Hàng trưởng thành và thành công nhiều hơn trongtương lai

Em xin chân thành cảm ơn!

Trang 8

CHƯƠNG 1: MÔ TẢ BÀI TOÁN1.1 Lý do chọn bài toán

1.1.1 Công nghệ thông tin hiện nay

Trong những thập kỉ gần đây, công nghệ nói chung đang phát triển rất nhanh chóng vàđạt được nhiều thành tựu vượt bậc trong nhiều lĩnh vực khác nhau, một trong số đóphải kể đến lĩnh vực công nghệ thông tin Ngày nay, công nghệ thông tin đã trở thànhmột phần không thể thiếu trong cuộc sống hàng ngày, nó được sử dụng rộng rãi nhưmột công cụ quan trọng, giúp nâng cao hiệu quả và tăng độ chính xác trong công việc.Phân tích và thiết kế hệ thống thông tin quản lý là một phần quan trọng của công nghệthông tin Nó giúp con người có thể quản lý cơ sở dữ liệu một cách hiệu quả, đơn giảnvà nhanh chóng hơn, giúp tiết kiệm thời gian và nguồn nhân lực.

1.1.2 Bài toán quản lý cửa hàng thú nuôi

Cùng với sự phát triển của công nghệ thông tin, các chương trình phục vụ cho việcquản lý nhà hàng, khách sạn, cửa hàng, …đã không còn xa lạ đối với doanh nghiệp vànhà kinh doanh.

Tuy nhiên, trên thực tế, tại một số nhà hàng, cửa hàng, trong đó có các cửa hàng thúnuôi, các nghiệp vụ quản lý và thanh toán vẫn được thực hiện thủ công, điều này có thểdẫn đến những vấn đề như nhầm lẫn, chậm trễ và gây phiền toái cho khách hàng Mặtkhác, số ít khác cũng đã áp dụng các chương trình quản lý vào kinh doanh nhưng vẫnchưa thực sự đạt hiệu quả cao

Để giải quyết vấn đề trên, các cửa hàng cần áp dụng công nghệ thông tin vào quản lývà thanh toán hoá đơn cho khách hàng Việc sử dụng một phần mềm chuyên nghiệptrong các nghiệp vụ của cửa hàng sẽ làm tăng khả năng quản lý, đồng thời cũng tăngđộ chính xác, tránh nhầm lẫn và tiết kiệm thời gian hơn trong thanh toán Vì vậy, nhómchúng em đã quyết định giải quyết bài toán “Xây dựng chương trình quản lí cửa hàngthú nuôi” Tuy nhiên, do kiến thức còn hạn chế nên không thể tránh khỏi có nhữngthiếu sót, mong cô sẽ đóng góp ý kiến để bài tập lớn của nhóm em được hoàn chỉnhhơn.

1.2 Phát biểu bài toán

1.2.1 Phân loại đối tượng

Bài toán hướng tới quản lý 4 đối tượng, gồm:

 Kho (tên kho, thông tin thú nuôi, thông tin mặt hàng, địa chỉ)

Trang 9

Với mỗi đối tượng thì chương trình quản lí cưả hàng thú nuôi sẽ:

 Người quản lí: quản lí doanh thu, quản lí khách hàng, quản lí nhân viên, quản líviệc nhập, mua các loại mặt hàng và thú nuôi, quản lý giá nhập và giá bán  Thủ kho: quản lí việc mua, nhập các loại mặt hàng và thú nuôi, kiểm tra số

lượng tồn kho của các loại mặt hàng và thú nuôi đó.

 Thu ngân: nhập thông tin khách hàng và tạo các hóa đơn nhanh chóng, tiết kiệmthời gian.

1.3 Xác định bài toán

1.3.1 Thông tin đầu vào

 Thông tin các kho và các mặt hàng, thú nuôi có trong kho Thông tin của hóa đơn nhập và hóa đơn mua

 Thông tin của khách hàng Thông tin của nhà cung cấp

1.3.2 Thông tin đầu ra

 Thống kê doanh thu theo tháng và năm Thống kê tổng số khách hàng của cửa hàng Thống kê tổng số nhà cung cấp của cửa hàng

Trang 10

CHƯƠNG 2: PHÂN TÍCH CÁC CHỨC NĂNG CỦA BÀI TOÁN

Quản lý cửa hàng thú cưng đòi hỏi một hệ thống quản lý tích hợp để đảm bảo các chứcnăng được thực hiện hiệu quả Phân tích thiết kế chức năng của hệ thống quản lý cửahàng thú nuôi đòi hỏi hiểu rõ về các yêu cầu cụ thể và mô hình kinh doanh của cửahàng đó Dưới đây là một số chức năng quan trọng mà bạn có thể tích hợp vào hệthống quản lý cửa hàng thú nuôi:

2.1 Quản lí kho

Quản lý kho trong cửa hàng thú nuôi là quá trình tổ chức và điều phối các hoạt độngliên quan đến nhập, xuất, và duy trì hàng tồn kho của các sản phẩm thú cưng, thức ăn,phụ kiện và các dịch vụ khác Mục tiêu chính của quản lý kho là đảm bảo sẵn có đủhàng hóa để đáp ứng nhu cầu của khách hàng trong khi tối ưu hóa chi phí và quản lýhiệu suất.

 Nhập thông tin kho: nhập thông tin về kho hàng, các mặt hàng trong kho, chủngloại thú nuôi và số lượng mặt hàng Thông tin này sẽ được sử dụng để theo dõivà quản lí sản phẩm trong kho.

o Nhập thông tin chi tiết về kho hàng: tên kho, địa chỉo Nhập thông tin chủng loại thú nuôi: số lượng, giá cả thú nuôio Nhập thông tin mặt hàng: tên mặt hàng, số lượng, giá cả mặt hàng In thông tin trong kho: thông tin kho hàng, thông tin thú nuôi và thông tin mặt

o In thông tin kho hàng: tên kho, địa chỉ

o In thông tin thú nuôi: chủng loại, tên, số lượng, giá cả thú nuôio In thông tin mặt hàng: tên, số lượng, giá cả mặt hàng Ghi file kho hàng

 Đọc file kho hàng

2.2 Quản lí hóa đơn

2.2.1 Hóa đơn mua hàng

Hóa đơn mua hàng của cửa hàng thú nuôi là một tài liệu quan trọng thể hiện thông tinvề giao dịch mua sắm giữa cửa hàng và khách hàng.

 Nhập hóa đơn mua hàng: mã hóa đơn, tên khách hàng, địa chỉ, mặt hàng, sốlượng, đơn giá và ngày mua hàng

 In hóa đơn mua hàng: mã hóa đơn, tên khách hàng, địa chỉ, mặt hàng, số lượng,đơn giá, ngày mua hàng, thành tiền

 Ghi file hóa đơn mua hàng Đọc file hóa đơn mua hàng

Trang 11

 Thêm, sửa, xóa khách hàng:

o Ghi chú thông tin chi tiết về khách hàng khi họ tạo tài khoản hoặc muahàng lần đầu.

o Cho phép cập nhật thông tin của khách hàng khi có sự thay đổi, ví dụnhư địa chỉ hoặc số điện thoại.

o Cho phép xóa thông tin của khách hàng nếu họ yêu cầu hoặc khôngmuốn duy trì tài khoản.

 Duyệt danh sách khách hàng đã thêm: mã khách hàng, tên khách hàng, địa chỉ,số điện thoại, năm sinh

 Lưu thông tin khách hàng vào file

 In thông tin khách hàng từ file: mã khách hàng, tên khách hàng, địa chỉ, số điệnthoại, năm sinh

Quản lý khách hàng không chỉ giúp cửa hàng duy trì mối quan hệ tốt với khách hàngmà còn tối ưu hóa quy trình kinh doanh và tăng cường khả năng tiếp cận và hiểu biếtvề thị trường.

Trang 12

- Sử dụng vòng lặp while để kiểm tra năm sinh, nếu năm sinh nhập vào nhỏ hơn1100, yêu cầu nhập lại cho đến khi năm sinh lớn hơn 1100

- Tạo một node mới Node mới này sẽ chứa thông tin về khách hàng và có contrỏ next trỏ đến NULL

- Gán thông tin về khách hàng vừa nhập vào node vừa tạo Đảm bảo rằng contrỏ next của node mới trỏ đến NULL Trả về node mới vừa tạo.

 Void themkhachhang(): Thêm khách hàng mới vào danh sách

- Gọi hàm makeNode(khach) để tạo một node mới chứa thông tin về kháchhàng mới

- Thực hiện nhập các thông tin của khách hàng.

 Void duyetkhachhang(): Duyệt thông tin của khách hàng vừa nhập- Sử dụng vòng lặp while để duyệt qua danh sách liên kết khách hàng.Vòng lặp sẽ được thực hiện cho đến khi con trỏ đến cuối danh sách.

- Mỗi lần lặp, in ra màn hình thông tin chi tiết về một khách hàng, bao gồm mãkhách hàng, tên khách hàng, địa chỉ, số điện thoại, và năm sinh.

 Void suaKHang(): Sửa thông tin của khách hàng đã có- Thực hiện nhập mã khách hàng cần sửa thông tin.

- Sử dụng vòng lặp while để duyệt qua danh sách liên kết và tìm khách hàng cómã trùng khớp với mã được nhập Nếu tìm thấy, hiển thị thông tin chi tiết vềkhách hàng và yêu cầu nhập thông tin mới Thông tin mới này sẽ được gán trựctiếp vào node tương ứng trong danh sách liên kết Ngược lại, thông báo “Khôngtìm thấy khách hàng cần sửa”.

 Void xoakhachhang(): Xóa khách hàng ra khỏi danh sách- Thực hiện nhập mã khách hàng cần xóa.

- Xóa luôn node đầu tiên nếu mã được nhập vào trùng khớp Ngược lại, thựchiện xóa các node khác trong danh sách bằng cách sử dụng vòng lặp while đểkiểm tra mã khách hàng trùng khớp với mã được nhập Mỗi khi xóa, giải phóngbộ nhớ cho node được xóa.

 Void khachInFile(): Ghi thông tin khách hàng vào file

- Tạo một đối tượng ‘fstream’ với tên ‘fout2’ để ghi dữ liệu vào file có tên là‘Filenamekhach’.

- Kiểm tra xem việc mở file có thành công hay không Sau đó, sử dụng vòng lặpđể duyệt qua danh sách liên kết khách hàng Sau mỗi lần lặp, thông tin về kháchhàng từ node hiện tại được ghi vào file.

- Sau khi ghi xong, đóng file để đảm bảo dữ liệu được lưu trữ Thông báo lỗinếu không mở được file.

 Void khachOutFile(): Đọc thông tin khách hàng từ file

- Tạo một đối tượng ‘fstream’ với tên ‘fin2’ để đọc dữ liệu từ file có tên là‘Filenamekhach’

Trang 13

- Kiểm tra xem việc mở file có thành công hay không Sau đó, sử dụng vòng lặpđể đọc từng bản ghi khách hàng từ file Sau mỗi lần đọc, thông tin chi tiết vềkhách hàng được xuất ra màn hình.

- Sau khi đọc xong, đóng file để giải phóng tài nguyên Thông báo lỗi nếukhông mở được file.

3.2.4 Chương trình con quản lý nhà cung cấp

 nccNode* makenode(): Nhập thông tin của nhà cung cấp

- Thực hiện nhập mã nhà cung cấp, tên nhà cung cấp, địa chỉ, số điện thoại - Tạo một node mới Node mới này sẽ chứa thông tin về nhà cung cấp và có contrỏ next trỏ đến NULL

- Gán thông tin về nhà cung cấp vừa nhập vào node vừa tạo Đảm bảo rằng contrỏ next của node mới trỏ đến NULL Trả về node mới vừa tạo.

 Void themNCC(): Thêm nhà cung cấp vào danh sách

- Gọi hàm makenode để tạo một nút mới chứa thông tin về nhà cung cấp mới.- Thực hiện nhập các thông tin của nhà cung cấp.

 Void duyetncc(): Duyệt thông tin của nhà cung cấp vừa nhập- Sử dụng vòng lặp while để duyệt qua danh sách liên kết nhà cung cấp.Vòng lặp sẽ được thực hiện cho đến khi con trỏ đến cuối danh sách.

- Mỗi lần lặp, in ra màn hình thông tin chi tiết về một nhà cung cấp, bao gồmmã nhà cung cấp, tên nhà cung cấp, địa chỉ, số điện thoại.

 Void suaNcc(): Cập nhật lại thông tin của nhà cung cấp đã có- Thực hiện nhập mã nhà cung cấp cần sửa thông tin.

- Sử dụng vòng lặp while để duyệt qua danh sách liên kết và tìm nhà cung cấpcó mã trùng khớp với mã được nhập Nếu tìm thấy, hiển thị thông tin chi tiết vềnhà cung cấp và yêu cầu nhập thông tin mới Thông tin mới này sẽ được gántrực tiếp vào node tương ứng trong danh sách liên kết Ngược lại, thông báo“Không tìm thấy nhà cung cấp cần sửa”.

 Void xoaNcc(): Xóa nhà cung cấp ra khỏi danh sách- Thực hiện nhập mã nhà cung cấp cần xóa.

- Xóa luôn node đầu tiên nếu mã nhà cung cấp được nhập vào trùng khớp.Ngược lại, thực hiện xóa các node khác trong danh sách bằng cách sử dụngvòng lặp while để kiểm tra mã khách hàng trùng khớp với mã được nhập Mỗikhi xóa, giải phóng bộ nhớ cho node được xóa.

 Void nhaccInFile(): Lưu thông tin nhà cung cấp vào file

- Tạo một đối tượng ‘fstream’ với tên ‘fout3’ để ghi dữ liệu vào file có tên là‘Filenamenhacc’.

- Kiểm tra xem việc mở file có thành công hay không Sau đó, sử dụng vòng lặpđể duyệt qua danh sách liên kết nhà cung cấp Sau mỗi lần lặp, thông tin về nhàcung cấp từ node hiện tại được ghi vào file.

Trang 14

- Sau khi ghi xong, đóng file để đảm bảo dữ liệu được lưu trữ Thông báo lỗinếu không thể mở file.

 Void nhaccOutFile(): Đọc thông tin nhà cung cấp từ file

- Tạo một đối tượng ‘fstream’ với tên ‘fin3’ để đọc dữ liệu từ file có tên là‘Filenamenhacc’.

- Kiểm tra xem việc mở file có thành công hay không Sau đó, sử dụng vòng lặpđể đọc từng bản ghi khách hàng từ file Sau mỗi lần đọc, thông tin chi tiết vềnhà cung cấp được xuất ra màn hình.

- Sau khi đọc xong, đóng file để giải phóng tài nguyên Thông báo lỗi nếukhông thể mở file.

3.2.5 Chương trình con thống kê

 tkNode*makenode(): Nhập doanh thu theo tháng và năm

- Thực hiện nhập năm và doanh thu của năm đó Sử dụng vòng lặp while đểkiểm tra năm nhập vào có nằm trong khoảng từ 2015 đến nay 2023 không Nếukhông, yêu cầu nhập lại.

- Sử dụng vòng lặp for để nhập doanh thu cho mỗi tháng từ 1 đến 12.- Tạo node mới, gán thông tin doanh thu vừa nhập cho node. Void themthongke(): Thêm doanh thu theo tháng và theo năm

- Gọi hàm makenode để tạo một nút mới và nhập thông tin doanh thu.- Thực hiện nhập doanh thu theo tháng và năm.

 Void tkeInFile(): Ghi thông tin doanh thu vào file

- Tạo một đối tượng ‘fstream’ với tên ‘fout’ để ghi dữ liệu vào file có tên là‘Filename’.

- Kiểm tra xem việc mở file có thành công hay không Sau đó, sử dụng vòng lặpđể duyệt qua danh sách liên kết thống kê Sau mỗi lần lặp, thông tin về doanhthu từ node hiện tại được ghi vào file.

- Sau khi ghi xong, đóng file để đảm bảo dữ liệu được lưu trữ Thông báo lỗinếu không thể mở file.

 Void thOutFile(): Đọc thông tin doanh thu

- Tạo một đối tượng ‘fstream’ với tên ‘fin’ để đọc dữ liệu từ file có tên là‘Filename’.

- Kiểm tra xem việc mở file có thành công hay không Sau đó, sử dụng vòng lặpđể đọc từng bản ghi doanh thu từ file Sau mỗi lần đọc, thông tin về doanh thutheo tháng và năm được xuất ra màn hình.

- Sau khi đọc xong, đóng file để giải phóng tài nguyên Thông báo lỗi nếukhông thể mở file.

 Int tsokhachhang(): Thống kê tổng số khách hàng của cửa hàng

- Khởi tạo biến tongso với giá trị ban đầu là 0 Biến này sẽ được sử dụng đểđếm số lượng khách hàng.

Trang 15

- Kiểm tra xem danh sách liên kết có rỗng không Nếu rỗng, trả về 0 vì khôngcó khách hàng nào.

- Sử dụng con trỏ tmp để duyệt qua danh sách liên kết từ đầu đến cuối.Trong mỗi vòng lặp, tăng giá trị tongso lên 1 và di chuyển con trỏ tmp sangphần tử tiếp theo.

- Trả về giá trị của tongso sau khi đã đếm được số lượng khách hàng trong danhsách liên kết.

 Int tongsoncc(): Thống kê tổng số nhà cung cấp của cửa hàng- Khởi tạo biến sum với giá trị ban đầu là 0

- Kiểm tra xem danh sách liên kết có rỗng không Nếu rỗng, trả về 0.- Sử dụng con trỏ tmp để duyệt qua danh sách liên kết từ đầu đến cuối.Trong mỗi vòng lặp, tăng giá trị sum lên 1 và di chuyển con trỏ tmp sang phầntử tiếp theo.

- Trả về giá trị của sum sau khi đã đếm được số lượng nhà cung cấp trong danhsách liên kết.

Trang 16

CHƯƠNG 4: THIẾT KẾ VÀ CÀI ĐẶT CHƯƠNG TRÌNH4.1 Khai báo các cấu trúc dữ liệu

Hình 1: Khai báo các thư viện

Hình 2: Khai báo cấu trúc cho thú nuôi

Hình 3: Khai báo cấu trúc cho mặt hàng

Hình 4: Khai báo cấu trúc cho thời gian trong thống kê

Trang 17

Hình 5: Khai báo cấu trúc kho hàng

Hình 6: Khai báo cấu trúc hóa đơn nhập

Hình 7: Khai báo cấu trúc hóa đơn mua

Hình 8: Khai báo cấu trúc khách hàng

Trang 18

Hình 9: Khai báo node khách hàng

Hình 10: Khai báo cấu trúc nhà cung cấp

Hình 11: Khai báo node nhà cung cấp

Hình 12: Khai báo cấu trúc thống kê

Hình 13: Khai báo node thống kê

4.2 Xây dựng các chương trình

 Void menuTong(): Giao diện chính

- Quản lý hóa đơn nhập- Quản lý hóa đơn mua- Quản lý kho- Quản lý khách hàng- Quản lý nhà cung cấp

Trang 19

- Thống kê

Hình 14: Code giao diện chính

Hình 15: Giao diện chính

Trang 20

 Void menuhdn(): Quản lý hóa đơn nhập- Nhập hóa đơn mua hàng- In hóa đơn nhập hàng

- Ghi thông tin hóa đơn nhập vào file- In thông tin hóa đơn nhập từ file

Hình 16: Code menu hóa đơn nhập

Ngày đăng: 24/06/2024, 17:29

Xem thêm: