人员信息管理系统课程设计Word文档格式.docx
- 文档编号:7724757
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:34
- 大小:88.41KB
人员信息管理系统课程设计Word文档格式.docx
《人员信息管理系统课程设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《人员信息管理系统课程设计Word文档格式.docx(34页珍藏版)》请在冰点文库上搜索。
2-显示全部人员记录
3-计算人员平均年龄
4-删除一个人员记录
5-按岗位(部门)输出人员信息(可选)
6-按姓名检索所有信息
7-结束程序运行
四、设计过程
(1)分析题目
(2)建立Time,people类,以及People类的两个继承类Teacher,Student类
(3)定义People类的成员函数:
People();
//构造函数,默认现今是2011年
virtualvoidAdd1()=0;
//从文件录入
virtualvoidAdd2()=0;
//从键盘录入
virtualvoidAdd()=0;
//添加人员
virtualvoidDisplay();
//显示人员信息
virtualvoidDisplaypart(charp[]);
//按部门输出
virtualvoidcheckname(charn[]);
//按姓名检索
virtualvoidcheckyear(int);
//按年龄检索
virtualintaverage();
//计算平均年龄
virtualvoidDel(charn[])=0;
//按姓名删除
virtualvoidDel(int);
//按位置删除
(4)建立main函数
(5)优化界面
五、设计细则
(1)将具体日期year,month,day成员数据定义为Time类的公有成员。
(2)类外分别实现各个类的具体实现,将People类定义为Teacher,Student类的虚基类。
(3)设计main()函数。
定义类的对象Teacherteacher1,Studentstudent1,用case语句选择对类对象的相关操作。
(4)定义People类的两个指针进行各自的操作。
六、说明
在选择类对象操作编号时,如果输入的字符不合法,跳出并再次输入,直至输入合法。
课程设计任务书
姓名
学号
班级
10计71
课题组
成员
姓名
分数
性别
班级
在本项目中的分工
赵轲
90
男
10计71
People类,两个继承类、main()函数,优化程序
王文闻
85
成员函数的具体实现的实现,实现多文件操作
管昌举
Time类的实现,界面优化
课程名称
课程性质
综合性
设计时间
2011年09月01日——2011年09月14日
设计名称
设计要求
设计思路
与
设计过程
(1)分析题目
计划与进度
计划:
9月1日—9月2日,分析人员信息管理系统的需求并抽象出people,time,及两个继承类;
9月3日,小组成员构想大体思路并明确分工;
9月4日—9月9日,小组各成员完成自己的任务,包括定义类,数据处理方式(9月6日小组成员查看进度);
9月10日,所有程序代码汇总,进行调试与运行,记录存在的问题;
9月11日—9月14日,分析运行结果,查找错误;
9月15日,书写课程设计指导书;
9月16日,上交课程设计相关材料。
进度:
9月1日—9月2日,分析人员信息管理系统的需求并理解其需求;
9月3日—9月4日,小组成员构想大体思路并明确分工;
9月5日—9月11日,小组各成员完成自己的任务,包括定义类,数据处理方式(9月8日小组成员查看进度);
9月12日,所有程序代码汇总,进行调试与运行,记录存在的问题;
9月13日,分析运行结果,查找错误,完善程序,优化界面;
9月14日,书写课程设计指导书;
任课教师
意见
说明
设计名称:
人员信息管理系统日期:
2010年9月1日
设计内容:
函数声明与定义
设计目的与要求:
目的:
对C++实例化应用。
要求:
设计环境或器材、原理与说明:
设计环境:
VC6.0操作环境
原理:
类的构造与使用
设计过程(步骤)或程序代码:
#include<
iostream>
string>
fstream.h>
stdlib.h>
#definemaxnum2000//可以预设定最大管理人数为2000
fstreamiofile;
//Time类建立,用以记录日期,包括年月日
classTime
{
public:
intyear,month,day;
private:
};
//infor类建立,用以记录人员信息,包括姓名,性别,出生日期,编号,工作岗位,工作时间,年龄等
classinfor
intyear;
charname[30];
charsex[10];
charnum[30];
charworkpart[30];
Timebirthtime;
Timeworktime;
friendistream&
operator>
(istream&
input,infor&
T);
//运算符重载,>
,只能为友元
friendostream&
operator<
(ostream&
output,infor&
//运算符重载,<
friendintoperator-(Time&
t1,Time&
t2);
//运算符重载,-
//People类建立,用以提供各种功能操作,是虚基类
classPeople//虚基类
People();
//读取文件信息
protected:
infordata[maxnum];
Timenow;
intlength;
//记录人员总数
//Teacher类建立,公有继承People类
classTeacher:
virtualpublicPeople
voidAdd1();
voidAdd2();
voidAdd();
voidDisplay();
voidDel(inti);
voidDel(charn[]);
//Student类建立,公有继承People类
classStudent:
//People类的具体实现
People:
:
People()//构造函数
length=0;
now.year=2011;
//默认现今是2011年
now.month=1;
now.day=1;
}
voidPeople:
Display()//Display函数
inti;
for(i=0;
i<
length;
i++)
cout<
data[i];
Displaypart(charp[])//Displaypart函数
inti,c;
if(strcmp(data[i].workpart,p)==0)
{
cout<
"
请选择输出:
1-姓名2-性别3-编号4-工作岗位5-出生日期6-工作时间7-年龄8-返回"
endl;
while(cin>
c)
{
switch(c)
{
case1:
姓名:
data[i].name<
break;
case2:
性别:
data[i].sex<
case3:
编号:
data[i].num<
case4:
工作地点:
data[i].workpart<
case5:
出生日期:
data[i].birthtime.year<
"
data[i].birthtime.month<
data[i].birthtime.day<
case6:
工作时间:
data[i].worktime.year<
data[i].worktime.month<
data[i].worktime.day<
case7:
年龄:
data[i].year<
case8:
gotoloop;
default:
cout<
操作错误!
}
}
loop:
;
//返回
}
checkname(charn[])//checkname函数
if(strcmp(data[i].name,n)==0)
checkyear(intm)//checkyear函数
if(data[i].year==m)
//计算平均年龄
intPeople:
average()
inti,sum=0;
sum+=data[i].year;
returnsum/length;
//按编号删除人员信息
Del(inti)
intj;
if(i<
1||i>
length)
不存在第"
个元素"
for(j=i;
j<
j++)
data[j-1]=data[j];
length--;
}
//从文件中读取数据
voidStudent:
Add1()
iofile.open("
Student_information.txt"
ios:
in|ios:
binary);
while(iofile.seekg(ios:
cur))
{
iofile.seekg(length*sizeof(data[length]),ios:
beg);
iofile.read((char*)&
data[length],sizeof(data[length]));
length++;
People:
Del(length);
添加人员信息成功"
iofile.close();
//从键盘录入信息
Add2()
charc;
out|ios:
do
cin>
data[length];
data[length].year=now-data[length].birthtime;
iofile.write((char*)&
contine(Y|N)?
c;
}while('
y'
==c||'
Y'
==c);
iofile.close();
//添加人员信息
Add()
app|ios:
cin>
data[length].year=now-data[length].birthtime;
iofile.write((char*)&
length++;
//显示信息
Display()
*********************学生信息************************"
if(length==0)
无信息"
//按姓名删除函数
Del(charn[])
inti,j,k;
k=i+1;
}
if(k<
1)
不存在姓名"
n<
的人员信息"
for(j=k;
data[j-1]=data[j];
删除成功"
//按编号删除
//读取文件
voidTeacher:
{
Teacher_information.txt"
while(iofile.seekg(sizeof(data[length]),ios:
if(iofile.seekg(length*sizeof(data[length]),ios:
beg))
iofile.read((char*)&
else
break;
//从键盘录入信息
charcc;
cc;
==cc||'
==cc);
//显示函数
*********************教师信息**************
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人员 信息管理 系统 课程设计
![提示](https://static.bingdoc.com/images/bang_tan.gif)