Báo cáo đồ án Giải thuật và lập trình. Đề tài :Quản lý vật tư. Đây là tài liệu báo cáo đồ án của nhóm sinh viên khoa Công nghệ thông tin, đại học bách khoa Đà Nẵng , nội dung của đề tài như sau:Thông tin quản lý vật tư gồm : Mã vật tư, tên vật tư, loại vật tư, đơn vị tính, ngày nhập ( ngày, tháng, năm), số lượng, đơn giá, thành tiền. Bổ sung các chức năng sau: +Xóa các vật tư có số lượng lớn hơn 100. +Tính thành tiền (TT) = số lượng đơn giá và được giảm theo quy ước: Giảm25% nếu số lượng>200 10% nếu 100100 8.Tính thành tiền loại vật tư 9.In thống kê Để thực tiến hành xây dựng hàm : Int dem(FILE *f) để đếm số loại vật tư file f Khai báo biến line[100], biến đếm d=0 kiểu int.; While(fgets(line,100,f) !=NULL) tăng d lên 1; Trả giá trị d; • Void luuvaomang(FILE *f, int &n) để lưu liệu file vào mảng a Khai báo biến I kiểu int; Cho i=0 đến n-1 Đọc giá trị file lưu vào a[i].ma, a[i].ten, a[i].loại, a[i].donvi, a[i].ngay, a[i].hang, a[i].sluong a[i].dongia • Void luuvaofile(ds a, int n) để lưu giá trị có mảng a vào file f Khai báo biến I kiểu int; Khai báo biến s kiểu FILE, mở file input.txt để ghi liệu; Cho i=0 đến n-1 Ghi giá trị a[i].ma, a[i].ten, a[i].loại, a[i].donvi, a[i].ngay, a[i].hang, a[i].sluong a[i].dongia vào file Đóng file; • Void hienthi(ds a, int n) để hiển thị liệu lưu mảng a hình Khai báo biến I; Cho i=0 đến n-1 In hình giá trị a[i].ma, a[i].ten, a[i].loại, a[i].donvi, a[i].ngay, a[i].hang, a[i].sluong a[i].dongia • Page Đồ án: Giải thuật Lập trình • • • • • Void them(ds &a, int &n) để thêm vật tư vào danh sách Khai báo biến i=n, x,y,z, mảng y[13] kiểu int, biến sl,dg kiểu long, s kiểu if5; n=n+1; Nhập mã lưu vào a[i].ma; Nhập tên lưu vào a[i].ten; Nhập loại lưu vào a[i].loai; Nhập đơn vị lưu vào a[i].donvi; Nhập ngày Chừng ngày nhập vào hợp lệ lưu ngày nhập vào a[i].ngay, khơng bắt nhập lại Nhập nhà sản xuất lưu vào a[i].hang; Nhập số lượng, số lượng nhỏ bắt nhập lại số lượng; Nhập đơn giá, đơn giá nhỏ bắt nhập lại đơn giá; Void timkiemngay(ds a, int n) để tìm kiếm vật tư có ngày nhập cần tìm Khai báo s kiểu if5, biến i, d=0, x, y, z, ngay[13] kiểu int; Nhập ngày cần tìm kiếm Kiểm tra xem ngày nhập vào có hợp lệ hay ko, khơng nhập lại; Cho i=0 đến n-1: a[i].ngay trùng với s d=1; Nếu d=0 in hình thơng báo “ khơng có liệu” Ngược lại Cho i=0 đến n-1, a[i].ngày trùng với s in thơng tin vật tư i; Void timkiemten(ds a, int n) để tìm kiếm vật tư có tên cần tìm Khai báo x kiểu if2, biến i, d=0 kiểu int; Nhập tên cần tìm kiếm; Cho i=0 đến n-1 a[i].ten trùng với x d=1; Nếu d=0 in thơng báo khơng tìm thấy liệu Ngược lại: cho i=0 đến n-1, a[i] trùng với x in thông tin vật tư thứ I; Void timkiemma(ds a, int n) để tìm kiếm vật tư có mã cần tìm Khai bái x kiểu if1, i, d=0 kiểu int; Nhập mã cần tìm; Cho i-0 đến n-1, a[i].ma trùng với x d=1; Nếu d=0 in thơng báo “khơng có dữu liệu” Ngược lại cho i=0 đến n-1 a[i].ma trung với x in thơng tin vật tư i; Void sapxeptang(ds &a, int n) để xếp vật tư theo số lượng tăng dần Khai báo biến i, j kiểu int; biến t1,t2,…t7 ứng với kiểu fi1, if2… if7 ; Page Đồ án: Giải thuật Lập trình Cho i=0 đến i=n-1 Cho j=i+1 đến n-1 Nếu a[i].sluong>a[j].sluong hốn đổi liệu a[i] a[j]; • Void sapxepgiam(ds &a, int n) để xếp vật tư theo số lượng giảm dần Khai báo biến i, j kiểu int; biến t1,t2,…t7 ứng với kiểu fi1, if2… if7 ; Cho i=0 đến i=n-1 Cho j=i+1 đến n-1 Nếu a[i].sluong100 Cho j=0 đến n-1: a[j-1]=a[j]; n ; i ; • Void thanhtien(ds a, int n) để tính tổng tiền tất vật tư in hình Khai báo i kiểu int; tien, t=0 kiểu long; Cho i=0 đến n-1 Nếu a[i]>200 : tien=3*a[i].sluong*a[i].dongia/4 ; Ngược lại: Nếu 100< a[i].sluong =