c++高校人事管理系统设计报告书.docx
《c++高校人事管理系统设计报告书.docx》由会员分享,可在线阅读,更多相关《c++高校人事管理系统设计报告书.docx(28页珍藏版)》请在冰豆网上搜索。
c++高校人事管理系统设计报告书
河北联合大学
2011-2012第2学期
《软件设计基础-C++》
课程设计报告
设计名称:
高校人事管理系统
姓名:
刘广浩学号:
201114290104
专业班级:
11水1
学院:
建工学院
设计时间:
5.1—6.5
设计地点:
机房
成绩:
指导教师评语:
指导教师签字:
年月日
目录
1.课程设计目的4
2.课程设计任务与要求4
3.课程设计说明书5
4.课程设计成果7
5.程序调试过程20
6.设计问题的不足和改进方案22
7.课程设计心得23
8.参考文献24
1.课程设计目的
《软件设计基础-C++》课程设计是这门课程的实践性教学环节之一,本次设计结合实际应用的要求,使课程设计既覆盖C++的知识点,又接近工程实际需要。
目的是通过课程设计的综合训练,培养学生实际分析问题、解决问题的能力,以及编程和动手能力,最终目标是通过课程设计这种形式,帮助学生系统掌握C++这门课程的主要内容,养成良好的编程习惯,更好的完成教学任务。
2.课程设计任务与要求:
要求:
本次课程设计利用《软件设计基础-C++》课程中所学到的编程知识和编程技巧,完成具有一定难度和工作量的程序设计题目,帮助学生掌握编程、调试的基本技能,独立完成所布置的任务。
要求:
1、对系统进行功能需求分析
2、设计合理的数据结构和系统框架
3、编程简练,程序功能齐全,能正确运行
4、说明书、流程图要清楚
5、课题完成后必须按要求提交课程设计报告
任务:
将自己选择题目的任务要求简单填写在此处。
要求用C++的思想来完成程序的设计。
在基本要求达到后,进行创新设计,强化程序功能、美化界面。
3.课程设计说明书
概要设计
主要写模块说明,模块结构图,系统流程图(例N-S流程图)(五号,宋体)
模块说明:
在我设计的程序中一共包括了六个模块,分别是:
新增模块、查找模块、修改模块、完全打印模块、删除模块、退出系统模块。
这六个模块中新增、查找和修改都是独立分开作为子函数的,另外三个则是作为switch语句中的一部分,通过switch语句,把六大模块联系了起来,同时,为了实现多次使用这六大模块,就在switch语句外加了while循环。
模块结构图:
详细设计
总体流程图
:
各功能模块流程图:
4.课程设计成果
程序源代码,运行结果(可用屏幕抓图的方法说明)(五号,宋体)(多页)
//C++编写高校人事管理系统
#include
#include
#include
#include
usingnamespacestd;
//#######################################################################################
//人员信息类
classperson
{
private:
charnum[10];//编号
chartype[20];//人员类型
charname[20];//姓名
charsex[10];//性别
charage[10];//年龄
charzhiwu[20];//职务
charzhicheng[20];//职称
charzzmm[20];//政治面貌
charzgxl[20];//最高学历
charrzsj[20];//任职时间
charlysj[30];//来院时间
staticintbianhao;//计数器
public:
voidsetperson(char*tyoe1,char*name1,char*sex1,char*age1,char*zhiwu1,char*zhicheng1,char*zzmm1,char*zgxl1,char*rzsj1,char*lysj1);
staticint&getbianhao(){returnbianhao;};
char*gettype(){returntype;};
char*getname(){returnname;};
char*getsex(){returnsex;};
char*getage(){returnage;};
char*getzhiwu(){returnzhiwu;};
char*getzhicheng(){returnzhicheng;};
char*getzzmm(){returnzzmm;};
char*getzgxl(){returnzgxl;};
char*getrzsj(){returnrzsj;};
char*getlysj(){returnlysj;};
char*getnum(){returnnum;};
voidtjry();
voidfind();
voidoutput();
voidshanchu();
voidxiugai();
voidtongji();
};
personp[100];
personpp[100];
intk;
intk1;
intperson:
:
bianhao=0;
//#######################################################################################
voidperson:
:
setperson(char*type1,char*name1,char*sex1,char*age1,char*zhiwu1,char*zhicheng1,char*zzmm1,char*zgxl1,char*rzsj1,char*lysj1)
{
intstaticj=1;
strcpy(type,type1);
strcpy(name,name1);
strcpy(sex,sex1);
strcpy(age,age1);
strcpy(zhiwu,zhiwu1);
strcpy(zhicheng,zhicheng1);
strcpy(zzmm,zzmm1);
strcpy(zgxl,zgxl1);
strcpy(rzsj,rzsj1);
strcpy(lysj,lysj1);
bianhao++;
ofstreamfile("添加人员.txt",ios_base:
:
app);
file<
file<
file<
file<
file<
file<
file<
file<
file<
file<
file<
j++;
file.close();
}
//#######################################################################################
voidperson:
:
tongji()//统计人员信息
{
inta=0,b=0,c=0,d=0,k=1;
ifstreamfilem("添加人员.txt",ios_base:
:
in);
while(!
filem.eof())
{
filem>>pp[k].getnum();
filem>>pp[k].gettype();
filem>>pp[k].getname();
filem>>pp[k].getsex();
filem>>pp[k].getage();
filem>>pp[k].getzhiwu();
filem>>pp[k].getzhicheng();
filem>>pp[k].getzzmm();
filem>>pp[k].getzgxl();
filem>>pp[k].getrzsj();
filem>>pp[k].getlysj();
if(strcmp(pp[k].gettype(),"行政人员")==0||strcmp(pp[k].gettype(),"教师")==0||strcmp(pp[k].gettype(),"一般员工")==0)
a++;
if(strcmp(pp[k].getzzmm(),"党员")==0)
b++;
if(strcmp(pp[k].getsex(),"女")==0)
c++;
if(strcmp(pp[k].getzgxl(),"博士")==0)
d++;
k++;
}
filem.close();
cout<cout<}
//#######################################################################################
voidperson:
:
xiugai()//修改人员信息
{
intk=1;
ifstreamfilem("添加人员.txt",ios_base:
:
in);
while(!
filem.eof())
{filem>>pp[k].getnum();
filem>>pp[k].gettype();
filem>>pp[k].getname();
filem>>pp[k].getsex();
filem>>pp[k].getage();
filem>>pp[k].getzhiwu();
filem>>pp[k].getzhicheng();
filem>>pp[k].getzzmm();
filem>>pp[k].getzgxl();
filem>>pp[k].getrzsj();
filem>>pp[k].getlysj();
k++;
}
filem.close();
cout<<"请输入要修改的人的编号:
"<intx,y;
cin>>x;
cout<<"请输入编号为"<"<cout<<"1:
编号-2:
人员类型-3:
姓名-4:
性别-5:
年龄-6:
职务-7:
职称-8:
政治面貌-9:
最高学历-10:
任职时间-11:
来院时间"<cin>>y;
switch(y)
{
case1:
{cout<<"请输入新的编号:
";cin>>pp[x].getnum();}break;
case2:
{cout<<"请输入新的人员类型:
";cin>>pp[x].gettype();}break;
case3:
{cout<<"请输入新的姓名:
";cin>>pp[x].getname();}break;
case4:
{cout<<"请输入新的性别:
";cin>>pp[x].getsex();}break;
case5:
{cout<<"请输入新的年龄:
";cin>>pp[x].getage();}break;
case6:
{cout<<"请输入新的职务:
";cin>>pp[x].getzhiwu();}break;
case7:
{cout<<"请输入新的职称:
";cin>>pp[x].getzhicheng();}break;
case8:
{cout<<"请输入新的政治面貌:
";cin>>pp[x].getzzmm();}break;
case9:
{cout<<"请输入新的最高学历:
";cin>>pp[x].getzgxl();}break;
case10:
{cout<<"请输入新的任职时间:
";cin>>pp[x].getrzsj();}break;
case11:
{cout<<"请输入新的来院时间:
";cin>>pp[x].getlysj();}break;
}
ofstreamfile1("添加人员.txt",ios_base:
:
trunc);
for(k=1;k<=bianhao;k++)
{file1<file1<file1<file1<file1<file1<file1<file1<file1<file1<file1<}
file1.close();
cout<<"修改并保存完毕"<}
//#######################################################################################
voidperson:
:
shanchu()//删除人员信息
{
intz;
ifstreamfilem("添加人员.txt",ios_base:
:
in);
intk=1;
while(!
filem.eof())
{
filem>>pp[k].getnum();
filem>>pp[k].gettype();
filem>>pp[k].getname();
filem>>pp[k].getsex();
filem>>pp[k].getage();
filem>>pp[k].getzhiwu();
filem>>pp[k].getzhicheng();
filem>>pp[k].getzzmm();
filem>>pp[k].getzgxl();
filem>>pp[k].getrzsj();
filem>>pp[k].getlysj();
k++;
}
filem.close();
cout<<"请输入要被删除的人员信息编号:
"<cin>>z;
while(z<1||z>bianhao)
{
cout<<"没有找到你要删除的人,请重新输入:
"<>z;
}
ofstreamfile2("添加人员.txt",ios_base:
:
trunc);
for(k=1;k<=bianhao;k++)
{
if(z==k)break;
file2<file2<file2<file2<file2<file2<file2<file2<file2<file2<file2<}
for(k=z+1;k<=bianhao;k++)
{
file2<file2<file2<file2<file2<file2<file2<file2<file2<file2<file2<}
file2.close();
cout<<"删除记录完毕"<}
//#######################################################################################
voidperson:
:
find()//查询人员信息
{
cout<<"1:
按编号查询——2:
按姓名查询——请选择(1-2)"<intm;
cin>>m;
while(m<1||m>2)
{
cout<<"请重新输入(1-2)"<>m;
}
switch(m)
{
case1:
{
charn[10];
cout<<"请输入要查找的编号:
";
cin>>n;
ifstreamfilem("添加人员.txt",ios_base:
:
in);
intk=1;
while(!
filem.eof())
{
filem>>pp[k].getnum();
filem>>pp[k].gettype();
filem>>pp[k].getname();
filem>>pp[k].getsex();
filem>>pp[k].getage();
filem>>pp[k].getzhiwu();
filem>>pp[k].getzhicheng();
filem>>pp[k].getzzmm();
filem>>pp[k].getzgxl();
filem>>pp[k].getrzsj();
filem>>pp[k].getlysj();
if(strcmp(pp[k].getnum(),n)==0)
{
cout<cout<
(9)<(5)<<[k].getrzsj()<break;
}
k++;
if(filem.eof())
{cout<<"\n 警告:
没有要查找的人!
!
!
!
!
!
";}
}filem.close();
}
break;
case2:
{
charnname[20];
cout<<"请输入要查找的姓名:
";
cin>>nname;
ifstreamfilem("添加人员.txt",ios_base:
:
in);
intk=1;
while(!
filem.eof())
{
filem>>pp[k].getnum();
filem>>pp[k].gettype();
filem>>pp[k].getname();
filem>>pp[k].getsex();
filem>>pp[k].getage();
filem>>pp[k].getzhiwu();
filem>>pp[k].getzhicheng();
filem>>pp[k].getzzmm();
filem>>pp[k].getzgxl();
filem>>pp[k].getrzsj();
filem>>pp[k].getlysj();
if(strcmp(pp[k].getname(),nname)==0)
{
cout<cou