Thông tin c 3n quản lý của mỗi sản phẩm văn phòng phẩm bao g ôm: H1 Mã số sản phẩm O Tên sản phẩm O Hãng sản phẩm [1 Xuất xứ sản phẩn O Giá sản phẩm Yêu câi chức năng chính - Thêm thông
Trang 1
ĐẠI HỌC CÔNG NGHỆ THÀNH PHỐ HỒ CHÍ MINH KHOA CÔNG NGHỆ THÔNG TIN
BAO CAO MON HOC NGON NGU LAPTRINH C
CHUONG TRINH QUAN LY VAN PHONG PHAM
LU TRAN TAN PHUC - 21DTHEI - 2180602791 NGUYEN THI HONG VI - 2IDTHEI - 2180609157 HỒ ĐÌNH HUY - 2IDTHEI - 2180607549 NGUYEN NGO TRUC CHI - 2IDTHEI - 2180607325
NGUYEN CONG QUY - 21DTHE1 - 2180603884
GV: TRAN MINH THAI
Trang 2I.1
1.2
1.3
1.4
PHANI) THÔNG TIN ĐỀTÀI
Tên đềtài
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 3n quản lý của mỗi sản phẩm văn phòng phẩm bao g ôm:
H1 Mã số sản phẩm
O Tên sản phẩm
O Hãng sản phẩm
[1 Xuất xứ sản phẩn
O Giá sản phẩm
Yêu câi 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á tí Ân tang dh
- 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 từ A đến Z
- Tìm kiếm văn phòng phẩm theo tên sản phẩm
- Thay đổi giá tí 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ân 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
IS Ngôn ngữ lập trình
- Ngôn ngữ C trên công cụ Dev-C++
Trang 3II 1 Cấu trúc dữ liệu
PHẦN II MÔ TẢ CẤU TRÚC DƯ LIỆU VÀ HÀM XỬ LÝ
II.1.1 Văn Phòng Phẩm (Vanphong)
Stt Thuộc tinh Kiểu dữ liệu Mi Ân giá trị Y nghĩa
1 Maso Int [0 100] Mã số sản phẩm
2 Ten Char 20 ký tự Tên sản phẩm
3 Hang Char 20 ký tự Hãng sản phẩm
4 Xuatxu Char 20 ký tự Xuất xứ sản phẩm
5 Gia Int [5000 100000] Giá sản phẩm
ttvanphongpham Maso;
Ten[21];
Hang[ 21];
XuatXu[ 21];
Gia;
} Vanphong;
1 void HienThiMenu() Hàm Hiển thị danh sách menu
2 int Chonmenu() Hàm chọn chức năng của menu
3 void hienthiQ Hàm hiển thị tên cột
4 Vanphong nhap(Vanphong “ds, int slsp) Ham nhập thông tin văn phòng
phẩm
5 | Void xuat(Vanphong vpp) Hàm xuất thông tin của văn
phòng phẩm
6 Vanphong SapXep(Vanphong &a, Hàm thay đổi vị trí của 2 giá trị
Vanphong &b) truy Ân vào
7 Void SapXepTienTangDan(Vanphong a[], | Hàm sắp xếp danh sách văn
int n) phòng phẩm theo giá tăng dần
S Void SapXepTienGiamDan(Vanphong a[|, | Hàm sấp xếp danh sách văn
int n) phòng phẩm theo giá giảm dần
9 Void SapXeptheomasp(Vanphong a[], int | Ham sắp xếp danh sách văn
n) phòng phẩm theo mã sản phẩm
từ nhỏ đến lớn
10 Void xuataz(Vanphong “ds, int n) phòng phẩm theo bảng chữ cái Hàm sắp xếp danh sách văn
Trang 4
tw A đến Z
11 Void searchName(Vanphong *ds, int slsp) | Ham tim kiém san phẩm theo tên
sản phẩm
12 | Intcheckms(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 đổi giá của văn phòng k) phẩm có trong danh sách
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) danh sách Hàm bán một sản phẩm có trong
Trang 5PHAN II) MO TA XU LY
III.1 Hiển thị menu cho chương trình
H Mục đch: Hiển thị các chức năng của chương trình theo dang số
H Nguyên mẫu ham: void HienThiMenu()
O Dw liéu vào: Không có
H Dữ liệu ra: Hiển thị lên màn hình danh sách các chức năng
O Cai dat ham:
printf (
printf (
printf (
printf (
printf
90511187
printf (
printf (
printf (
printf (
tas
printf
printf
III.2 Chon menu
O Muc đích: Yêu c3 người dùng nhập số để chọn chức năng trên menu
O Nguyén mau ham: int Chonmenu()
O Dw liéu vao: Khéng cé
O De liéu ra: Tra v €gid tri s@ tương ứng với chức năng menu do người dùng nhập: chon
O Cai dat ham:
TT
chon;
H1enThiMenu() ;
9M 0n
(chon < C bo No lung
(chon < chon »>
chon;
Trang 6II.3 Hiển thị tên các thông tin văn phòng phẩm
O 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
O Nguyén mau ham: void hienthi()
O Dw liéu vao: Khéng cé
H Dữ liệu ra: Hiển thị tên thông tin của văn phòng phẩm
O Cai dat ham:
hienthi()
printf (
IIH.4 Nhập thông tin một văn phòng phẩm
O _Nguyén mau hàm: Vanphong nhap(Vanphong *ds, int slsp)
O De liéura: Théng tin sản phẩm được lưu trong ds
O Cai dat ham:
Vanphong nhap(Vanphong *ds,
Vanphong vpp;
( ,&vpp Maso sh(stdin);
printf
j
ea —
printf
gets(vpp.Ten);
printf
p.Hang) ;
0.XuatXu) ;
&vpp.G1a) ; checkms(ds,slsp, vpp.Maso) ;
Trang 7II.Š Xuất thông tin của sản phẩm văn phòng phẩm
O Mục ốch: Xuất thông tin của sản phẩm đã nhập lên màn hình
O Nguyén mau ham: void xuat(Vanphong vpp)
O Dw liéu vào: vpp
O De liéura: Théng tin sản phẩm được xuất ra màn hình
O Cai dat ham:
xuat(Vanphong vpp)
II.6 Sắp xếp lại vị trí giá trị truy Šn vào
H Mục đích: Thay đổi vị trí của hai giá trị truy th vào
O Nguyén mau ham: Vanphong SapXep(Vanphong &a,Vanphong &b)
L_Dứữ liệu ra: Không có
O Cai dat ham:
Vanphong SapXep(Vanphong &a,Vanphong &b)
4
5
Vanphong t;
h4 vị
a = b;
II.7 Sắp xếp danh sách văn phòng phẩm theo giá tiên tăng dần
H Mục đích: Sắp xếp lại danh sách văn phòng phẩm theo thứ tự tăng d3n của giá tiên sản phẩm
O Nguyén mau ham: void SapXepTienTangDan(Vanphong a[], int n)
O Dw liéu vao: dssp, slsp
O Dé liéu ra: Hién thị danh sách văn phòng phẩm đã được sắp xếp theo giá tiên tăng dần
O Cai dat ham:
Trang 8xuat(a[i]);
II.§ Hàm sắp xếp danh sách văn phòng phẩm theo giá ti giảm dần
O Mục đích: Sắp xếp giá ti của các sản phẩm trong danh sách theo thứ tự giá ti giảm dần
O Nguyén mau ham: void SapXepTienGiamDan(Vanphong af], int n)
O Dv liéu vao: dssp, slsp
O Dé liéu ra: Gid tif cia cdc san pha trong danh sách được sắp xếp theo thứ tự giam d‘% va in ra man hình
O Cai dat ham:
SapXepTienGiamDan(Vanphong a[],
3 J <n; jtt) (a{i].Gia < a[j].Gia) SapXep(a[i],a[j]);
Trang 9II.9 Sắp xếp danh sách theo mã số sản phẩm
H 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 mẫu hàm: void SapXeptheomasp(Vanphong a[ ], 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
Oo
Oo
Oo
O Cai dat ham:
; ]<n; ]J++)
(a[i].Maso > a[j].Maso)
SapXep(a[i],a[j]);
II.10 Sắp xếp danh sách theo tên sản phẩm từ A tới Z
H Mục đích: Sắp xếp danh sách văn phòng phẩm theo tên sản phẩm
H_Nguyên mau ham: void xuataz(Vanphong* ds, int n)
O _Dữ liệu vào: dssp, slsp
H Dữ liệu ra: Danh sách sản phẩm đã được sắp xếp theo tên sản phẩm
O Cai dat ham:
xuataz(Vanphong
IIH.11 Tìm kiếm văn phòng phẩm theo tên sản phẩm
O 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
O Nguyén mẫu hàm: searchName(Vanphong *ds, int sÌsp)
Trang 10O _Dứữ liêu vào : dssp, slsp
H 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”
O Cai dat ham:
hienthi(); tra mã số có trùng (1= 9; 1< slsp; 1++){ với mã số sản
xuat(ds[i]); danh sách hay
(timSP == 0) int
printf
checkms(Vanphong a[ |, int n, int x)
O Cai dat ham:
hong a[],
Ha
IIH.13 Hàm thay đổi giá ti ê của 1 sản phẩm
O Muc dich: Thay đổi giá tỉ của | san phẩm
Trang 11O _Nguyén mau ham: void thaydoi(Vanphong *dssp, int slsp, int k)
H_Dữ liệu ra: Thay đổi giá tỉ của sản phẩm và lưu lại vào mảng danh sách sản phẩm
H Cai dat ham:
thaydoi(Vanphong dssp[],
giamoi;
(checkms(dssp,slsp,k)
{
(k == dssp[i].Maso)
1
printf (
scanf( » &giamoi) ;
dssp[i].Gia = giamoi;
III 14 X6a văn phòng phẩm theo mã số sản phẩm
O 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
H_ Nguyễn mẫu ham: void XoaSanPhamTheoMa(Vanphong dssp[], int &slsp, int k)
[1 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 ma
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””
O Cài đặt hàm:
Trang 12
checkms (d
printf
IIH.15 Bán sản phẩm văn phòng phẩm
Oo
Oo
Oo
Oo
Oo
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[], int n)
Dữ liệu vao: dssp, slsp
Der liéu ra: Xuat ra man hinh s@ tit mà người dùng c3n thanh toán Cai dat ham:
Trang 13le c
(kt ==
printf
printf scanf(
tien =
a j
printf
kt ==