Đề tài quản lý hàng hóaGồm các chức năng: - Thêm mới hàng hóa và lưu ra file text hoặc file nhị phân - Đọc file csdl và lưu thông tin vào mảng hàng hóa có cấu trúc - Lưu mảng vào lại fil
Trang 1Đại học Công nghệ Tp.HCM
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM
Khoa Công nghê thông tin
TIỂU LUẬN
KỸ THUẬT LẬP TRÌNH
ĐÈ TÀI QUẢN LÝ NHÂN VIÊN
Ngành: Công nghê thông tin
Giảng viên hướng dẫn: Ngô Tân Khai Sinh viên thực hiện:
Phạm Minh Tâm - 2080600047 Nguyễn Quốc Hưng - 2011254596 Nguyễn Quốc Anh - 2011068944 Nguyễn Phạm Phi Hùng - 2080600022 Lớp: 20DTHD1
TP Hồ Chí Minh, 7/2021
Trang 2MỤC LỤC
• •
I Đề tài quản lý nhân viên 2
1 Phạm Minh Tâm 1.1Hàm định nghĩa dữ liệu ,Khai báo biến stuct 1.2 Hàm nhập ,xuất 1 nhân viên
1.3 Hàm nhập xuất nhân viên
2 Nguyễn Quốc Hưng 2.1 Hàm sắp xếp theo mã
2.2 Hàm tìm theo mã
2.3 Hàm xóa theo mã
3 Nguyễn Phạm Phi Hùng
3.1 Hàm thêm nhân viên
3.2 Hàm file write
3.3 Hàm chuẩn hóa 4 Nguyễn Quốc Anh
4.1 Hàm menu
4.2 Hàm main
Trang 3I Đề tài quản lý hàng hóa
Gồm các chức năng:
- Thêm mới hàng hóa và lưu ra file text hoặc file nhị phân
- Đọc file csdl và lưu thông tin vào mảng hàng hóa có cấu trúc
- Lưu mảng vào lại file
- Lưu mảng vào lại file
1 Người thực hiện: Phạm Minh Tâm
1.1 Hàm định nghĩa kiểu dữ liệu, khai báo biến kiểu struct
#include<stdlib.h>
#indude<conio.h>
#include<string.h>
#define MAX 100
void Nhaplnt(int 8sc, int X, ỉnt y, const char* str)
<
do
{
printf("%s trong khoang [%d,%d]:",str,x,y)i
scanf ("%d’*,Ãso) 7
if(!(x<«so &Ẳ so<« y)) printí ( "Ban nhap sai, xin nhap lai.\n’*)j
}while( ! (x<=so && so<= y))i
struct NV
(
char MaNV[ll]j
char TenN\/[30]j
char Chucvu[30]j
int Tuoij
}ỉ
Trang 41.2Hàm nhập ,xuất 1 nhân viên
void NhaplNV(NV Sn)
{
fflush(stdin);
prỉntí ( "\nNhap ma nhan vỉen(nhap so<lỡ): ")j ff lush(stdỉn)jgets(n.MaNV) J
prỉnt"f ( "\nNhap ten nhan vien: " )j fflush(stdín)jgets(n.TenHV) j
prỉntí("\nNhap chuc vu: ")j gets(n Chucvii) 5
prỉntí("\nNhap tưoi nhan vien:**)j scanf (’'%d”jân Tuoi)j
ChuariHoa(n.TenNV)ỉ
Ị
//=================================
void XustlNV(NV 1)
(
printf(”Vt| %-30s I X-30S I X-30S Ị 5í-2d I n.TenNV., n.Chucvu,n.Tuoi)j
)
void NhapNV(NV a[], int n)
3 í
for(int i*0ỉi<nji++)
printf ("XnNhap nhan vien thu %d:\n”,i+l)5
NhaplNV(a[i])j
- }
L )
// ==============================================================I:======= ^
void KeHgangO
printf( \n\t+ - ♦ - ♦ - ♦
-L }
//= -================= - -===== - - ========= - -========
void TieuDe()
3 {
printf("\t| %-30s I %-30s I %-30s |%s|"»
L }
//=========================================================================
void XuatNV(NV a[]j int n)
3 <
printí (”\n\t\t===== DANH SACH NHAN VIEN =====\n\n”) J
KeNgangO)
TieuDe()j
KeNgangOỉ
for(int i=0ji<nji++)
XuatlNV(a[ỉ])ỉ
KeNgang()j
- }
L }
//, - -— -
-37
38 ẸJ
39
40
41
42
43
44
45
46 L
47
48 —
49 Ẹ
51 L
Trang 52:Người thực hiện:Nguyễn Quốc Hưng
2.1 Hàm sắp xếp theo mã
2.2 Hàm tìm theo mã
2.3 Hàm xóa theo mã
void SapXepTheoMa(NV a[], int n)
{
NV tempỉ for(int i*0ji<nji++) for(int j<njj*+)
ií (strcmp(a[i]-MaNV, a[j].MaNV) > 0) { ' ■ .
temp = a[i]j a[i] = a[ jỊí a[j] = tempí
}
{
for(int i=0ji<n;i**)
{
int leít = 0, right = n-1, midj while(left <- right)
mid = (left ♦ right)/2j
return midj i-í (strcmp(a[mid] -MaNV,fns)<0) left = mid+li
else
right « mid -lj return -lj
Ị }
t ỉ
Trang 6voỉd XoaTheoMa(NV a[],int &n,const char* ms)
] { int
for(int i=e ji<nji++)
] { ’
if (strcmp(a[i].MaNV ,ms)“=e)
ỉ {
<f++i
printf("\nDa xoa hang hoa %d co ma la %s",i+l,ms);
ó” J
- }
- r
H(d-e) printí ("\nHang hoa co ma %s khong ton tai",ms)ỉ
3:Người thực hiện :Nguyễn Phạm Phi Hùng
3.1 Hàm file write
3.2 Hàm thêm nhân viên
(
FILE *f = fopen(filename, "wt”) }
if(t^-NƯLL)
( r ,
printf("\n Khong mo duoc -file")j
return j
}
ípríntt (f, “%d\n"Jn}j
for(ịnt ĩ=0ji<njĩ ++ )
(
fprintf (f,"X-10S \t X-30S \t X-30S \t %-2d \n”,
a[i].MaNV, a[i].TenNV, a[i].Chucvu, a[i].Tuoi)j
■í
for(int i=njỉ>kjì )
(
a[ỉ] - ati-l]í
> ri
n++i
)
fcbwe(f);
printí ( "\nDa ghi thanh cong M )i
Trang 73.3 Hàm chuẩn hóa
ĩ1
int
n-strlen(c)j
}
Trang 84:Người thực hiện :Nguyễn Quốc Anh
4.1.Hàm menu
(
printf ("Vtl Nhap thong tin nhân vien\n")j
prỉntf("\t2 Xuat thong tỉn\n ,r );
printf("\t3, Sap xep theo ma nhan vien\n");
printf("\t4 Tim kiem theo ma nhan vỉen\n")i
printf("Vt5 Xuat ra tileXn - ))
prỉntf ("\t6 Them Nhan vĩen\n“);
printí ("\t7, Xoa 1 nhan vỉen theo ma\n")j
printf ("\to Thoat chuông trinh\n'‘)i
prinH("\t====================\ji")j
printf (”\t\t0an chon chuc nang; scanf("%cỉ"j Schon)i
}
jf /•
Trang 94.2 Hàm main
Trang 10int maỉn( )
{
KV a[HAX]j
int nj
int choHídíkínaiTígỉa;
do{
printf ("\fiNhap so luông Nhan vien: “)j scaní ( "%d 1 *, n ) J
}while(n
<-whỉle(true)
{
Menu(chon)j
{
case 1:
prỉntí ( "\nBan da chon nhap thong tin nhan vien!")j NhapNV(aỊn)i
prỉntf (“\nBan da nhap thanh cong!‘')j
daNhap = truej printí ( "\nBam phim bat ky de tiep tticí")ỉ
®etch()j
break í
case 2
if (daNhap )
{ printí ("\nBan da chon xuat DS nhan vienĩ")í
XiiDtNV{a,n)j }else{
printt ("\nNhap thong tin nhan vien truocỉ!ỉ")ỉ
■} .
printí("\nBam phim bat ky de tiep tuc!")i
getchòi
break;
case 3:
if (daNhap){
XuatNV(ajn) i }eỉse{
printí ("\nNhap thong tin nhan vien truoc ! ĩ“)j
}
getchOi
break j
Trang 11case 4;
ỉf( daNhap){
printí (“\nNhap ma can
ff lush(stdin)ỉ gets(ms);
k =T imTheoMa (a, n , ms)í
if(k == -1) prỉntí("\nKhong tim thay ma tren!“)j
elìe(
printf("Ten co ma tren la:\n”)j\
»tlNV(a[k]ỈJ
I 7 eỉse í , , ,
printí ("\nNhap thong nhan vien truoc!!!”)j
getch()j
break5
if(daNhap){
FileWrỉte( "Nhanvien.txt"fa,n)ị
}else {
printí ("\nNhap thong tin nhan vien truoc!!!")j getchQi
break;
if (daNhap){
NV
X-Nhaplnt(k, 1, n+1, "\n Nhap vi tri can them: k“)i k-k-lj
NhaplNV(x)i
ThemNhanVieníaín, Xjk)ỉ
XuatNV(ajii) j
}else[
printt(“\nNhap thong tin nhan vien truoc!!!")j Ịgetchõi
Trang 12case 7:
XúatNV(a>n) j
príntf ( "\nNhap nia hang hoa can xoa: ")j 5tanf ( "%5 ”,)i
XoaTheoMa(a,n,ms) i
XuatNV(a,n)í
}else{
printf ("XnNhap thong tin nhan vien truoc!!!“);
■ I I I }getGh()j
break;
case 0;
printf ( "\nBan da chon thoat chuông trình!'"); getch(j;
return 0;
default :
printf ( "\nKhong co chuc nang nay! 1 ’);
printf ( "\nBam phim bat ky de tiep tuc!")}
getch()i
break;
printf ( "\n\n\n\n\n\n\n" )ỉ
return e;
■ }
II/KẾT QUẢ
Trang 13Xlhap so luông Nhan vĩen: 4
1 Nháp thong tin nhan vĩen
2 Xuat thong tin
3 Sap xep theo ma nhan vien
5 Xuat ra fĩle
6 Them Nhan vien
7 Xoa 1 nhan vien theo ma
0 Thoát chuông trinh
Ban chon chuc nang: 1
Ban da chon nhap thong tin nhan vien!
\lhap nhan vien thu 1:
\lhap ma nhan vien(nhap so<10): 19283748
Ihap ten nhan vien: NGUYÊN QUOC HUNG
\lhap chuc vu: CHU TICH
\lhap tuoi nhan vien:70
\lhap nhan vien thu 2:
\lhap ma nhan vien(nhap so<10): 19384758
\lhap ten nhan vien: PHAM MINH TAM
\lhap chuc vu: GIAM DOC
\lhap tuoi nhan vien:60
Trang 14a
Tieu
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
+ -+ -1 Ma nhan vien
- + - +
-1 Ten nhan vien 1 Chuc vu
| Tuoi 1
1 19384758 1 Pham Minh Tam 1 GIAM DOC 1
60
1 10293845
+ -F - -1 -+ -1 Nguyên Pham Phi Hung 1 NHAN VIEN
1 18
Nhap nhan vien thu 3:
Nhap ma nhan vien(nhap so<10): 19283748
Nhap ten nhan vien: PHAN QUOC ANH
Nhap chuc vu: TRUÔNG PHONG
Nhap tuoi nhan vien:50
Nhap nhan vien thu 4:
Nhap ma nhan vien(nhap so<10): 10293845
Nhap ten nhan vien: NGUYÊN PHAM PHI HUNG
Nhap chuc vu: NHAN VIEN
Nhap tuoi nhan vỉen:18
Ban da nhap thanh cong!
Bam phim bat ky de tiep tuc!
================== MENU ==================
1 Nhap thong tin nhan vien
2 Xuat thong tin
5 Xuat ra file
Trang 15===== DANH SACH NHAN VIEN =====
1 Ma nhan vien 1 Ten nhan vien ị Chuc vu |T UOĨ 1
1 10293845 1 Nguyên Pham Phi Hung 1 NHAN VI EN 1 18
1 19283748 1 Pham Quoc Anh 1 TRUÔNG PHONG 1 se 1
1 19283748 1 Nguyên Quoc Hung 1 CHU TICH 1 70 1
1 19384758 1 Pham Minh Tam 1 GIAM DOC 1 60 1
Ban chon chuc nang: 4
dhap ma can tim:19283748
ren co ma tren la:
I 19283748 I Pham Quoc Anh I TRUÔNG PHONG I 50 |_
— MENU ——————
1 Nhap thong tin nhan vien
2 Xuat thong tin
3 Sap xep theo ma nhan vien
4 Tỉm kỉem theo ma nhan vỉen
5 Xuat ra tile
6 Them Nhan vien
7 Xoa 1 nhan vỉen theo ma
0 Thoat chuông trinh
Ban chon chuc nang: 5
Da ghi thanh cong
Ban chon chuc nang: 6
Nhap vỉ tri can them: k trong khoang [1,5]:1
Ihap ma nhan vien(nhap so<10) : 10293849
Ihap ten nhan vien: CON CAU XIN
Ihap chuc vu: NHAN VIEN
Ihap tuoỉ nhan vien:19
===== DANH SACH NHAN VI EN =====
1 Ma nhan vien 1 Ten nhan vien 1 Chuc vu |Tuoỉ|
Trang 17Khong co chuc nang nay!
Bam phim bat ky de tiep tuc!
MENU —
1 Nhap thong tin nhan vien
2 Xuat thong tin
3 Sap xep theo ma nhan vien
4 Tim kiem theo ma nhan vien
5.
6.
7.
Ban chon chuc nang:
nang: 8
Xuat ra file
Them Nhan vien Xoa 1 nhan vien theo ma
0 Thoat chuông trinh