第一篇:職工信息管理系統(tǒng)源代碼
#include
intnum;
/*定義一個(gè)職工信息的結(jié)構(gòu)體*/ char name[20];
/*定義一個(gè)職工信息的結(jié)構(gòu)體*/
char sex[10];
//用字符串存放職工的性別數(shù)據(jù)
char birth[20];//用字符串存放職工的出生年月數(shù)據(jù)
char deta[20];//用字符串存放職工的工作年月數(shù)據(jù)
char education[20];//用字符串存放職工的學(xué)歷數(shù)據(jù)
double salary;
//用字符串存放職工的性別數(shù)據(jù)
char work[30];//用字符串存放職工的職務(wù)數(shù)據(jù)
char addr[20];//用字符串存放職工的地址數(shù)據(jù)
char tel[20];//用字符串存放職工的電話數(shù)據(jù) }worker[100];//用結(jié)構(gòu)體數(shù)組存放職工的所有信息 void menu();
void input();
void save();
void read();
void display();
void add();
void search();
voidsearch_education();
voidsearch_num();
void del();
void modify();
void main()
{ char s;
system(“color 3f”);
printf(“nn”);
printf(“ t┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ t┃**********************************************************┃n”);
printf(“ t┃***┏━━━━━━━━━━━━━━━━━━━━━━━━┓***┃n”);
printf(“ t┃***┃************************************************┃***┃n”);
printf(“ t┃***┃***
****┃***┃n”);
printf(“ t┃***┃***
歡迎使用職工信息管理系統(tǒng)
****┃***┃n”);
printf(“ t┃***┃***
****┃***┃n”);
printf(“ t┃***┃***
****┃***┃n”);
printf(“ t┃***┃***
制作人吳青伶
****┃***┃n”);
printf(“ t┃***┃***
****┃***┃n”);
printf(“ t┃***┃***
2013.12.28
****┃***┃n”);
printf(“ t┃***┃***
****┃***┃n”);
printf(“ t┃***┃************************************************┃***┃n”);
printf(“ t┃***┗━━━━━━━━━━━━━━━━━━━━━━━━┛***┃n”);
printf(“ t┃**********************************************************┃n”);printf(“ t┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);do { menu();printf(“Do you want to continue?(y/n)”);
s=getchar();}while(s=='Y'||s=='y');} void menu()/*菜單函數(shù)*/ { int b;printf(“t
n”);printf(“t
n”);printf(“t
n”);printf(“t
n”);printf(“t
n”);printf(“t
請選擇
n”);printf(“t
------------------------------n”);printf(“t
||
||
n”);printf(“t
||
1.職工信息錄入
||
n”);printf(“t
||
2.職工信息瀏覽
||
n”);printf(“t
||
3.職工信息添加
||
n”);printf(“t
||
4.職工信息查詢
||
n”);printf(“t
||
5.職工信息刪除
||
n”);printf(“t
||
6.職工信息修改
||
n”);printf(“t
||
0.退出
||
n”);printf(“tn”);printf(“n 輸入你的選擇項(xiàng)(0~6):n”);
scanf(“%d”,&b);
switch(b)
{
case 1 : //職工信息錄入、保存
input();
save();
getchar();
break;
case 2 ://讀入職工信息并顯示
read();
display();
getchar();break;
case 3 : //添加職工信息
add();getchar();break;
case 4 : //查詢職工信息
search();getchar();break;
case 5 : //讀入職工信息并實(shí)現(xiàn)職工信息刪除功能
read();
del();
getchar();
break;
case 6 : //讀入職工信息并修改職工信息
read();modify();getchar();break;
case 0 : exit(0);//退出
default:break;} } void input()
//錄入職工信息 {
inti,flag,j;printf(“輸入職工個(gè)數(shù)(默認(rèn)個(gè)數(shù)為2):”);scanf(“%d”,&N);fflush(stdin);//清除緩存 for(i=0;i { loop: printf(“職工號:”);scanf(“%d”,&worker[i].num);fflush(stdin);flag=1;if(worker[N].num<0) printf(“請輸入正整數(shù):n”);else for(j=0;j { if(worker[i].num==worker[j].num) { flag=0; printf(“ 工號重復(fù),請重新輸入!n”); goto loop; } } printf(“姓名:”);scanf(“%s”,worker[i].name);fflush(stdin);printf(“性別:”);scanf(“ %s”,worker[i].sex);fflush(stdin);printf(“出生年月:”);scanf(“%d”,&worker[i].birth);fflush(stdin);printf(“工作年月:”);scanf(“%lf”,&worker[i].deta);fflush(stdin);printf(“請輸入學(xué)歷(中專=zz,大專=dz,本科=bk,研究生=y(tǒng)js):n”);scanf(“%s”,worker[i].education);fflush(stdin);printf(“工資:”);scanf(“%lf”,worker[i].salary);fflush(stdin);printf(“職務(wù):”);scanf(“%s”,worker[i].work);fflush(stdin);printf(“住址:”);scanf(“%s”,worker[i].addr);fflush(stdin);printf(“電話:”);scanf(“%s”,worker[i].tel);fflush(stdin); } printf(“n創(chuàng)建完畢!n”);} void save() //保存函數(shù) { FILE *fp;int i; if((fp=fopen(“worker.txt”,“wb”))==NULL)//以只寫方式打開一個(gè)二進(jìn)制文件 { printf(“ncannot open filen”); exit(0);} for(i=0;i void read() //讀入函數(shù) { FILE *fp;int i=0; if((fp=fopen(“worker.txt”,“rb”))==NULL)//以只讀方式為輸出打開磁盤文件中的一個(gè)二進(jìn)制文件 { printf(“ncannot open filen”); exit(0);} do{ fread(&worker[i],sizeof(struct worker),1,fp);//從worker.txt文件向內(nèi)存讀入數(shù)據(jù)(二進(jìn)制) i++;}while(!feof(fp));fclose(fp); N=i-1;} void display() //信息瀏覽函數(shù) { int i;for(i=0;i { printf(“職工號:%dn”,worker[i].num);printf(“姓名:%sn”,worker[i].name);printf(“性別:%sn”,worker[i].sex);printf(“出生年月:%dn”,worker[i].birth);printf(“工作年月:%dn”,worker[i].deta);printf(“學(xué)歷:%sn”,worker[i].education);printf(“工資:%lfn”,worker[i].salary);printf(“職務(wù):%dn”,worker[i].work);printf(“住址:%sn”,worker[i].addr);printf(“電話:%sn”,worker[i].tel); } } void add() //添加函數(shù) { FILE *fp;int i;struct worker p;double t;printf(“n請輸入新增加職工的信息:n”); printf(“請輸入職工號:n”); scanf(“%d”,&p.num); for(i=0;i { while(worker[i].num==p.num) { printf(“ 工號重復(fù),請重新輸入!n”); scanf(“%d”,&p.num); } } printf(“請輸入姓名:n”);scanf(“%s”,p.name);printf(“請輸入性別:n”);scanf(“%s”,p.sex);printf(“請輸入出生年月:n”);scanf(“%d”,&p.birth);printf(“請輸入工作年月:n”);scanf(“%d”,&p.deta);printf(“請輸入學(xué)歷(中專=zz,大專=dz,本科=bk,=yjs:):n”);scanf(“%s”,p.education);printf(“請輸入工資:n”);scanf(“%lf”,&t);p.salary=t;printf(“請輸入職務(wù):n”);scanf(“%s”,p.work);printf(“請輸入住址:n”);scanf(“%s”,p.addr);printf(“請輸入電話:n”);scanf(“%s”,p.tel);printf(“n添加完畢!n”); if((fp=fopen(“worker.txt”,“ab”))==NULL)//以追加方式打開一個(gè)二進(jìn)制文件尾部 { printf(“ncannot open filen”);exit(0); } fwrite(&p,sizeof(struct worker),1,fp);fclose(fp);} void search() //查詢函數(shù) { int c;do { puts(“nsearch by=>n1.學(xué)歷2.職工號3.取消并返回”);printf(“Which you needed?:n”);scanf(“%d”,&c); 研究生if(c>3||c<1) { puts(“nchoiceerror!please again!”);getchar();//此語句用于接受在執(zhí)行上一句時(shí)最后輸出的回車符 } } while(c>3||c<1); { switch(c) { case 1:search_education();break;case 2:search_num();break;case 3:menu();break; } } } void search_education() //按學(xué)歷查詢函數(shù) { inti,flag=0;char s[10];printf(“n請輸入你要查詢的學(xué)歷:n”);scanf(“%s”,s);for(i=0;i { if(strcmp(s,worker[i].education)==0) { printf(“職工號:%dn”,worker[i].num); printf(“姓名:%sn”,worker[i].name); printf(“性別:%sn”,worker[i].sex); printf(“出生年月:%dn”,worker[i].birth); printf(“工作年月:%dn”,worker[i].deta); printf(“學(xué)歷(中專=zz,大專=dz,yjs):%sn”,worker[i].education);printf(“工資:%lfn”,worker[i].salary);printf(“職務(wù):%lfn”,worker[i].work); printf(“住址:%sn”,worker[i].addr); printf(“電話:%sn”,worker[i].tel);flag++; } } if(flag==0) printf(“n對不起沒有找到!n”);getchar();} void search_num() //按工號查詢函數(shù) { inti,s,flag=0;printf(“n輸入要查詢的職工號!:n”);scanf(“%d”,&s); 本科=bk,研究生=for(i=0;i { if(s==worker[i].num) { printf(“職工號:%dn”,worker[i].num); printf(“姓名:%sn”,worker[i].name); printf(“性別:%sn”,worker[i].sex); printf(“出生年月:%dn”,worker[i].birth); printf(“工作年月:%dn”,worker[i].deta); printf(“學(xué)歷(中專=zz,大專=dz,本科=bk,研究生=y(tǒng)js):%sn”,worker[i].education); printf(“工資:%lfn”,worker[i].salary);printf(“職務(wù):%lfn”,worker[i].work); printf(“住址:%sn”,worker[i].addr); printf(“電話:%sn”,worker[i].tel); flag++; } } if(flag==0)printf(“n對不起沒有找到!please”); getchar();} void del() //刪除函數(shù) { inti,j;FILE *fp;char name[20];char c;if((fp=fopen(“worker.txt”,“wb”))==NULL)//以只寫方式打開一個(gè)二進(jìn)制文件 { printf(“ncannot open filen”);exit(0); } printf(“請輸入要?jiǎng)h除的職工的姓名:”);scanf(“%s”,name);for(i=0;i if(strcmp(name,worker[i].name)==0)//判斷輸入的姓名和原來的姓名是否相同 { printf(“找到該職工,是否刪除?(y/n)”); fflush(stdin); scanf(“%c”,&c); if(c =='Y'||c=='y') { for(j=i;j worker[j]=worker[j+1]; printf(“刪除成功!n”); //break; } } } if(i>=N){ printf(“沒有找到該職工!n ”); return;} else { N=N-1; for(i=0;i if(fwrite(&worker[i],sizeof(struct worker),1,fp)!=1) { printf(“ncannot save filen”);getchar(); } fclose(fp);} } void modify() //修改函數(shù) { struct worker p;FILE *fp;inti,n;double t;printf(“n輸入要修改的職工號:n”);scanf(“%d”,&n); for(i=0;i if(n==worker[i].num) { printf(“找到該職工的信息(任意鍵繼續(xù))!”); printf(“n請輸入職工的信息!n”); printf(“請輸入姓名:n”);scanf(“%s”,p.name); printf(“請輸入性別:n”);scanf(“%s”,p.sex); printf(“請輸入出身年月:n”);scanf(“%d”,&p.birth);printf(“請輸入工作年月:n”);scanf(“%lf”,&p.deta); printf(“請輸入學(xué)歷(中專=zz,大專=dz,yjs):n”);scanf(“%s”,p.education);printf(“請輸入工資:n”);scanf(“%lf”,&t); p.salary=t;printf(“請輸入職務(wù):n”);scanf(“%s”,p.work); printf(“請輸入住址:n”);scanf(“%s”,p.addr); 本科=bk,研究生= } printf(“請輸入電話:n”);scanf(“%s”,p.tel);p.num=n; if((fp=fopen(“worker.txt”,“r+”))==NULL)//以讀寫的方式將修改的信息寫入磁盤文件 { printf(“ncannot open filen”); exit(0); } fseek(fp,i*sizeof(struct worker),0);//將位置指針移到i*sizeof(struct worker)個(gè)字節(jié)處 fwrite(&p,sizeof(struct worker),1,fp); fclose(fp); printf(“修改成功!n”); break;} } if(i>=N)printf(“n未找到該職工!n”); #include const N=5000;// 定義系統(tǒng)可錄入的職工最大數(shù)值 string Ename[N];long Enum[N];char Esex[N];int Eage[N]; char Emarriage[N];int Edepart[N];int Eposition[N];int Edegree[N];int Eworktime[N];float Epay[N]; class Employee { public: string Employeename; long Employeenum; char Employeesex; int Employeeage; char Employeemarriage; int Employeedepart; int Employeeposition; int Employeedegree; int Employeeworktime; float Employeepay; static long EmployeeMaxNum; static float EmployeeBasePay; void NewInfo(); void ShowInfo(); void showall(); void showdepart(int depart); void showdegree(int degree); void showage(int min,int max); void shownum(long number); void RefreshInfo(); void DeleteInfo(); float Pay(int Employeegrade); static int MaxNum();}; class DBOperate { public: string Employeename; long Employeenum; char Employeesex; int Employeeage; char Employeemarriage; int Employeedepart; int Employeeposition; int Employeedegree; int Employeeworktime; float Employeepay; static long EmployeeMaxNum; static float EmployeeBasePay; void WriteIn(int iflag); void ReadOut(); void RefreshMaxNum(int iflag);//iflg=1 or-1 or 0 }; long Employee::EmployeeMaxNum = 1000;float Employee::EmployeeBasePay = 1500; int Employee::MaxNum()//返回系統(tǒng)已經(jīng)存儲的人數(shù) { int MN = 0; ifstream myf; myf.open(“EmployeeMaxNum.txt”); myf>>MN; cout< myf.close(); return MN;} void Employee::NewInfo()//添加新職工函數(shù) { cout<<“新職工姓名: ”; cin>>Employee::Employeename; Employee::Employeenum = EmployeeMaxNum + Employee::MaxNum()+1; cout<<“新職工性別(F為女性,M為男性): ”; cin>>Employee::Employeesex; cout<<“新職工年齡: ”; cin>>Employee::Employeeage; cout<<“新職工婚姻狀況(Y為已婚,N為未婚): ”; cin>>Employee::Employeemarriage; cout<<“新職工學(xué)歷,請輸入相應(yīng)學(xué)歷的序號: ”< cout<<“ [1:小學(xué) 2:初中 3:高中 4:本科 5:碩士 6:博士] ”; cin>>Employee::Employeedegree; while(Employee::Employeedegree!=1&&Employee::Employeedegree!=2&&Employee::Employeedegree!=3&&Employee::Employeedegree!=4&&Employee::Employeedegree!=5&&Employee::Employeedegree!=6) { cout<<“輸入有誤,請重新輸入:”< cout<<“ [1:小學(xué) 2:初中 3:高中 4:本科 5:碩士 6:博士] ”; cin>>Employee::Employeedegree; } cout<<“新職工所在部門,請輸入相應(yīng)部門的序號:”< cout<<“ [1:董事會 2:銷售部 3:人事部 4:客服中心 5:財(cái)務(wù)部 6:技術(shù)研發(fā)部 7:安全監(jiān)察部] ”; cin>>Employee::Employeedepart; while(Employee::Employeedepart!=1&&Employee::Employeedepart!=2&&Employee::Employeedepart!=3&&Employee::Employeedepart!=4&&Employee::Employeedepart!=5&&Employee::Employeedepart!=6&&Employee::Employeedepart!=7) { cout<<“輸入有誤,請重新輸入:”< cout<<“ [1:董事會 2:銷售部 3:人事部 4:客服中心 5:財(cái)務(wù)部 6:技術(shù)研發(fā)部 7:安全監(jiān)察部] ”; cin>>Employee::Employeedepart; } cout<<“新職工職位, 請輸入相應(yīng)職位的序號: ”< cout<<“ [1:臨時(shí)職工 2: 正式職工 3:部門經(jīng)理 4:主任 5:董事長] ”; cin>>Employee::Employeeposition; while(Employee::Employeeposition!=1&&Employee::Employeeposition!=2&&Employee::Employeeposition!=3&&Employee::Employeeposition!=4&&Employee::Employeeposition!=5) { cout<<“輸入有誤,請重新輸入:”< cout<<“ [1:臨時(shí)職員 2: 正式職員 3:部門經(jīng)理 4:主任 5:董事長] ”; cin>>Employee::Employeeposition; } cout<<“新職工的工作時(shí)長(不需要輸入單位): ”; cin>>Employee::Employeeworktime; Employee::Employeepay = Employee::Pay(Employee::Employeeposition); DBOperate dbo; dbo.ReadOut(); int MaxNum = Employee::MaxNum(); Enum[MaxNum] = Employee::Employeenum; Ename[MaxNum] = Employee::Employeename; Esex[MaxNum] = Employee::Employeesex; Eage[MaxNum] = Employee::Employeeage; Emarriage[MaxNum] = Employee::Employeemarriage; Edegree[MaxNum] = Employee::Employeedegree; Edepart[MaxNum] = Employee::Employeedepart; Eposition[MaxNum] = Employee::Employeeposition; Eworktime[MaxNum] = Employee::Employeeworktime; Epay[MaxNum] = Employee::Employeepay; dbo.WriteIn(1); cout<<“ 添加新成員成功!”< void Employee::ShowInfo()//程序主體 數(shù)據(jù)輸出函數(shù) { int choice1,choice2,min,max; long searchnum; Employee e; cout<<“*******************************************”< cout<<“-----------1.輸出全體職工信息--------------”< cout<<“-----------2.按職工部門輸出----------------”< cout<<“-----------3.按職工學(xué)歷輸出----------------”< cout<<“-----------4.按職工年齡輸出----------------”< cout<<“-----------5.按職工編號輸出----------------”< cout<<“*******************************************”< cout<<“ 請選擇查詢方式:”; cin>>choice1; switch(choice1) { case 1: showall();break; case 2: cout<<“請輸入要查詢職工的部門編號[1:董事會 2:銷售部 3:人事部 4:客服中心 5:財(cái)務(wù)部 6:技術(shù)研發(fā)部 7:安全監(jiān)察部] ”; cin>>choice2; e.showdepart(choice2);break; case 3: cout<<“請輸入要查詢職工的學(xué)歷編號: [1:小學(xué) 2:初中 3:高中 4:本科 5:碩士 6:博士] ”; cin>>choice2; e.showdegree(choice2);break; case 4: cout<<“請輸入要查詢的年齡范圍: ”; cout<<“最小值: ”; cin>>min; cout<<“最大值: ”; cin>>max; e.showage(min,max);break; case 5: cout<<“請輸入要查詢的職工編號: ”; cin>>searchnum; e.shownum(searchnum);break; default: cout<<“出錯(cuò)啦!”< } } void Employee::showall()//全體職工輸出函數(shù) { int i; long number; for(i=0;i { number = Enum[i]; shownum(number); } } void Employee::showdepart(int depart)//按職工所在部門輸出函數(shù) { int i; switch(depart) { case 1: cout<<“董事會的成員有: ”< case 2: cout<<“銷售部的成員有: ”< case 3: cout<<“人事部的成員有: ”< case 4: cout<<“客服中心的成員有: ”< case 5: cout<<“財(cái)務(wù)部的成員有: ”< case 6: cout<<“技術(shù)研發(fā)部的成員有: ”< case 7: cout<<“安全監(jiān)察部的成員有: ”< default: cout<<“輸入錯(cuò)誤!>”< } for(i=0;i { if(Edepart[i] == depart) { long number = Enum[i]; shownum(number); } else continue; } } void Employee::showdegree(int degree)//按職工學(xué)歷輸出函數(shù) { int i; switch(degree) { case 1:cout<<“初中學(xué)歷的員工有:”< case 2:cout<<“初中學(xué)歷的員工有:”< case 3:cout<<“高中學(xué)歷的員工有:”< case 4:cout<<“本科學(xué)歷的員工有:”< case 5:cout<<“碩士學(xué)位的員工有:”< case 6:cout<<“博士學(xué)位的員工有:”< } for(i=0;i { if(Edegree[i] == degree) { long number = Enum[i]; shownum(number); } else continue; } } void Employee::showage(int min,int max)//按職工年齡段輸出函數(shù) { int i; for(i=0;i { if(Eage[i]>=min&&Eage[i]<=max) { long number = Enum[i]; shownum(number); } else continue; } } void Employee::shownum(long number)//按職工編號輸出函數(shù) { int i; for(i=0;i { if(Enum[i] == number) { cout<<“**********************************”< cout<<“職工編號:”< cout<<“姓 名:”< cout<<“性 別:”; if(Esex[i]=='F')cout<<“女 ”< else if(Esex[i]=='M')cout<<“男 ”< cout<<“年 齡:”< cout<<“婚姻情況:”; if(Emarriage[i]=='Y')cout<<“已婚 ”< else if(Emarriage[i]=='N')cout<<“未婚 ”< cout<<“學(xué) 歷:”; switch(Edegree[i]) { case 1:cout<<“小 學(xué) ”< case 2:cout<<“初 中 ”< case 3:cout<<“高 中 ”< case 4:cout<<“本 科 ”< case 5:cout<<“碩 士 ”< case 6:cout<<“博 士 ”< } cout<<“所在部門:”; switch(Edepart[i]) { case 1:cout<<“董事會 ”< case 2:cout<<“銷售部 ”< case 3:cout<<“人事部 ”< case 4:cout<<“客服中心 ”< case 5:cout<<“財(cái)務(wù)部 ”< case 6:cout<<“技術(shù)研發(fā)部 ”< case 7:cout<<“安全監(jiān)察部 ”< } cout<<“所任職務(wù):”; switch(Eposition[i]) { case 1:cout<<“臨時(shí)成員 ”< case 2:cout<<“正式員工 ”< case 3:cout<<“部門經(jīng)理 ”< case 4:cout<<“主任 ”< case 5:cout<<“董事長 ”< } cout<<“工作時(shí)長:”< cout<<“工資:”< cout<<“**********************************”< } else continue; } } void Employee::RefreshInfo()//修改職工信息的函數(shù) { int cNum = 1000; DBOperate dbo; dbo.ReadOut(); void Employee::shownum(long number); cout<<“請輸入您要修改的職工編號:”; cin>>cNum; int MN; MN = Employee::MaxNum(); for(int i=0;i { if(Enum[i] == cNum) { Employee::shownum(cNum); cout<<“請輸入該職工的新信息: ”< cout<<“職工姓名: ”;//錄入職工的新的數(shù)據(jù),職工編號保持不變 cin>>Employee::Employeename; Ename[i] = Employee::Employeename; cout<<“職工性別(F為女性,M為男性): ”; cin>>Employee::Employeesex; Esex[i] = Employee::Employeesex; cout<<“職工年齡: ”; cin>>Employee::Employeeage; Eage[i] = Employee::Employeeage; cout<<“職工婚姻狀況(Y為已婚,N為未婚): ”; cin>>Employee::Employeemarriage; Emarriage[i] = Employee::Employeemarriage; cout<<“職工學(xué)歷,請輸入相應(yīng)學(xué)歷的序號:”< cout<<“ [1:小學(xué) 2:初中 3:高中 4:本科 5:碩士 6:博士] ”; cin>>Employee::Employeedegree; while(Employee::Employeedegree!=1&&Employee::Employeedegree!=2&&Employee::Employeedegree!=3&&Employee::Employeedegree!=4&&Employee::Employeedegree!=5&&Employee::Employeedegree!=6) { cout<<“輸入有誤,請重新輸入:”< cout<<“ [1:小學(xué) 2:初中 3:高中 4:本科 5:碩士 6:博士] ”; cin>>Employee::Employeedegree; } Edegree[i] = Employee::Employeedegree; cout<<“職工所在部門,請輸入相應(yīng)部門的序號: ”< cout<<“ [1:董事會 2:銷售部 3:人事部 4:客服中心 5:財(cái)務(wù)部 6:技術(shù)研發(fā)部 7:安全監(jiān)察部] ”; cin>>Employee::Employeedepart; while(Employee::Employeedepart!=1&&Employee::Employeedepart!=2&&Employee::Employeedepart!=3&&Employee::Employeedepart!=4&&Employee::Employeedepart!=5&&Employee::Employeedepart!=6&&Employee::Employeedepart!=7) { cout<<“輸入有誤,請重新輸入:”< cout<<“ [1:董事會 2:銷售部 3:人事部 4:客服中心 5:財(cái)務(wù)部 6:技術(shù)研發(fā)部 7:安全監(jiān)察部] ”; cin>>Employee::Employeedepart; } Edepart[i] = Employee::Employeedepart; cout<<“職工職位,請輸入相應(yīng)職位的序號:”< cout<<“ [1:臨時(shí)職員 2: 正式職員 3:部門經(jīng)理 4:主任 5:董事長] ”; cin>>Employee::Employeeposition; while(Employee::Employeeposition!=1&&Employee::Employeeposition!=2&&Employee::Employeeposition!=3&&Employee::Employeeposition!=4&&Employee::Employeeposition!=5) { cout<<“輸入有誤,請重新輸入:”< cout<<“ [1:臨時(shí)職員 2: 正式職員 3:部門經(jīng)理 4:主任 5:董事長] ”; cin>>Employee::Employeeposition; } Eposition[i] = Employee::Employeeposition; cout<<“員工的工作時(shí)(不需要輸入單位): ”; cin>>Employee::Employeeworktime; Eworktime[i] = Employee::Employeeworktime; Epay[i] = Employee::Pay(Employee::Employeeposition); break; } } dbo.WriteIn(0);} void Employee::DeleteInfo()//刪除職工數(shù)據(jù)的函數(shù) { char tmp; int cNum = 1000; DBOperate dbo; dbo.ReadOut(); void Employee::shownum(long number); cout<<“請輸入您要?jiǎng)h除的職工編號>: ”; cin>>cNum; int MN; MN = Employee::MaxNum(); for(int i=0;i { if(Enum[i] == cNum) Employee::shownum(cNum); } cout<<“確認(rèn)要?jiǎng)h除該職工信息?(Y為確認(rèn),N為放棄): ”; cin>>tmp; if(tmp=='Y') { if(i==MN-1) dbo.WriteIn(-1); else { for(int j=i;j { Enum[j] = Enum[j+1];} dbo.WriteIn(-1); } cout<<“ 刪除操作成功!”< } } float Employee::Pay(int Employeeposition)//根據(jù)職工職位計(jì)算工資的函數(shù) { float tmpPay; tmpPay = Employee::EmployeeBasePay + Employee::Employeeposition Employee::EmployeeBasePay; * return tmpPay;} void DBOperate::WriteIn(int iflag)//數(shù)據(jù)操作函數(shù)—寫入 { DBOperate::RefreshMaxNum(iflag); ofstream myf(“Employee.txt”); Employee e; int MN; MN = e.MaxNum(); for(int i=0;i { myf< } myf.close(); return;} void DBOperate::ReadOut()//數(shù)據(jù)操作函數(shù)—讀出 { ifstream myf(“Employee.txt”); Employee e; int MN; MN = e.MaxNum(); for(int i=0;i { myf>>DBOperate::Employeenum>>DBOperate::Employeename>>DBOperate::Employeesex>>DBOperate::Employeeage>>DBOperate::Employeemarriage >>DBOperate::Employeedegree>>DBOperate::Employeedepart>>DBOperate::Employeeposition>>DBOperate::Employeeworktime>>DBOperate::Employeepay; Enum[i] = DBOperate::Employeenum; Ename[i] = DBOperate::Employeename; Esex[i] = DBOperate::Employeesex; Eage[i] = DBOperate::Employeeage; Emarriage[i] = DBOperate::Employeemarriage; Edegree[i] = DBOperate::Employeedegree; Edepart[i] = DBOperate::Employeedepart; Eposition[i] = DBOperate::Employeeposition; Eworktime[i] = DBOperate::Employeeworktime; Epay[i] = DBOperate::Employeepay; } myf.close();} void DBOperate::RefreshMaxNum(int iflag)//更新系統(tǒng)中員工計(jì)數(shù)文件的函數(shù) { int MaxNum = 0; ifstream myif(“EmployeeMaxNum.txt”); myif>>MaxNum; myif.close(); MaxNum = MaxNum+iflag; ofstream myof(“EmployeeMaxNum.txt”); myof< myof.close();} int main()//主函數(shù) { system(“color B0”);//設(shè)置當(dāng)前窗口的背景色和前景色 // 0 = 黑色 = 灰色 // 1 = 藍(lán)色 = 淡藍(lán)色 // 2 = 綠色 A = 淡綠色 // 3 = 淺綠色 B = 淡淺綠色 // 4 = 紅色 C = 淡紅色 // 5 = 紫色 D = 淡紫色 // 6 = 黃色 E = 淡黃色 // 7 = 白色 F = 亮白色 int select = 0; while(select!=5) { cout<<“ ╭————————————————————————————╮”< cout<<“ ∣ 《主菜單》 ∣”< cout<<“ ├————————————————————————————┤”< cout<<“ ∣ 1.新建并錄入職工信息 ∣”< cout<<“ ∣ 2.按條件輸出職工信息 ∣”< cout<<“ ∣ 3.修改指定職工的信息 ∣”< cout<<“ ∣ 4.刪除職工信息 ∣”< cout<<“ ∣ 5.退出系統(tǒng) ∣”< cout<<“ ╰————————————————————————————╯”< cout<<“ ——————————————————————————————”< cout<<“ 請選擇您需要功能的代號: ”; cin>>select; Employee e; DBOperate dbo; switch(select) { case 1: e.NewInfo();break; case 2: dbo.ReadOut(); e.ShowInfo();break; case 3: e.RefreshInfo();break; case 4: e.DeleteInfo();break; case 5: cout<<“ 退出成功”< default: cout<<“命令錯(cuò)誤!”< } if(select == 5) break; } exit(1); return 0;} 學(xué)生信息管理系統(tǒng)源代碼 import java.io.*; class StuInfo { public String name; public int number; public String sex; public String age; public String bir; public String email; public String addr; public String tel; public String getName(){ return name; } public void setName(String name){ this.name = name; } public int getNumber(){ return number; } public void setNumber(int number){ this.number = number; } public String getSex(){ return sex; } public void setSex(String sex){ this.sex = sex; } public String getAge(){ return age; } public void setAge(String age){ this.age = age; } public String getBir(){ return bir; } public void setBir(String bir){ this.bir = bir; } public String getEmail(){ return email; } public void setEmail(String email){ this.email = email;} public String getAddr(){ return addr;} public void setAddr(String addr){ this.addr = addr;} public String getTel(){ return tel;} public void setTel(String tel){ this.tel = tel;} } public class Student { private static PrintStream out = System.out;private static String filename = “Stu.txt”;private static int total = 0;private static int rt = 0;//recyle length private StuInfo[] stuInfos;private StuInfo[] recycle;BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));//創(chuàng)建緩沖流 public Student(){ stuInfos = new StuInfo[11]; } public void 信息錄入(){ BufferedReader buf = new BufferedReader(new InputStreamReader(System.in)); try{ System.out.print(“n請輸入學(xué)生信息(以0結(jié)束)n”); System.out.print(“學(xué)號:n”); StuInfo stu = new StuInfo(); stu.setNumber(Integer.parseInt(buf.readLine())); while(stu.getNumber()!=0){ System.out.print(“姓名:nn”); stu.setName(buf.readLine()); System.out.print(“性別:nn”); stu.setSex(buf.readLine()); System.out.print(“年齡:nn”); stu.setAge(buf.readLine()); System.out.print(“生日:nn”); stu.setBir(buf.readLine()); System.out.print(“郵箱:nn”); stu.setEmail(buf.readLine()); System.out.print(“地址:nn”); stu.setAddr(buf.readLine()); System.out.print(“電話:nn”); stu.setTel(buf.readLine()); //添加其他輸入信息 stuInfos[total]=stu; total++; stu = new StuInfo(); System.out.print(“n請輸入下一個(gè)學(xué)生信息(以0結(jié)束)n”); System.out.print(“姓名:n”); stu.setName(buf.readLine()); } }catch(Exception e){ out.print(e); } } public void 保存數(shù)據(jù)(){ try{ FileWriter fwr=new FileWriter(filename); BufferedWriter fw = new BufferedWriter(fwr); fw.write(total+“rn”); for(int k=0;k fw.write(stuInfos[k].getNumber()+“rn”); fw.write(stuInfos[k].getName()+“rn”); fw.write(stuInfos[k].getSex()+“rn”); fw.write(stuInfos[k].getAge()+“rn”); fw.write(stuInfos[k].getBir()+“rn”); fw.write(stuInfos[k].getEmail()+“rn”); fw.write(stuInfos[k].getAddr()+“rn”); fw.write(stuInfos[k].getTel()+“rn”); } fw.write(rt+“rn”); for(int k=0;k第二篇:C++大作業(yè)_職工信息管理系統(tǒng)源代碼
第三篇:學(xué)生信息管理系統(tǒng)源代碼