Thông tin cần quán lý của mỗi sản phâm văn phòng phẩm bao gôm: ® Mã số sản phâm se Tên sản phẩm ¢ Hang san pham ® Xuất xứ sản phẩm «Giá sản phẩm Yêu cầu chức năng chính - Thêm thông tin
Trang 1
DAI HQC CONG NGHE THANH PHO HO CHi MINH KHOA CONG NGHE THONG TIN
BAO CAO MON HOC NGON NGU LAP TRINH C
CHUONG TRINH QUAN LY VAN PHONG PHAM
LU TRAN TAN PHUC - 21DTHE1 - 2180602791 NGUYEN THI HONG VI - 21DTHE1 - 2180609157
HO DINH HUY - 21DTHE1 - 2180607549 NGUYEN NGO TRUC CHI - 21DTHE1 - 2180607325 NGUYEN CONG QUY - 21DTHE1 - 2180603884
GV: TRAN MINH THAI
Trang 2LI
L2
L3
L4
_ TP-HCM, thang 11/2021 — -
PHANI) THONG TIN DE TAI Tén dé tai
Chương trình quản lý
Nội dung
Viết chương trình quản lý sản phâm văn phòng phẩm Thông tin cần quán lý của mỗi sản phâm văn phòng phẩm bao gôm:
® Mã số sản phâm
se Tên sản phẩm
¢ Hang san pham
® Xuất xứ sản phẩm
«Giá sản phẩm
Yêu cầu chức năng chính
- Thêm thông tin một sản phẩm vào danh sách các văn phòng phẩm
- Hién thị danh sách các thông tin các văn phòng phẩm
- Sắp xếp các văn phòng phẩm theo giá tiền tăng dần
- Sắp xếp các văn phòng phẩm theo giá tiền giảm dân
- Sắp xếp các văn phòng phẩm theo mã số sản phẩm
- Sắp xếp các văn phòng phẩm theo chữ cái tir A đến Z
- Tìm kiếm văn phòng phẩm theo tên sản phẩm
- Thay đổi giá tiền theo mã sản phẩm
- Xóa sản phâm theo mã số sản phẩm
- Mua một sản phâm theo mã số sản phẩm
Yêu cầu khác
- Các chức năng được thê hiện dạng menu số cho phép người dùng chọn khi chạy chương trình
L5 Ngôn ngữ lập trình
- Ngôn ngữ C trên công cụ Dev-C++
Trang 3IL 1 Cau tric dir ligu
PHAN IT) MO TA CAU TRUC DU LIEU VA HAM XU LY
II.1.1 Văn Phòng Phẩm (Vanphong)
Stt | Thuộc tính Kiểu dữ liệu Miễn giá trị Y nghĩa
I Maso Int [0 100] Mã sô sản phẩm
2 Ten Char 20 ky ty Tén san pham
3 Hang Char 20 ky ty Hang san pham
5 Gia Int [5000 100000] Giá sản phẩm
ttvanphongpham
Maso;
Ten[21];
Hang[ 21];
XuatXu[ 21];
G1a;
Vanphong;
Stt Mau ham Chức năng
1 | voidHienThiMenuQ Hàm Hiên thị danh sách menu
2 int Chonmenu() Hàm chọn chức năng của menu
4 'Vanphong nhap(Vanphong *ds, int slsp) Hàm nhập thông tin văn phòng
pham
5 Void xuat( Vanphong vpp) Ham xuat thông tin của van
phòng phẩm
6 Vanphong SapXep(Vanphong &a, Hàm thay đổi vị trí của 2 giá trị
Vanphong &b) truyén vao
7 Void SapXepTienTangDan(Vanphong a[], | Hàm sắp xêp danh sách văn
int n) phong pham theo gia tang dan
8 Void SapXepTienGiamDan(Vanphong a[], | Ham sap xép danh sach van
int n) phong pham theo gia giam dan
9 Void SapXeptheomasp(Vanphong a[], int | Ham sap xép danh sach van
n) phong pham theo m4 san pham
từ nhỏ đến lớn
10 Void xuataz(Vanphong *ds, int n) Ham sắp xếp danh sách văn phòng phẩm theo bảng chữ cái
Trang 4
tir A dén Z
II Void searchName(Vanphong *ds, int slsp) | Ham tim kiém san pham theo tén
san pham
12 Int checkms(Vanphong a[], int n, int x) Hàm kiêm tra mã sô có trùng với
mã sô sản phẩm tồn tại trong danh sách hay không
13 Void thaydoi(Vanphong *dssp, int slsp, int | Ham thay d6i giá của văn phòng k) pham co trong danh sach
14 Void XoaSanPhamTheoMa( Vanphong Hàm xóa sản phâm trong danh
*dssp, int &slsp, int k) sách theo mã sản phẩm
15 Void banhang( Vanphong af], int n) Hàm bán một sản phẩm có trong danh sách
Trang 5PHAN IID MO TA XU LY
III.1 Hién thi menu cho chuong trinh
© Muc dich: Hién thị các chức năng của chương trình theo dang số
¢ Nguyén mau ham: void HienThiMenu()
® Dữ liệu vào: Không có
© - Dữ liệu ra: Hiền thị lên màn hình danh sách các chức năng
® Cai dat ham:
printf (
printf (
printf (
printf (
printf (
printf (
printf (
printf (
printf (
printf (
printf (
printf (
printf (
HL.2 Chọn menu
© Mục đích: Yêu cầu người dùng nhập số để chọn chức năng trên menu
¢ Nguyén mau ham: int Chonmenu()
® - Dữ liệu vào: Không có
® - Dữ liệu ra: Trả về giá trị số tương ứng với chức năng menu do người dùng nhập: chon
¢ Cai dat ham:
Chonmenu()
chon;
H1enThiMenu() ;
printf (
) printf(
chon;
Trang 6III.3 Hién thi tên các thông tin văn phòng phẩm
Mục đích: Hiền thị danh sách văn phòng phẩm theo dạng cột và hiển thị tên cột cho người dùng dê sử dụng
Nguyên mẫu hàm: void hienthi()
Dữ liệu vào: Không có
Dữ liệu ra: Hiền thị tên thông tin của văn phòng phẩm
Cai dat ham:
hienthi()
printf
printf (
III.4 Nhập thông tin một văn phòng phẩm
Mục đích: Nhập thông tin của sản phâm : Mã số, Tên, Hãng, Xuất xứ, Giá Nguyên mẫu ham: Vanphong nhap(Vanphong *ds, int slsp)
Dữ liéu vao: ds, slsp
Dữ liệu ra: Thông tin san pham được lưu trong ds
Cai dat ham:
Vanphong nhap(Vanphong *ds,
Vanphong vpp;
kt;
awe l
eckms(ds,slsp,
kt =
printf
:
kt =-=
printf
Trang 7IL5 Xuất thông tin của sản phẩm văn phòng phẩm
IIL6 Sắp xếp lại vị trí giá trị truyền vào
Mục đích: Xuất thông tin của sản phẩm đã nhập lên màn hình
Nguyên mẫu hàm: void xuat(Vanphong vpp)
Dữ liệu vào: vpp
Dữ liệu ra: Thông tin sản phâm được xuất ra màn hình
Cai dat ham:
xuat(Vanphong vpp)
¢ Muc dich: Thay đổi vị trí của hai giá trị truyền vào
e Nguyén mau ham: Vanphong SapXep(Vanphong &a,Vanphong &b)
® Dữ liệu vào:a,b
® - Dữ liệu ra: Không có
® Cài dat ham:
Vanphong SapXep(Vanphong &a,Vanphong &b)
Vanphong t;
t = a;
a = b;
III.7 Sắp xếp danh sách văn phòng phẩm theo giá tiền tăng dan
Mục đích: Sắp xếp lại danh sách văn phòng phẩm theo thứ tự tăng dần của giá tiền sản phẩm
Nguyên mau ham: void SapXepTienTangDan(Vanphong al], int n)
Dữ liệu vao: dssp, slsp
Dir liéu ra: Hién thị danh sách văn phòng pham da duoc sap xép theo giá tiền tăng dan
Cai dat ham:
Trang 8
IL§ Hàm sắp xếp danh sách văn phòng phẩm theo giá tiền giảm dần
" Muc dich: Sap xếp giá tiền của các sản phẩm trong danh sách theo thứ tự giá tiền giảm dân
“ Nguyên mẫu hàm: void SapXepTienGiamDan(Vanphong a[], int n)
" Dg liéu vao: dssp, slsp
" Dữ liêu ra: Gia tiền của các sản phâm trong danh sách được sắp xếp theo thứ tự giảm dân và 1n ra màn hình
=" Cai dat ham:
SapXepTienGiamDan(Vanphong a[],
n - 1; i++)
+1; j <n; jtt) (a[i].Gia < a[j].Gia) SapXep(a[i],a[j]);
Trang 9IIL9 Sắp xếp danh sách theo mã số sản phẩm
® Mục đích: Sắp xếp danh sách văn phòng phẩm theo mã sản phẩm đã nhập
¢ Nguyén mau ham: void SapXeptheomasp(Vanphong al], int n)
® - Dữ liệu vào: dssp,slsp
® - Dữ liệu ra: Danh sách sản phâm đã được sắp xếp theo mã sản phẩm Cài đặt hàm:
SapXeptheomasp(Vanphong a[],
` (a[i].Maso > a[j].Maso)
SapXep(a[i],a[3]);
IIIL.10 Sắp xếp danh sách theo tên sản phẩm từ A toi Z
® Mục đích: Sắp xếp danh sách văn phòng phẩm theo tên sản phẩm
¢ Nguyén mau ham: void xuataz(Vanphong* ds, int n)
® - Dữ liệu vào: dssp, sỈsp
® - Dữ liệu ra: Danh sách sản phâm đã được sắp xếp theo tên sản phẩm Cai dat ham:
III.11 Tìm kiếm văn phòng phẩm theo tên sản phẩm
® Mục đích: Tìm kiếm văn phòng phẩm trong danh sách theo tên của sản phẩm
¢ Nguyén mau ham: searchName(Vanphong *ds, int slsp)
Trang 10Dữ liéu vao : dssp, slsp
Dữ liệu ra; Xuất ra màn hình thông tin sản phẩm cần tìm hoặc xuất ra màn hình
“Khong co san pham trong danh sach”
Cai dat ham:
"` 111.12 Kiém tra
printf ( 7 1 2Ä scanf ( Pe Muc dich: Kiem
hienthi(); tra mã sô có trùng
(i = @; i < slsp; i++){ với mã sô sản
xuat(ds[1]); danh sách hay
(timSP == @) int
printf (
checkms(Vanphong a[ ], int n, int x)
Dữ liệu vao: dssp, slsp, x
Dữ liệu ra: Trả về giá trị l hoặc -I
Cai dat ham:
checkms(Vanphong a[ ],
III.13 Hàm thay đổi giá tiền của 1 sản phẩm
e©_ Mục đích: Thay đổi giá tiền của l sản phẩm
10
Trang 11
Nguyén mau ham: void thaydoi(Vanphong *dssp, int slsp, int k)
Dữ liêu vao: dssp, slsp, k
Dữ liệu ra: Thay đối giá tiền của sản phâm và lưu lại vào mảng danh sách sản phâm
Cai dat ham:
thaydoi(Vanphong dssp[], s1sp,
giamol ;
(checkms (dssp,s1sp,k) ==
l
{
1 ¡ 1 < Slsp; 1++
(k == dssp[i].Maso) printf (
scanf( „ &giamol);
dssp[i].Gia = giamoi;
printf (
III 14 X6a van phòng phẩm theo mã số sản phẩm
Mục đích: Xóa sản phẩm có trong danh sách văn phòng phâm theo mã số sản phẩm
Nguyễn mẫu hàm: void XoaSanPham TheoMa(Vanphong dssp[] int &slsp, int k)
Dữ liệu vào: dssp, sÏsp, k
Dữ liệu ra: Xuất ra màn hình danh sách văn phòng phẩm với sản phẩm mang mã
số bằng với k đã bị xóa, nêu ngược lại xuất ra màn hình “Ma san pham khong co trong danh sach”
Cai dat ham:
11
Trang 12checkms(dssp,slsp
III.15 Bán sản phẩm văn phòng phẩm
® Mục đích: Bán một sản phẩm có trong danh sách
® Nguyễn mâu hàm: void banhang(Vanphong a[ ], mt n)
® - Dữ liệu vào: dssp, sÏsp
® - Dữ liệu ra: Xuất ra màn hình số tiền mà người dùng cần thanh toán
e Cai đặt hàm:
12