You are on page 1of 12

ĐẠ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
I, Phân công công việc

Mức độ hoàn
STT Họ và tên MSSV Email Phân công công việc Note
thành
1, Tìm kiếm sản
phẩm theo kích
thước
2, Cập nhật số lượng
Anh.NT213804@sis.hust. một sản phẩm mỗi Còn một số
1 Nguyễn Tuấn Anh 20213804 75%
edu.vn khi có thao tác bán, phần bị thiếu
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.
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 đề,
Kien.LT210497@sis.hust. Tác giả, Năm xuất Còn một số
2 Lê Trung Kiên 20210497 75%
edu.vn bản, Loại sản phẩm. phần bị thiếu
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
1, Tính toán doanh
thu và lợi nhuận của
cửa hàng tại thời 1,Chưa hoàn
điểm hiện tại thành phần

20214127 Tuan.NA214127@sis.hus 2, Thiết kế giao diện giao diện đồ


3 Nguyễn Anh Tuấn 80%
t.edu.vn đồ họa họa
3, Viết báo cáo mô 2, Hoàn thiện
tả hoạt động, phân lại phần code
tích dữ liệu và triển
khai hệ thống.
II. Nội dung báo cáo

1, 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ách và đĩ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

Hướng Hướng đối tượng.


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.
Cá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.


- 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


Lớp Thuộc tính/ Access modifier Kiểu dữ liệu
Phương thức
Loai San Pham, Int
nam xuat ban.
TuaDe, TacGia, string
nhaxuatban, kho
San Pham sach. public
Giathanhnhap,gia Long long
hanhban.
Dungluong, Long long
thoiluong
Trang Int
Sach, dia public Vector
Doanh thu, loi static
nhuan
themSPsach
Cua hang ( kế themSPdia
thừa lớp San printS
Pham) printD
public Void
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


Hì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.

Thiết kế giao diện đồ họa


5, Triển khai hệ thống

5.1, Nhập sản phẩm


Hì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


5.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.
• 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


Hì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


Hì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

You might also like