职工信息系统C 底稿

  • 格式:pdf
  • 大小:494.00 KB
  • 文档页数:22
void employee::average() {
int i,count1=0,count2=0; float temp1=0,temp2=0,ave1,ave2; char c; for(i=0;i<N;i++)
switch(stu[i].num.branchnum) { case 1:
temp1+=stu[Байду номын сангаас].num.salary;count1++;break; case 2:
else count++;} if(count==N) {cout<<"没有此人! 请重新输入!";write.search();} } } void employee::find() { int i,count=0; char k[20]; char c; cout<<"请输入查找人的姓名:"<<endl; cin>>k; {for(i=0;i<N;i++) {
cout<<"的信息为:"<<endl; cout<<"************"<<endl; cout<<"**姓名:"; cout<<stu[i]<<endl; cout<<"**性别:"; cout<<stu[i].num.sex<<endl; cout<<"**工号:"; cout<<stu[i].num.serial; cout<<"**电话:"; cout<<stu[i].num.tele<<endl; cout<<"**科室:"; cout<<stu[i].num.branchnum<<endl; cout<<"**工资:"; cout<<stu[i].num.salary<<endl; cout<<"************"<<endl; } cout<<"按 y/Y 返回主菜单!"<<endl; cin>>c; if(c=='y'||c=='Y') menu_select();}
3 数据结构 本系统中主要的数据结构就是职工的信息,包含职工号、姓名、性别、职务、
工资、电话等,在处理过程中各项可以作为一个职工的不同属性来进行处理。 4 程序流程
系统的执行应从功能菜单选择开始,依据用户的选择来进行后续的处理,直
到用户选择退出系统为止,其间应对用户的选择做出判断及异常处理。系统的流 程图如图所示:
保存员工的信息,即为将当前所有的员工的信息存入到 workerlist.txt 中。 这里我们采用的是 C++的 ofstream 的写入文件的对象进行控制。 6. 职工信息的排序
对员工信息进行排序,包括按员工编号排序(从小到大),按员工工资进 行排序(从高到低)。其中也设置了员工人数检查机制,即:如果员工的人数为 0,则直接返回主菜单。 7. 职工信息的显示
case 2: write.find();break;
case 3: write.average();break; case 4: write.list();break; case 5: write.change();break; case 6: write.cancel();break; default: {cout<<"输入有误!"<<endl;menu_select();} } } 运行结果如下;
删除员工信息中设计了对员工人数的检查,如果员工人数 NUM 的值为 0, 则返回到主菜单。如果员工人数 NUM 不为 0,则进入删除员工信息的界面。界 面包括员工信息列表,和删除选项,方便用户的操作。 4. 员工职工查找
通过 find()函数进行查找。该函数比较简单,通过循环一次比较 Per[n].num 是否与你输入的 num 是否相等,如果相等,则输入到屏幕上,如果未找到任何 匹配的员工,则显示“未找该员工”。 5. 保存职工信息
山东交通学院
C++课程设计
题目:职工信息系统 班级:交控 132 组号:4 组 组员: 李子雄 130515228
李海松 130515229 李家隆 130515230
龚健 130515231 辛立汉 130515227
张睿 120515222 李振 120515117
摘要
随着经济的高速发展,一个好的职工信息 管理程序在企业及用人单位扮演着重要的角色, 为了设计一个功能强大的职工信息管理系统,在 设计中我们做出了明细分工,目的是要让本组成 员都从这次课程设计中学到编程经验与团队精 神。“职工信息管理系统”,系统以菜单方式工 作,编写存放有职工基本信息,包含职工工号, 姓名,性别,出生年月,学历,职务,工资,住 址,电话等,并且要求录入职工号不重复;录入 的职工号信息要求用文件形式保存,并可以对其 进行浏览、查询、修改、删除等基本操作,建立 职工信息管理的文件。
cin>>c; if(c=='y'||c=='Y') write.menu_select(); }
修改和删除模块:李家隆
void employee::change() {
int i,count=0; int s; char c; cout<<"请输入工号:"; cin>>s; cout<<endl; {for(i=0;i<N;i++) {
}cout<<"按 y/Y 返回主菜单!"<<endl; cin>>c; if(c=='y'||c=='Y') menu_select();} else count++;} if(count==N) {cout<<"没有此人! 请重新输入!";write.find();} } }
科室平均工资计算模块:龚健
息; 四、将员工信息分别按编号由小到大、基本工资由大到小的顺序进行显示,
要求采用不同的排序算法; 五、给出某员工编号,可对该员工信息进行查找,若找到,显示相应信息,
否则显示“该员工不存在”,要求用顺序查找和二分查找法进行查找; 六、将所有职工信息保存在磁盘上。
系统界面如图:
2,编写目的: 完成题目所要求的全部功能,并加入本组自己的设计风格,在界面友好的基础上, 增加一些附加功能,使得功能更为强大,最终得到一个可靠性高,易于操作的职工信息 管理的系统。
if(stu[i].num.serial==s) {{ cout<<"请输入修改后的姓名.性别(男(b))/(女(g)).工号.电话位数(12 以内).所在科室. 工资:"<<endl;
查找模块:李子雄 可以按照姓名和工号查询,在选择序号是发生错位,之后修改。
void employee::search() {
int i,count=0; int s; char c; cout<<"请输入查找人的工号:"; cin>>s; {for(i=0;i<N;i++) {
if(stu[i].num.serial==s) {{cout<<s;
二.系统功能分析
该职工管理系统针对员工信息数据的处理设计了以下功能:
1. 添加职工信息 添加员工信息,提供员工信息的添加,在该模块中设计了安全检查机制,即
确认是否添加员工的信息,若对员工信息的添加不满意,则可以选择重新输入。 还设置有返回主菜单的选项以方便用户。 2. 修改职工信息
修改员工信息设置了员工人数检查,果员工人数 NUM 的值为 0,则返回 主菜单。如果员工人数 NUM 不为 0,则进入删除员工信息的界面。修改员工信 息板块功能强大,界面友好,用循环控制修改某员工属性,这样使得操作极为方 便。 3. 删除职工信息
if(strcmp(stu[i],k)==0) {{cout<<k;
cout<<"的信息为:"<<endl; cout<<"************"<<endl; cout<<"**姓名:"; cout<<stu[i]<<endl; cout<<"**性别:"; cout<<stu[i].num.sex<<endl; cout<<"**工号:"; cout<<stu[i].num.serial; cout<<"**电话:"; cout<<stu[i].num.tele<<endl; cout<<"**科室:"; cout<<stu[i].num.branchnum<<endl; cout<<"**工资:"; cout<<stu[i].num.salary<<endl; cout<<"************"<<endl;
开始
菜单选择