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;iwhile(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<<"年龄:
"<cout<<"工资:
"<cout<<"地址:
"<