人人范文网 范文大全

【课程设计】职工信息管理系统

发布时间:2020-03-02 20:08:33 来源:范文大全 收藏本文 下载本文 手机版

题目:职工信息系统

功能包括:

 建立职工信息数据(职工编号,姓名,性别,年龄,电话,职务,工资和家庭成员信息)和信息简表(编号,姓名,电话)  根据职工编号查询职工信息(查询时需要身份确认。单位领导和人事秘书可以看到职工所有信息;财务处人员可以看到职工编号,姓名,性别,年龄,电话,工资;一般职工仅能查到信息简表)  增加新职工信息(由人事秘书完成,需要身份确认)  删除职工信息(由人事秘书完成,需要身份确认)  修改职工工资(由财务处人员完成,需要身份确认)  要求所有信息能够存储在文件中,并具有良好的用户界面

#include #include #include #include using namespace std; const char * file = \"staff.dat\"; const int LIM =8; int ct=0;int Admin;int na;

//ct用来储存文件中数据组数,Admin用来储存登陆后该用户的权限,

//na用来储存登录所输的编号,方便主菜单内使用其显示当前用户

void hline(int); inline void eatline(){while(cin.get()!=\'\\n\') continue;} cla staff {/*职工编号,姓名,性别,年龄,职务,电话,工资和家庭成员信息*/ public:

}; void staff::printf()

//输出的选择,判断其职务,选择调用哪个输出 { if(Admin==1||Admin==2)printf1(); else int num; char name[LIM],sex[3]; int age; char job[10],phone[15]; double wages; char home[20]; int admin; void printf(); void printf1(); void printf2(); void printf3();

}

if(Admin==3)printf2(); else printf3(); void staff::printf1()

//领导及人事秘书能见的输出 {

} void staff::printf2()

//财务人员能见的输出 {

} void staff::printf3()

//普通员工能见的输出 { cout

} hline(3); cout

//输出信息的头部 {

switch(n) { case 1:{cout

};break; case 2:{cout

};break; case 3:{cout

}

}

};break; void menu()

//主菜单 { cout

//二级菜单 { cout

//登陆的实现部分 { cout

