edu.vn 1, Thêm, sửa, xóa thông tin một sản phẩm trong cửa hàng 2, Tìm kiếm sản phẩm theo Tựa đề, Tác giả, Năm xuất bản, Loại sản phẩm... Bên cạnh đó có các chức năng như thêm sản phẩm,
Trang 1ĐẠI HỌC BÁCH KHOA HÀ NỘI
BÁO CÁO BÀI TẬP LỚN MÔN
KỸ THUẬT LẬP TRÌNH C/C++
Giảng viên hướng dẫn: Đỗ Thị Ngọc Diệp Sinh viên thực hiện: Nguyễn Anh Tuấn
Nguyễn Tuấn Anh
Lê Trung Kiên
Trang 2I, Phân công công việc
STT Họ và tên MSSV Email Phân công công việc Mức độ hoàn
1 Nguyễn Tuấn Anh 20213804 Anh.NT213804@sis.hust.
edu.vn
1, Tìm kiếm sản phẩm theo kích thước
2, Cập nhật số lượng một sản phẩm mỗi
khi có thao tác bán,
nhập kho sản phẩm
3, Vi ết báo cáo gi ới thi ệu bài toán, phân tích bài tooán.
75% Còn một số
phần bị thiếu
2 Lê Trung Kiên 20210497 Kien.LT210497@sis.hust.
edu.vn
1, Thêm, sửa, xóa thông tin một sản phẩm trong cửa hàng
2, Tìm kiếm sản phẩm theo Tựa đề, Tác giả, Năm xuất bản, Loại sản phẩm.
Hiển thị thông tin
sản phẩm ( bao gổm
cả kích thước sp ) 3,Thi ết k ế báo cáo, UML
75% Còn một số
phần bị thiếu
3 Nguyễn Anh Tuấn 20214127 Tuan.NA214127@sis.hus
t.edu.vn
1, Tính toán doanh
thu và lợi nhuận củ a
cửa hàng tại thời điểm hiện tại
2, Thiết kế giao diện
đồ họa
3, Vi ết báo cáo mô
t ả ho ạt độn g, phân tích d ữ li ệu và tri ển khai h ệ th ống
80%
1, Chưa hoàn thành phần giao diện đồ họa
2, Hoàn thiện lại phần code
Trang 31, Giới thiệu bài toán
- Bài toán của nhóm: Quản lý cửa hàng sách.
- Yêu cầu: Code 1 hệ thống quản lý các sản phẩm có trong cửa hàng, bao gồm 2 loại: các loại sáchvàđĩa nhạc Bên cạnh đó có các chức năng như thêm sản phẩm, sửa sản phẩm, xóa sản phẩm, bán sản phẩm, tính toán doanh thu, cập nhật sản phẩm có trong cửa hàng
- Bài toán được thực hiện bằng ngôn ngữ C++, chạy kiểm tra bằng compiler: Dev C++.
2, Phân tích bài toán, mô tả hoạt động, phân tích dữ liệu
2.1 Phân tích bài toán
Tính chất sử d ụng Tính k ế thừa.
Tính đa hình và trừu tượ ng.
Tính đóng gói
Các lớ p 2 lớp: Sanpham và Cua hang Trong đó, Cua
hang là lớ p con, k ế thừa các thuộc tính của
lớ p cha San Pham Lớ p Cua Hang có 2 véc
tơ sach va dia để có thể phân thành hai loại
sản phẩm riêng biệt làsách và đĩa nhạc.
Trang 4Các phương thức 1 Them san pham
2 Tim thong tin san pham
3 In thong tin danh sach san pham
4 Mua san pham
5 Tra cuu doanh thu va loi nhuan
6 Chinh sua thong tin san pham
7 Thoat
Hàm main Sử d ụng Switch – Case xử lí yêu cầu, định
hướng người dùng đến các chức năng
Các kiến thức cần sử d ụng Lập trình căn bản C++, lập trình hướng đối
tượ ng, lập trình hướ ng hàm, làm việc vớ i file,
sử d ụng switch – case.
Vấn đề Cần phân loại d ữ liệu nhậ p, sắ p xế p thành hai
loại sản phẩm là Sách và Đĩa nhạc và thực
hiện các chức năng thêm, sửa, xóa sản phẩm; tìm kiếm thông tin sản phẩm và cậ p nhật thông tin sản phẩm, doanh thu cửa hàng.
2.2. Mô tả hoạt động
- Để mô tả khái quát hơn, nhóm em xin phép đính kèm hình ảnh sau khi compile and run như hình dưới:
Hình 1 Hình ảnh sau khi Compile và Run.
Trang 5- Lúc này trong kho chưa có hàng, người dùng cần nhập các mặt hàng vào trong kho, phân chia hàng thành 2 loại (Sách và Đĩa) theo hướng dẫn
Hình 2 Hình ảnh hướng dẫn nhập thông tin
- Sau khi nhập thông tin (các thuộc tính yêu cầu theo hướng dẫn), người dùng ấn phím Enter để trở lại mục chọn chức năng.
- Sau đó người dùng nhập các số tương ứng với các chức năng để thực hiện các hoạt động
2.3. Phân tích dữ liệu
Phương thứ c
Access modifier Kiểu dữ liệu
San Pham
Loai San Pham, nam xuat ban.
public
Int
TuaDe, TacGia, nhaxuatban, kho sach.
string
Giathanhnhap,gia hanhban.
Long long
Dungluong, thoiluong
Long long
Trang 6Trang Int
Cua hang ( kế thừa lớp San
Pham)
Sach, dia public Vector Doanh thu, loi
nhuan
static
themSPsach
public Void
themSPdia printS printD inSPsach inSPdia tinhtienSach tinhtienDia
3, Thiết kế lớp (Biểu đồ lớp trong UML)
Hình 3 Thiết kế lớp trong UML
4, Thiết kế giao diện
Trang 7Hình 4 Thiết kế giao diện đơn giản
- Nhóm em thiết kế giao diện đơn giản để dễ sử dụng hơn
5, Triển khai hệ thống
5.1, Nhập sản phẩm
Trang 8Hình 5: Giao diện khi nhập sản phẩm
• Ở chức năng thêm sản phẩm, người dùng chọn loại sản phẩm cần thêm, lượng sản phẩm
đó cần thêm và nhập lần lượt thông tin của từng sản phẩm theo tiêu đề, tác giả, năm sản xuất, nhà sản xuất, giá thành nhập, giá thành bán.
• Nếu chọn loại sản phẩm là sách, thì nhập kích thước bao gồm số trang và khổ sách
Hình 6: Giao diện khi chọn nhập sản phẩm sách
• Còn nếu chọn sản phẩm là đĩa nhạc thì nhập kích thước bao gồm dung lượng đĩa và thời lượng đĩa.
Hình 7: Giao diện khi nhập sản phẩm đĩa
Trang 95.2, Tìm kiếm thông tin sản phẩm
• Ở phần tìm kiếm thông tin sản phẩm có 5 mục tìm kiếm là tìm kiếm theo tựa đề, tác giả, năm xuất bản, loại sản phẩm và tìm sản phẩm theo kích thước.
• Người nhập chọn loại thông tin cần tìm kiếm, sau đó chọn loại sản phẩm cần tìm kiếm, nhập thông tin cần tìm kiếm Sau khi nhập xong rồi bấm Enter, chương trình sẽ in ra tất cả các sản phẩm có thông tin trùng với thông tin cần tìm kiếm Nếu không tìm thấy sản phẩm nào sẽ in ra dòng “Không tìm thấy sản phẩm trùng với thông tin trên”
Hình 8: Giao diện tìm kiếm sản phẩm
• Đối với phần tìm kiếm theo kích thước, nếu người dùng chọn tìm kiếm loại sản phẩm sách thì người dùng nhập thông tin số trang và khổ sách cần tìm kiếm.
Trang 10• Còn đối với loại sản phẩm đĩa thì người dùng nhập thông tin dung lượng và thời lượng cần tìm kiếm.
5.3, In danh sách sản phẩm
Hình 9: Giao diện danh sách sản phẩm
• Sau khi chọn chức năng thứ 3 giao diện sẽ in ra danh sách về thông tin và số lượng của từng sản phẩm.
5.4, Mua sản phẩm
Trang 11Hình 10: Giao diện mua sản phẩm
• Người dùng chọn loại sản phẩm cần mua Sau đó chọn sản phẩm cần mua tương ứng với
số thứ tự của sản phẩm Sau khi chọn sản phẩm cần mua, chương trình sẽ xóa đi vị trí của sản phẩm đó đi và giá thành bán sẽ cộng vào biến doanh thu, hiệu của giá thành bán và giá thành nhập sẽ cộng vào biến lợi nhuận.
5.5, Tra cứu doanh thu và lợi nhuận.
Hình 11: Giao diện doanh thu và lợi nhuận
• Người dùng nhập chức năng này, chương trình sẽ in ra thông tin về doanh thu và lợi nhuận của cửa hàng ở thời điểm hiện tại.
5.6, Chỉnh sửa thông tin sản phẩm
Trang 12Hình 12: Giao diện chỉnh sửa thông tin sản phẩm
• Ở chức năng này người dùng có thể thực hiện thao tác sửa thông tin của một sản phẩm bất kì hoặc là xóa một sản phẩm bất kì thông qua việc chọn loại sản phẩm, vị trí của sản phẩm bạn
6 Tự đánh giá, ưu điểm – hạn chế của hệ thống
- Ưu điểm;
• Hệ thống chạy thành công, số liệu chính xác
• Dễ sử dụng nhờ các hướng dẫn nhập liệu
• Đầy đủ các chức năng yêu cầu của đề
-Hạn chế:
• Hệ thống có thể có thiếu xót (hiện tại chưa có) trong quá trình chạy Cần nhiều thời gian để sửa lỗi phát sinh trong quá trình code
• Chưa hoàn thiện được phần đồ họa