C++实习报告职工管理信息系统.docx
《C++实习报告职工管理信息系统.docx》由会员分享,可在线阅读,更多相关《C++实习报告职工管理信息系统.docx(14页珍藏版)》请在冰豆网上搜索。
![C++实习报告职工管理信息系统.docx](https://file1.bdocx.com/fileroot1/2023-2/2/2a78e79e-a260-4b1f-a811-f527566d574a/2a78e79e-a260-4b1f-a811-f527566d574a1.gif)
C++实习报告职工管理信息系统
学号
面向对象应用程序设计课程设计
设计说明书
职工管理信息系统
起止日期:
2020年7月6日至2020年7月10日
学生姓名
班级
成绩
指导教师(签字)
计算机与信息工程学院
2020年7月10日
职工管理信息系统
1、设计目的
.通过实验实现对学生信息系统的管理操作;
.进一步掌握和利用C++进行程设计的能力;
.进一步理解和运用结构化程序设计的思想和方法;
.初步掌握开发一个小型实用系统的基本方法;
.学会利用流程图或N-S图表示算法;
.掌握书写程设计开发文档的能力(书写课程设计报告);
2、总体设计
3、详细设计:
3.1、程序具体功能:
(要求详细写明)
职工信息包括:
职工ID、姓名、性别、出生日期、籍贯、学历、职称、工资、家庭住址、电话等、职务、类型(机关、教师、实验室、研究员等)。
试用面向对象程序设计思想,设计奖学金申请管理信息系统,使之能提供以下功能:
1、职工信息录入功能
2、职工信息文件读取功能
3、职工信息文件保存功能
4、职工信息浏览功能
5、查询功能:
1)按ID查询
2)按职工类型查询
6、修改功能:
根据ID修改相应信息;
7、删除职工功能:
删除相应ID的职工信息。
8、排序功能(由用户指定按照职工类型或ID;指定升序或降序)
9、退出
3.2、调试分析(要求详细写明)
上机调试之前我们对所编的程序作了纸面上的检查,先改正一些不该犯错误,如{}没有搭配完整,漏写,拼写错误等,这些都是我们通过认真的态度在运行之前可以解决、避免的。
而且还可以减少机器时间。
往往一连串的错误是由于漏写或写错一个字符引起的。
在上机调试过程中,对文件这一节的知识还不够熟悉,所以在解决输入输出流的过程中出了很多问题。
问题如下:
1.对于函数不是很了解,例如排序时遇到困难,找了好多资料,请教别人才写出来
2.对于程序某些地方不是理解透彻,写的时候困难重重
3.排序函数写了好长时间才写出来
4.调试过程中发现输出的文字不够美观,对程序进行优化
5.从最初的90多个错误逐渐到0个
4、源程序和运行结果
4.1、源程序
#include
#include
#include
usingnamespacestd;
classDate
{
private:
intyear,month,day;
public:
voiddisplay();
intget_year();//获取year值
intget_month();//获取month值
intget_day();//获取day值
voidset_year();//设置year值
voidset_month();//设置month值
voidset_day();//设置day值
voidset_all(inty,intm,intd);
};
voidDate:
:
set_all(inty,intm,intd)
{
year=y;
month=m;
day=d;
}
voidDate:
:
display()
{
cout<}
intDate:
:
get_year()
{
returnyear;
}
intDate:
:
get_month()
{
returnmonth;
}
intDate:
:
get_day()
{
returnday;
}
voidDate:
:
set_year()
{
cout<";
cin>>year;
}
voidDate:
:
set_month()
{
cout<<"月:
";
cin>>month;
}
voidDate:
:
set_day()
{
cout<<"日:
";
cin>>day;
}
classEmployee
{
public:
Employee();
Employee(intn,stringna,chars,stringp,Dateb);
~Employee();
voidinput_Employee();
voidoutput_Employee();
voidset_Position(stringp);//设置职位值
intget_num();//获取职工号
stringget_name();
charget_sex();
stringget_position();
Dateget_birthday();
voidset_allE(intn,stringna,chars,stringp,intyear,intmonth,intday);
private:
intnum;
stringname;
charsex;
stringposition;
Datebirthday;
};
stringEmployee:
:
get_name()
{
returnname;
}
charEmployee:
:
get_sex()
{
returnsex;
}
stringEmployee:
:
get_position()
{
returnposition;
}
DateEmployee:
:
get_birthday()
{
returnbirthday;
}
voidEmployee:
:
set_allE(intn,stringna,chars,stringp,intyear,intmonth,intday)
{
num=n;
name=na;
sex=s;
position=p;
birthday.set_all(year,month,day);
}
Employee:
:
Employee()
{
num=0;
name="";
sex='';
position="";
}
voidEmployee:
:
input_Employee()
{
cout<<"职工号:
";
cin>>num;
cout<<"姓名:
";
cin>>name;
cout<<"性别:
";
cin>>sex;
cout<<"职位:
";
cin>>position;
cout<<"出生日期:
";
birthday.set_year();
birthday.set_month();
birthday.set_day();
}
voidEmployee:
:
output_Employee()
{
cout<<"职工号姓名性别职位出生日期"<cout<}
voidEmployee:
:
set_Position(stringp)
{
position=p;
}
intEmployee:
:
get_num()
{
returnnum;
}
Employee:
:
Employee(intn,stringna,chars,stringp,Dateb):
num(n),name(na),sex(s),position(p),birthday(b){}
Employee:
:
~Employee()
{
}
classEmployeeSys{
private:
Employeee[2];
public:
EmployeeSys();
voidmenu();//显示菜单
voidinput_all();//输入所有职工信息
voidoutput_all();//输出所有职工信息
voidmodify_position();//修改指定职工职位
intsearch_num();//查找指定职工号
voidread_fromfile();
voidsave_tofile();
voidop();//所有操作
};
EmployeeSys:
:
EmployeeSys()
{
}
voidEmployeeSys:
:
menu()
{
cout<cout<<"1、职工信息的录入"<cout<<"2、职工信息的显示"<cout<<"3、修改人员的职位信息"<cout<<"4、通过编号进行人员查询"<cout<<"5、读取信息"<cout<<"6、保存信息"<cout<<"7、退出"<cout<<"*注:
本程序仅作为老师讲解的样例程序,包含了课设题目的主要功能。
同学们请严格按照课设题目要求进行设计和编写。
"<}
voidEmployeeSys:
:
input_all()
{
for(inti=0;i<2;i++)
e[i].input_Employee();
}
voidEmployeeSys:
:
output_all()
{
for(inti=0;i<2;i++)
e[i].output_Employee();
}
voidEmployeeSys:
:
modify_position()
{
inti=search_num();
if(i<2)
{
stringmodifyp;
cout<<"请输入新的职位:
";
cin>>modifyp;
e[i].set_Position(modifyp);
e[i].output_Employee();
}
}
intEmployeeSys:
:
search_num()
{
intsearchnum;
cout<<"要查找的编号:
";
cin>>searchnum;
for(inti=0;i<2;i++)
{
if(e[i].get_num()==searchnum)
{
e[i].output_Employee();
break;
}
}
if(i>=2)
cout<<"notfind";
returni;
}
voidEmployeeSys:
:
read_fromfile()
{
intnum;
stringname;
charsex;
stringposition;
intyear,month,day;
ifstreaminfile("employee.txt",ios:
:
in);
if(!
infile)
{
cerr<<"err!
"<exit
(1);
}
for(inti=0;i<2;i++)
{
infile>>num>>name>>sex>>position>>year>>month>>day;
e[i].set_allE(num,name,sex,position,year,month,day);
}
infile.close();
}
voidEmployeeSys:
:
save_tofile()
{
ofstreamoutfile("employee.txt",ios:
:
out);
if(!
outfile)
{
cerr<<"err!
"<exit
(1);
}
for(inti=0;i<2;i++)
{
outfile<outfile<}
outfile.close();
}
voidEmployeeSys:
:
op()
{
while
(1)
{
menu();
cout<<"请输入操作序号:
";
intn;
cin>>n;
switch(n)
{
case1:
input_all();break;
case2:
output_all();break;
case3:
modify_position();break;
case4:
search_num();break;
case5:
read_fromfile();break;
case6:
save_tofile();break;
case7:
exit
(1);break;
}
}
}
intmain()
{
EmployeeSysem;
em.op();
return0;
}
4.3、心得体会