Bài tập quản lý nhân viên theo danh sách liên kết trong C, C++ là một ví dụ điển hình về sanh sách liên kết. Việc xây dựng danh sách liên kết để quản lý nhân viên ở bài code dưới đây gửi tới các bạn các hàm để quản lý nhân viên như: thêm, xóa, sửa thông tin nhân viên, code tính bảng lương nhân viên, in bảng lương nhân viên...
Ở bài code dưới đây là code theo C, Console trong C# cũng tương tự như thế. Các bạn xem một số hàm tham khảo và Download code Full ở cuối bài viết.
- Tất cả các hàm trong bài code đều có ràng buộc.
Ví dụ: thêm, sửa thông tin nhân viên có ràng buộc tuổi, ngày tháng năm sinh,...
Đi vào Code cụ thể:
Hàm Nhập nhân viên:
Hàm tìm nhân viên:
Hàm thêm nhân viên
Hàm thêm nhiều nhân viên 1 lúc các bạn Download trong Code full nhé.
Hàm xóa nhân viên, sửa thông tin nhân viên, bảng lương nhân viên đã có trong Code Full.
CODE FULL DOWNLOAD TẠI ĐÂY
chúc các bạn học tập tốt
Bài tập quản lý nhân viên theo danh sách liên kết trong C |
- Tất cả các hàm trong bài code đều có ràng buộc.
Ví dụ: thêm, sửa thông tin nhân viên có ràng buộc tuổi, ngày tháng năm sinh,...
Đi vào Code cụ thể:
Hàm Nhập nhân viên:
void nhapNV(NHANVIEN &nv)
{
clrscr();
printf("\n\t Nhap cac thong tin cua nhan vien: Ho lot, ten, ...\n");
fflush(stdin);
printf("\n\t Ho lot : ");
gets(nv.holot);
fflush(stdin);
printf("\n\t Ten : ");
gets(nv.ten);
do{
fflush(stdin);
printf("\n\t Ngay thang nam sinh (ngay/thang/nam): ");
scanf("%d/%d/%d",&nv.ngaysinh.ngay, &nv.ngaysinh.thang,&nv.ngaysinh.nam);
}while(!IsValidDate(nv.ngaysinh.ngay,nv.ngaysinh.thang,nv.ngaysinh.nam));
do{
fflush(stdin);
printf("\n\t Phai (0:Nu, 1:Nam ): ");
scanf("%d" ,&nv.phai);
}while(nv.phai!=0 && nv.phai!=1);
fflush(stdin);
printf("\n\t Noi sinh : ");
gets(nv.noisinh);
fflush(stdin);
printf("\n\t Phu cap :");
scanf("%ld",&nv.phucap);
fflush(stdin);
printf("\n\t Luong co ban :");
scanf("%ld",&nv.luongcb);
fflush(stdin);
printf("\n\t Ngay cong :");
scanf("%d",&nv.ngaycong);
}
Hàm tìm nhân viên:
NODEPTR timNV(NODEPTR dsnv, char key[])
{
NODEPTR p = dsnv;
while (p!=NULL)
{
if(strcmp(p->info.maNV,key)==0) break;
p=p->pNext;
}
return p;
}
Hàm thêm nhân viên
void themNV(NODEPTR &dsnv,NHANVIEN nv)
{
NODEPTR n;
n = new NODE;
n->info = nv;
n->pNext = dsnv;
dsnv = n;
}
Hàm thêm nhiều nhân viên 1 lúc các bạn Download trong Code full nhé.
Hàm xóa nhân viên, sửa thông tin nhân viên, bảng lương nhân viên đã có trong Code Full.
CODE FULL DOWNLOAD TẠI ĐÂY
chúc các bạn học tập tốt