int w=0; while(!(cin>>na)) { cin.clear(); while(cin.get()!=\'\\n\')continue;cout

for(int i=1;i

{

streampos place =(i-1) * sizeof stu; find.seekp(place); if (find.fail()) {

cerr

exit(EXIT_FAILURE);

} find.read((char *) &stu, sizeof stu); if(stu.num==na) { } w=1;Admin=stu.admin; }

if(w==0){cout

}

int stu_num()

//计算数据组数 {

} staff stu; ifstream stunum; stunum.open(file,ios_base::in|ios_base::binary); if(stunum.is_open()) {

} stunum.close(); return ct; stunum.seekg(0); while(stunum.read((char *)&stu,sizeof stu))ct++; system(\"pause\"); system(\"cls\"); void setadmin(staff &stu,char jobs[10])

//增加职工时根据职务设置权限 { char job1[10]=\"总经理\"; char job2[10]=\"副总经理\"; char job3[10]=\"人事秘书\"; char job4[10]=\"财务人员\";

}

void add()

// 输入数据的函数,增加职工 {

if(Admin==2) { staff stu; if((!strcmp(stu.job,job1))||(!strcmp(stu.job,job2)))stu.admin=1; else

if(!strcmp(stu.job,job3))stu.admin=2; else if(!strcmp(stu.job,job4))stu.admin=3;

ofstream fout(file, ios_base::out | ios_base::app | ios_base::binary);

if (!fout.is_open())

{

cerr

exit(EXIT_FAILURE);

}

cout

cin.get(stu.name, LIM);

while (stu.name[0] != \'\\0\')

{

cout

cin>>stu.num; cout >stu.age;

cout

cout

cin.get(stu.phone, 15);

cout >stu.wages;

cout

eatline();

cin.get(stu.home, 20); setadmin(stu,stu.job);

fout.write((char *) &stu, sizeof stu); cout

eatline(); cin.get(stu.name,LIM);

}

fout.close();

} else cout

void output()

//输出全部职工信息的函数 { staff stu;

} ifstream find; find.open(file,ios_base::in|ios_base::binary); hline(1); while(find.read((char *) &stu,sizeof stu)) { cout

//修改数据函数 {

if(Admin==3) {

fstream change;

int w=0; staff stu; streampos place;

change.open(file,ios_base::in|ios_base::out|ios_base::binary); if(change.eof()) change.clear();

//清除EOF cout>rec; eatline(); for(int i=0;i

place =i* sizeof stu; change.seekg(place); if (change.fail()) {

cerr

exit(EXIT_FAILURE);

} change.read((char *) &stu, sizeof stu); if(stu.num==rec) { } w=1;

cout

}

if(w==1) { cout > stu.wages) {

if(stu.wages100000)

{

cout

cin.clear();

while(cin.get()!=\'\\n\');

continue;

}

break; } change.seekp(place);

// 回到查找到的地点

change.write((char *) &stu, sizeof stu)

cerr

\\n\";

}

exit(EXIT_FAILURE); } change.close(); cout

void del()

//删除指定编号的职工信息 {

if(Admin==2) {

while(1) { eatline(); int delnum; cout

cin>>delnum; fstream in; in.open(\"staff.dat\",ios_base::in|ios_base::binary); if(!in) { cout

} in.close(); temp.close(); //修改完成,将原文件清空,并将临时文件内容q=0; if(stu.num==delnum) { } if(q==0)temp.write((char*)&stu,sizeof(stu)); in.read((char*)&stu,sizeof(stu)); q=1; 复制回原文件

} { out.write((char*)&stu,sizeof(stu)); temp.read((char*)&stu,sizeof(stu)); out.open(\"staff.dat\",ios_base::out|ios_base::trunc|ios_base::binary); temp.read((char*)&stu,sizeof(stu)); while(!temp.eof()) //将文件内容修改后临时寸到另一个文件

temp.open(\"temp.dat\",ios_base::in|ios_base::binary); if(!temp) { cout

cout>x; if(!(x==\'y\'||x==\'Y\'))break; } else cout

void find()

//查找职工的实现部分 {

while(1) { menu2(); //eatline(); int a; int w=0; cin>>a;int na;char sna[LIM]; fstream find; find.open(file,ios_base::in|ios_base::out|ios_base::binary); eatline(); staff stu; switch(a) { case 1:cout>na;break;

case 2:cout>sna;break; case 3:{w=1;

if(Admin==1||Admin==2)output(); else cout

}break; default:{

} for(int i=1;i

streampos place =(i-1) * sizeof stu; find.seekp(place); if (find.fail()) {

cout

cerr

exit(EXIT_FAILURE); } find.read((char *) &stu, sizeof stu); switch(a) { case 1:if(stu.num==na) {

w=1;

stu.printf(); };break; case 2:if(!strcmp(stu.name,sna))

{

w=1;

stu.printf();

};break; case 3:break; default:{

cout

cin.clear();

while(cin.get()!=\'\\n\');continue;

}

} }

\\n\";

} if(w==0)cout>x; if(!(x==\'y\'||x==\'Y\'))break; } /* 建立职工信息数据(职工编号,姓名,性别,年龄,电话,职务,工资和家庭成员信息)和信息简表 (编号,姓名,电话) 根据职工编号查询职工信息(查询时需要身份确认。单位领导和人事秘书可以看到

职工所有信息;财务处人员可以看到职工编号,姓名,性别,年龄,电话,工资;一般职工仅能查到信 息简表)

增加新职工信息(由人事秘书完成,需要身份确认)

删除职工信息(由人事秘书完成,需要身份确认)

修改职工工资(由财务处人员完成,需要身份确认)

要求所有信息能够存储在文件中,并具有良好的用户界面 */

int main() {

system(\"color 6F\"); ifstream fin; fin.open(file,ios_base::in|ios_base::binary); if(!fin.is_open()) { staff st[5]={ {10001,\"张三\",\"男\",35,\"总经理\",\"13800000001\",20000,\"父母,弟弟,姐姐\",1},

{10002,\"李四\",\"男\",32,\"副总经理\",\"13800000002\",12000,\"父母,兄长\",1},

{10003,\"

\",\"

\",25,\"

书\",\"13800000003\",10000,\"---略---\",2},

{10004,\"陈六\",\"女\",25,\"财务人员\",\"13800000004\",8000,\"---略---\",3},

{10005,\"Obama\",\"

\",23,\"

工\",\"138000000005\",7000,\"---略---\",0}}; ofstream fout(file,ios_base::out|ios_base::binary);

for(int i=0;i>n; switch(n) { case \'1\':eatline();find();break; case \'2\':add();break; case \'3\':del();break; case \'4\':change();break; case \'5\':exit(EXIT_FAILURE);

\\n \";

default:{

cout

cin.clear();

while(cin.get()!=\'\\n\');

continue; }

清除已经输入的内容,程序选择

}

system(\"pause\");

system(\"cls\");

cin.clear(); }

return 0; }

//如果选择错误,cin.clear等语句

职工信息管理系统

职工信息管理系统课程设计报告(定版)

01职工信息管理系统

嵌入式课程设计 学生信息管理系统

C++课程设计学生信息管理系统

信息管理系统课程设计小结(推荐)

VB课程设计学生信息管理系统

数据结构课程设计职工管理系统

C语言课程设计 职工信息管理系统 结构体数组实现程序源代码

C语言职工信息管理系统设计(优秀)

【课程设计】职工信息管理系统
《【课程设计】职工信息管理系统.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档