C++课程设计职工信息管理系统.docx
- 文档编号:8437630
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:33
- 大小:297.11KB
C++课程设计职工信息管理系统.docx
《C++课程设计职工信息管理系统.docx》由会员分享,可在线阅读,更多相关《C++课程设计职工信息管理系统.docx(33页珍藏版)》请在冰豆网上搜索。
C++课程设计职工信息管理系统
学号
天津城建大学
高级程序设计语言C++课程设计
设计说明书
职工信息管理系统
起止日期:
2013年7月1日至2013年7月5日
学生姓名
S
班级
成绩
指导教师(签字)
计算机与信息工程学院
2013年7月5日
天津城建大学
课程设计任务书
2012—2013学年第一学期
计算机与信息工程学院计算机科学与技术专业3班级
课程设计名称:
高级程序设计语言C++课程设计
设计题目:
职工信息管理系统
完成期限:
自2013年7月1日至2013年7月5日共1周
设计依据、要求及主要内容(可另加附页):
设计依据:
c++程序设计
设计要求:
通过这次课程设计,需要对C++的各个环节知识形成一个有结构的整体,可以熟练的对C++知识进行综合应用,同时达到对已学知识的全面复习.
主要内容:
职工信息管理系统
职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复).试设计一职工信息管理系统,使之能提供以下功能:
1.职工信息录入功能(职工信息用文件保存)--输入?
2.职工信息浏览功能--输出?
3.查询和排序功能:
(1)按工资从大到小排序
(2)按学历查询(3)按职工号或姓名查询
4.职工信息删除、修改功能
指导教师(签字):
系(教研室)主任(签字):
批准日期:
2013年7月5日
职工信息管理系统
1、设计目的
.通过实验实现对学生信息系统的管理操作;
.进一步掌握和利用C++进行程设计的能力;
.进一步理解和运用结构化程序设计的思想和方法;
.初步掌握开发一个小型实用系统的基本方法;
.学会利用流程图或N-S图表示算法;
.掌握书写程设计开发文档的能力(书写课程设计报告);
2、总体设计
3、详细设计:
3.1、程序具体功能和分工情况:
程序具体功能:
、输入和输出(输入一个员工的信息将它插入数组中,输出录入员工的信息);
、排序(按工资从大到小排序);
、查询(按学历、职工号或姓名查询);
、删除(输入职工号将其删除)
、修改(输入职工号修改其信息)
、保存(将职工信息以文件形式保存)
程序分工情况:
孙磊:
输入,输出,查询
霍英达:
排序,删除,修改,保存
3.2、调试分析
上机调试之前我们对所编的程序作了纸面上的检查,先改正一些不该犯错误,如{}没有搭配完整,漏写,拼写错误等,这些都是我们通过认真的态度在运行之前可以解决、避免的.而且还可以减少机器时间.往往一连串的错误是由于漏写或写错一个字符引起的.
在上机调试过程中,对文件这一节的知识还不够熟悉,所以在解决输入输出流的过程中出了很多问题.
4、源程序和运行结果
4.1、源程序
#include
#include"string"
#include
#include
#include
#defineN100//N作为最大职工总数
intf=0;//f作为开关
usingnamespacestd;
stringp;//p作为接收菜单选项的字符串
voidmenu();//显示菜单
classworker
{
public:
worker(){}
voidshow();//职工信息显示
~worker(){}
friendclassWorkerList;
private:
stringnum,name,sex,edu,address,tel;
intage,salary;
};
classWorkerList
{
private:
workerw[N];
intNUM;//用来计算职工数目
intcount;//用来暂时记录当前操作第几个职工
public:
voidadd();//职工信息录入
voidsort();//职工信息排序
voidsearch();//职工信息查找
voiddele();//职工信息删除
voidmodify();//职工信息修改
voidsave();//职工信息以文件形式保存
voidshowworker();//显示职工信息在屏幕上
WorkerList(){
NUM=0;
count=0;
}
};
voidmenu()//显示菜单
{
cout< cout<<"***********************************************"< cout<<"****"< cout<<"**职工信息管理系统主菜单**"< cout<<"****"< cout<<"**1.职工信息添加**"< cout<<"**2.职工信息修改**"< cout<<"**3.职工信息删除**"< cout<<"**4.职工信息排序**"< cout<<"**5.职工信息查找**"< cout<<"**6.职工信息显示**"< cout<<"**7.职工信息保存**"< cout<<"**0.退出**"< cout<<"****"< cout<<"***********************************************"< cout< } voiddomain()//主菜单函数实现 { WorkerListwl; while (1) { system("cls"); menu(); cout<<"请选择数字编号0~7"< inti1; cin>>i1; while(! (i1>=0&&i1<=7)) { cout<<"输入有误,请重新输入: "< cin>>i1; } switch(i1) { case1: wl.add();break; case2: wl.modify();break; case3: wl.dele();break; case4: wl.sort();break; case5: wl.search();break; case6: wl.showworker();break; case7: wl.save();break; case0: cout<<"系统退出! ! "< exit(0); default: break; } cout<<"是否返回主菜单? Y/N"< cin>>p; if(p=="n"||p=="N") { cout<<"系统退出! ! "< exit(0); } } } voidWorkerList: : add()//职工信息添加函数实现 { cout<<"请输入职工信息: "< cout<<"工号: "; stringnum; cin>>num; for(inti=0;i while(num==w[i].num) { cout<<"此职工编号已存在,请重新输入: "< cout<<"工号: "; cin>>num; } w[NUM].num=num; cout<<"姓名: ";cin>>w[NUM].name; cout<<"性别: ";cin>>w[NUM].sex; cout<<"学历: ";cin>>w[NUM].edu; cout<<"年龄: ";cin>>w[NUM].age; cout<<"工资: ";cin>>w[NUM].salary; cout<<"地址: ";cin>>w[NUM].address; cout<<"电话: ";cin>>w[NUM].tel; ++NUM; count=NUM; } voidworker: : show()//职工信息显示函数实现 { cout<<"工号: "< cout<<"姓名: "< cout<<"性别: "< cout<<"学历: "< cout<<"年龄: "< cout<<"工资: "< cout<<"地址: "< cout<<"电话: "< cout< } voidWorkerList: : modify()//职工信息修改函数实现 { if(NUM<=0) { cout<<"没有职工信息存入,系统将返回主菜单"< menu(); } cout<<"请输入需要修改信息职工的工号: "< stringnum1; cin>>num1; intj=0,k; intflag=1; while(flag) { for(;j { if(num1==w[j].num) { flag=0; k=j; break; } } if(flag) { cout<<"不存在此员工,请重新输入: "< j=0; cin>>num1; } } cout<<"你选择的职工的信息为: "< cout<<"工号: "< cout<<"姓名: "< cout<<"性别: "< cout<<"学历: "< cout<<"年龄: "< cout<<"工资: "< cout<<"地址: "< cout<<"电话: "< cout< cout<<"***********************************************"< cout<<"**1.修改工号**"< cout<<"**2.修改姓名**"< cout<<"**3.修改性别**"< cout<<"**4.修改学历**"< cout<<"**5.修改年龄**"< cout<<"**6.修改工资**"< cout<<"**7.修改地址**"< cout<<"**8.修改电话**"< cout<<"**0.返回主菜单**"< cout<<"***********************************************"< cout< cout<<"请选择数字编号0~8"< inti3; cin>>i3; while(i3<0||i3>8) { cout<<"输入有误,请重新输入: "< cin>>i3; } switch(i3) { case1: cout<<"请输入新的职工工号: "; cin>>w[k].num; cout<<"修改信息已保存,现返回主菜单: "< menu(); break; case2: cout<<"请输入新的职工姓名: "; cin>>w[k].name; cout<<"修改信息已保存,现返回主菜单: "< menu(); break; case3: cout<<"请输入新的职工性别: "; cin>>w[k].sex; cout<<"修改信息已保存,现返回主菜单: "< menu(); break; case4: cout<<"请输入新的职工学历: "; cin>>w[k].edu; cout<<"修改信息已保存,现返回主菜单: "< menu(); break; case5: cout<<"请输入新的职工年龄: "; cin>>w[k].age; cout<<"修改信息已保存,现返回主菜单: "< menu(); break; case6: cout<<"请输入新的职工工资: "; cin>>w[k].salary; cout<<"修改信息已保存,现返回主菜单: "< menu(); break; case7: cout<<"请输入新的职工地址: "; cin>>w[k].address; cout<<"修改信息已保存,现返回主菜单: "< menu(); break; case8: cout<<"请输入新的职工电话: "; cin>>w[k].tel; cout<<"修改信息已保存,现返回主菜单: "< menu(); break; case0: menu(); default: break; } } voidWorkerList: : showworker()//职工信息显示函数实现 { if(NUM<=0) { cout<<"没有职工信息存入,系统将返回主菜单"< menu(); } else cout<<"已保存的职工信息如下: "< for(inti=0;i { cout<<"***********************************************"< cout<<"工号: "< cout<<"姓名: "< cout<<"性别: "< cout<<"学历: "< cout<<"年龄: "< cout<<"工资: "< cout<<"地址: "< cout<<"电话: "< cout<<"***********************************************"< } } voidWorkerList: : search()//职工信息查询函数实现 { if(NUM<=0) { cout<<"没有职工信息存入,系统将返回主菜单"< menu(); } else cout<<"***********************************************"< cout<<"**请选择查找方式: **"< cout<<"**1.按工号查找**"< cout<<"**2.按姓名查找**"< cout<<"**3.按学历查找**"< cout<<"**0.返回主菜单**"< cout<<"***********************************************"< cout< cout<<"请选择数字编号0~3"< inti4; cin>>i4; while(i4<0||i4>3) { cout<<"输入有误,请重新输入: "< cin>>i4; } if(i4==1) { stringnum2; cout<<"请输入要查询的职工的工号: "< cin>>num2; intj=0,k; intflag=1; while(flag) { for(;j { if(num2==w[j].num) { flag=0; k=j; cout<<"查询的职工信息如下: "< cout<<"工号: "< cout<<"姓名: "< cout<<"性别: "< cout<<"学历: "< cout<<"年龄: "< cout<<"工资: "< cout<<"地址: "< cout<<"电话: "< break; } } if(flag) { flag=0; cout<<"不存在此职工! ! \n返回主菜单"< break; } } } elseif(i4==2) { stringname2; cout<<"请输入要查询的职工的姓名: "< cin>>name2; intj2=0,k2; intflag2=1; while(flag2) { for(;j2 { if(name2==w[j2].name) { flag2=0; k2=j2; cout<<"查询的职工信息如下: "< cout<<"工号: "< cout<<"姓名: "< cout<<"性别: "< cout<<"学历: "< cout<<"年龄: "< cout<<"工资: "< cout<<"地址: "< cout<<"电话: "< break; } } if(flag2) { flag2=0; cout<<"不存在此职工! ! \n返回主菜单"< break; } } } elseif(i4==3) { stringedu2; cout<<"请输入要查询的职工的学历: "< cin>>edu2; intj4=0,k4; intflag4=1; while(flag4) { for(;j4 { if(edu2==w[j4].edu) { flag4=0; k4=j4; cout<<"查询的职工信息如下: "< cout<<"工号: "< cout<<"姓名: "< cout<<"性别: "< cout<<"学历: "< cout<<"年龄: "<