c++高校人事管理系统设计报告书.docx
- 文档编号:6459013
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:28
- 大小:147.14KB
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<<"没有找到你要删除的人,请重新输入: "< } 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)"< } 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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 高校 人事管理系统 设计 报告书