ThanhTri Member
Tổng số bài gửi : 45 Points : 84 Thanks : 2 Join date : 13/09/2011 Age : 32
| Tiêu đề: Quản Lý Nhân Viên . Mon Sep 26, 2011 9:58 am | |
| Đây là bài tập tổ chức quản lý nhân viên của 1 công ty trong chương 1 của giáo trình CTDL. Mình chỉ sử dụng biến tĩnh, không có biến động. Các bạn sem thế nào và nhập lý lịch nhân viên theo yêu cầu bài tập trước nhé . - Code:
-
#include<stdio.h> #include<string.h> #include<conio.h> #define canban 1000000
typedef struct { char tenthang[3]; char cophep,kophep,lamthem; char ketqua[3]; float luong; } chamcong; typedef struct { char mnv[9]; char ten[20]; char giadinh; char socon; char vanhoa[2]; chamcong thang[12]; } nhanvien; nhanvien nv[50]; char n=0,m=0,luu[12]; void lylichnhanvien() { char i,thoat=0,ms[9]; do { printf("Nhap ma so nhan vien thu %d(Enter->Thoat): ",n+1); fflush(stdin); gets(ms); if(strlen(ms)==0) thoat=1; else { strcpy(nv[n].mnv,ms); printf("Nhap ten nhan vien: "); gets(nv[n].ten); printf("Nhap tinh trang gia dinh(M/S): "); scanf("%c",&nv[n].giadinh); printf("Nhap so con: "); scanf("%d",&nv[n].socon); printf("Nhap trinh do van hoa: "); fflush(stdin); gets(nv[n].vanhoa); n++; } } while(!thoat); }
void chamcongnhanvien() { char i,thoat=0,ms[8],out,tenthang[3]; float phutroi; do { printf("\nNhap ma so nhan vien muon Cham Cong(Enter->Thoat): "); fflush(stdin); gets(ms); if(strlen(ms)==0) thoat=1; else { i=0; while(i<n&&strcmp(ms,nv[i].mnv)!=0) i++; if(i<n) { out=m=0; do { printf("Ket qua thang may: "); gets(tenthang); if(strlen(tenthang)==0) out=1; else { strcpy(nv[i].thang[m].tenthang,tenthang); printf("Nhap so ngay nghi co phep: "); scanf("%d",&nv[i].thang[m].cophep); printf("Nhap so ngay nghi ko phep: "); scanf("%d",&nv[i].thang[m].kophep); printf("Nhap so ngay lam them: "); scanf("%d",&nv[i].thang[m].lamthem); printf("Nhap ket qua cong viec(T-Tb-K): "); fflush(stdin); gets(nv[i].thang[m].ketqua); phutroi=0; if(nv[i].socon>2) phutroi+=0.05*canban; if(nv[i].vanhoa=="CH") phutroi+=0.1*canban; if(nv[i].thang[m].lamthem>0) phutroi+=0.04*nv[i].thang[m].lamthem*canban; if(nv[i].thang[m].kophep>0) phutroi-=0.05*nv[i].thang[m].kophep*canban; nv[i].thang[m].luong=canban+phutroi; m++; } } while(!out); luu[i]=m; } else printf("\nMa so vua nhap sai hoac ko co\n"); } } while(!thoat); }
void sembangluong(char k) { for(char j=0;j<luu[k];j++) { printf("\n-------------------------------\n"); printf("...Ket qua cong viec thang %s\n",nv[k].thang[j].tenthang); printf("...So ngay nghi co phep: %d\n",nv[k].thang[j].cophep); printf("...So ngay nghi khong phep: %d\n",nv[k].thang[j].kophep); printf("...So ngay lam them: %d\n",nv[k].thang[j].lamthem); printf("...Ket qua cong viec: %s\n",nv[k].thang[j].ketqua); printf("-->Luong thang: %.2f\n",nv[k].thang[j].luong); } }
void semlylich(char k) { printf("\n-----------------------------\n"); printf("-/Nhan vien co ma so: %s\n",nv[k].mnv); printf("-/Ten nhan vien: %s\n",nv[k].ten); printf("-/Tinh trang gia dinh: %c\n",nv[k].giadinh); printf("-/So con: %d\n",nv[k].socon); printf("-/Trinh do van hoa %s\n",nv[k].vanhoa); } void xoanhanvien() { char ms[9],thoat,i,j; do { printf("Nhap Ma So muon xoa(Enter->Thoat): "); fflush(stdin); gets(ms); i=0; while(i<n&&(strcmp(nv[i].mnv,ms)!=0)) i++; if(i<n) { for(j=i;j<n-1;j++) { nv[j]=nv[j+1]; luu[j]=luu[j+1]; } n--; } else printf("\nMa so vua nhap sai\n"); printf("\nBan co muon Tiep tuc xoa ko (c/k): "); scanf("%c",&thoat); } while((thoat!='k')&&(thoat!='K')); } void suathongtin() { char ms[9],thoat,i; do { printf("\nNhap Ma So nhan vien muon thay doi(Enter->Thoat): ");fflush(stdin); gets(ms); i=0; while(i<n&&strcmp(ms,nv[i].mnv)!=0) i++; if(i<n) { printf("Nhap ten nhan vien: "); gets(nv[i].ten); printf("Nhap tinh trang gia dinh(M/S): "); scanf("%c",&nv[i].giadinh); printf("Nhap so con: "); scanf("%d",&nv[i].socon); printf("Nhap trinh do van hoa: "); fflush(stdin); gets(nv[i].vanhoa); } else printf("\nMa so vua nhap sai hoac ko co\n"); printf("\nBan co muon tiep tuc thay doi hay ko(c/k): "); scanf("%c",&thoat); } while(thoat!='k'&&thoat!='K'); } void suachamcong() { char ms[9],thoat,i,out,tenthang[3]; float phutroi; do { printf("\nNhap Ma So nhan vien muon thay doi(Enter->Thoat): ");fflush(stdin); gets(ms); i=0; while(i<n&&strcmp(ms,nv[i].mnv)!=0) i++; if(i<n) { out=m=0; do { printf("Ket qua thang may: "); gets(tenthang); if(strlen(tenthang)==0) out=1; else { strcpy(nv[i].thang[m].tenthang,tenthang); printf("Nhap so ngay nghi co phep: "); scanf("%d",&nv[i].thang[m].cophep); printf("Nhap so ngay nghi ko phep: "); scanf("%d",&nv[i].thang[m].kophep); printf("Nhap so ngay lam them: "); scanf("%d",&nv[i].thang[m].lamthem); printf("Nhap ket qua cong viec(T-Tb-K): "); fflush(stdin); gets(nv[i].thang[m].ketqua); phutroi=0; if(nv[i].socon>2) phutroi+=0.05*canban; if(nv[i].vanhoa=="CH") phutroi+=0.1*canban; if(nv[i].thang[m].lamthem>0) phutroi+=0.04*nv[i].thang[m].lamthem*canban; if(nv[i].thang[m].kophep>0) phutroi-=0.05*nv[i].thang[m].kophep*canban; nv[i].thang[m].luong=canban+phutroi; m++; } } while(!out); luu[i]=m; } else printf("\nMa so vua nhap sai\n"); printf("\nBan co muon tiep tuc thay doi hay ko(c/k): "); scanf("%c",&thoat); } while(thoat!='k'&&thoat!='K'); } char k; void timthongtin() { char ms[9],i,thoat=0,out,chon; do { printf("\nNhap ma so nhan vien muon tim(Enter->Thoat): ");fflush(stdin); gets(ms); if(strlen(ms)==0) thoat=1; else { k=0; while(k<n&&strcmp(ms,nv[k].mnv)!=0) k++; if(k<n) { out=0; do { printf("\n---------------------------"); printf("\n+ 1: Sem ly lich nhan vien ."); printf("\n+ 2: sem bang cham cong ."); printf("\n+ 0 : Thoat ."); printf("\nNhap yeu cau (0-1-2): "); scanf("%d",&chon); switch(chon) { case 1: semlylich(k); break; case 2: sembangluong(k); break; case 0: out=1; break; } } while(!out); } else printf("\nMa so vua nhap sai hoac ko co\n"); } } while(!thoat); } int menu() { int chon; printf("\n--------------------------------------"); printf("\n-------------MeNu-------------"); printf("\n+ 1: Cap nhat ly lich ."); printf("\n+ 2: Cham cong cho nhan vien ."); printf("\n+ 3: Tim thong tin cua nhan vien ."); printf("\n+ 4: Them nhan vien vao danh sach ."); printf("\n+ 5: Xoa nhan vien trong danh sach ."); printf("\n+ 6: Sua ly lich cua nhan vien ."); printf("\n+ 7: Sua bang cham cong cua nhan vien ."); printf("\n---------------------------------------"); printf("\n+ 0: Thoat ."); printf("\n------------------------------"); printf("\nNhap yeu cau: "); scanf("%d",&chon); return chon; }
void main() { char chon,thoat=0; do { chon= menu(); switch(chon) { case 1: lylichnhanvien(); break; case 2: chamcongnhanvien(); break; case 3: timthongtin(); break; case 4: lylichnhanvien(); break; case 5: xoanhanvien(); break; case 6: suathongtin(); break; case 7: suachamcong(); break; case 0: thoat=1; break; } } while(!thoat); getch(); } - Attachments
- QuanLyNhanVien.doc
- You don't have permission to download attachments.
- (44 Kb) Downloaded 5 times
|
|
Timeless_nt
Tổng số bài gửi : 4 Points : 5 Thanks : 0 Join date : 26/09/2011 Age : 31 Đến từ : White heaven !!!
| Tiêu đề: Re: Quản Lý Nhân Viên . Mon Sep 26, 2011 9:10 pm | |
| |
|
ThanhTri Member
Tổng số bài gửi : 45 Points : 84 Thanks : 2 Join date : 13/09/2011 Age : 32
| Tiêu đề: Re: Quản Lý Nhân Viên . Mon Sep 26, 2011 11:24 pm | |
| - Timeless_nt đã viết:
- You tự viết hả?
Ừ. Từng dòng đều do mình tự viết đấy, kiếm không ra cái thứ 2 đâu. Làm cái này cũng hơi tốn công và đau đầu tí. Và hiện tại lớp đang học kiểu cấu trúc, các bạn nên làm các bài liên quan để hiểu hơn về nó nhé. |
|
smileofsunny Member
Tổng số bài gửi : 64 Points : 92 Thanks : 0 Join date : 10/09/2011
| Tiêu đề: Re: Quản Lý Nhân Viên . Mon Sep 26, 2011 11:27 pm | |
| Chỉ S 1 tí về cấu trúc DL đi Sợ môn này quá |
|
ThanhTri Member
Tổng số bài gửi : 45 Points : 84 Thanks : 2 Join date : 13/09/2011 Age : 32
| Tiêu đề: Re: Quản Lý Nhân Viên . Tue Sep 27, 2011 8:58 am | |
| Học LT C đi, có gì hok hiểu mình chĩ cho. |
|
james_ken Moderator™
Tổng số bài gửi : 91 Points : 120 Thanks : 2 Join date : 10/09/2011 Age : 32 Đến từ : ho chi minh
| Tiêu đề: Re: Quản Lý Nhân Viên . Tue Sep 27, 2011 1:07 pm | |
| đẳng cấp vượt trội , đẳng cấp pro , bữa nào hướng dẫn lại cho bạn nha |
|
ut'_anh Nâng Cao
Tổng số bài gửi : 113 Points : 119 Thanks : 0 Join date : 09/09/2011 Age : 31 Đến từ : cth52
| Tiêu đề: dfsd Tue Sep 27, 2011 2:28 pm | |
| kinh. tao chưa viết cái nao wa' 100 dòng cả. hit hit........................................ |
|
Sponsored content
| Tiêu đề: Re: Quản Lý Nhân Viên . | |
| |
|