C++课设高校人员信息管理系统
BigWork
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
报告
软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载
报告题目: 高校人员信息管理系统 作者所在系部: 计算机科学与工程系 作者所在专业: 计算机科学与技术 作者所在班级: 作 者 姓 名 :
指导教师姓名: 完 成 时 间 : 2013-6-20
1
一(目的与要求
1、目的
(1)要求学生能够熟练掌握C++语言的基本知识和技能。
(2)基本掌握面向对象程序设计的基本思路和方法。
(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。
2、基本要求
(1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计。 (2)在系统的设计中,要求运用面向对象的机制(继承、派生及多态性)来实现系统功能,并且要建立清晰的类层次关系。
(3)在系统设计中要分析和定义各个类,每个类中要有各自的数据成员和成员函数。
(4)主函数中提供菜单选项,并给出足够的选择信息以及提示信息。 (5) 程序具有一定的健壮性,不会因为用户的输入错误引起程序运行错误而中断执行。
3、创新要求
在基本要求达到后,可根据实际情况进行创新设计,如根据查找结果进行修改的功能及设计出比较友好的界面等。
二(验收方式
未定。
三(课设报告
在完成验收之后,提交课设报告。其中报告中需包括系统设计要求,设计思路,系统功能模块图,系统流程图,类的层次图(包括类成员列表),调试过程,关键程序代码,总结,参考书目等。另外,课设报告要严格遵守模板文件的格式要求,思路清晰,内容详实丰富。
四(成绩评定
占期末成绩的20%
五(说明
1、每位同学在以下的题目中任选一个来完成。
2、学生应严格遵守课堂秩序,按时上机,认真完成各项任务。
3、上机前做好充分的准备,包括事先写好主要程序代码,以保证充分利用上机的时间调试程序。
4、每位同学各自独立完成自己的题目,禁止抄袭或拷贝。
5、必须按规定时间上交课设报告。
2
六(课设题目
题目1 “高校人员信息管理系统”
、问题描述 1
某高校,主要人员有:领导、教师和学生,共有的信息包括:编号、姓名、性别、年龄。其中领导还应包含的信息有:任职部门(学院、各系部)、职称;教师还应包含的信息有:职称、任职时间、专业;学生还应包含的信息有:所在班级、所在宿舍等。
某高校有四类员工:教师、实验员、行政人员,教师兼行政人员;共有的信息包括:编号、姓名、性别、年龄等。其中,教师还包含的信息有:所在系部、专业、职称;实验员还包含的信息由:所在实验室、职务;行政人员还包含的信息有:政治面貌、职称等。
2、功能要求
(1)基本功能
1) 添加功能:程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。
2) 查询功能:可根据编号、姓名等信息对已添加的记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。
3) 显示功能:可显示当前系统中所有记录,每条记录占据一行。
4) 编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。
5)删除功能:主要实现对已添加的人员记录进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空~”并返回操作;否则,输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存。
6) 统计功能:能根据多种参数进行人员的统计。例如,统计四类人员数量以及总
数,
或者统计男、女员工的数量,或者统计某年龄段人员的数量等。
7)保存功能:可将当前系统中各类人员记录存入文件中,存入方式任意。
8)读取功能:可将保存在文件中的人员信息读入到当前系统中,供用户进行使用。
3
摘 要
在当前的学校人员管理体制下,高等学校不但要有浓厚的学风气息、雄厚的师资力量、
先进精良硬件设备,与此同时,作为先进科学技术和优秀文化的承载者和传播者,更需要
有一个执行效率高并且便于操作的现代信息化管理系统,以实现对高校各类人员进行添加、
查找、修改、删除、统计、保存、读取等动态管理的目的。
本文利用Microsoft Visual C++6.0的ADO编写程序,实现了高校对实验员、教师、
行政人员、教师兼行政人员的管理操作。
本系统主要有四个管理模块——实验员管理系统、教师管理系统、行政人员管理系统、
教师兼行政人员管理系统。已经过全面的系统测试,能够很好的运行,达到了预期的效果。
关键词:系统设计 类 信息
目 录
摘要 .................................................................................................................................. ?
第1章 绪 论 ................................................................................................................. 1
1.1 课程设计的目的.................................................................................................. 1
1.2 课程设计的背景和意义 ...................................................................................... 1
1.1.1 课程设计的背景 ........................................................................................ 1
1.1.2 课程设计的意义 ........................................................................................ 1
1.3 课程设计环境 ..................................................................................................... 1
第2章 需求分析 ............................................................................................................. 2
2.1 问题描述 ............................................................................................................ 2
2.2 功能需求 ............................................................................................................ 2
2.3 问题的解决方案 ................................................................................................ 3
第3章 系统设计 ............................................................................................................. 4
3.1 数据设计 ............................................................................................................ 4
3.1.1 类设计 ...................................................................................................... 4
3.1.2 类之间关系 .............................................................................................. 5
3.2结构设计 ............................................................................................................. 6
4
3.2.1 系统流程图 .............................................................................................. 6
3.2.2 界面设计 .................................................................................................. 6
第4章 系统实现 ............................................................................................................. 9
4.1 类实现 ................................................................................................................ 9
4.2 函数实现 ...........................................................................................................11
4.3 主函数 实现 .................................................................................................... 21
第1章 绪论
1.1 课程设计的目的
(1)要求学生能够熟练掌握C++语言的基本知识和技能。
(2)基本掌握面向对象程序设计的基本思路和方法。
(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。
1.2 课程设计的背景和意义
1.2.1课程设计的背景
1. 理论研究基础
(1)综合C++编程知识,结合实际加以应用。
(2)参考课本对课本熟悉,应用类、数组等内容。
2. 技术层面的支持
安装Microsoft Visual C++ 6.0集成开发环境。
1.2.2 课程设计的意义
综合复习《C++面向对象程序设计》的所有知识点,进一步熟练面向对象程序的开发方
法和流程,提高学生独立分析问题和解决问题的能力,培养学生的中、小型实践项目开发
能力。
让我们提前感受到编写软件的过程和解决问题的方法。
5
1.3 课程设计环境
软件环境:Microsoft Visual C++ 6.0集成开发环境。
硬件环境:图书馆五楼机房,笔记本电脑。
第2章 需求分析
2.1 问题描述
某高校有四类员工:教师、实验员、行政人员,教师兼行政人员;共有的信息包括:编号、姓名、性别、年龄等。其中,教师还包含的信息有:所在系部、专业、职称;实验员还包含的信息由:所在实验室、职务;行政人员还包含的信息有:政治面貌、职称等 2.2 功能要求
基本功能
1) 添加功能:程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所
要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号的记录时,则提
示数据添加重复并取消添加。
2) 查询功能:可根据编号、姓名等信息对已添加的记录进行查询,如果未找到,给出
相应的提示信息,如果找到,则显示相应的记录信息。
3) 显示功能:可显示当前系统中所有记录,每条记录占据一行。
4) 编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。
5)删除功能:主要实现对已添加的人员记录进行删除。如果当前系统中没有相应的人
员记录,则提示“记录为空~”并返回操作;否则,输入要删除的人员的编号或姓
名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的
记录不存。
6) 统计功能:能根据多种参数进行人员的统计。例如,统计四类人员数量以及总数,
或者统计男、女员工的数量,或者统计某年龄段人员的数量等。
7)保存功能:可将当前系统中各类人员记录存入文件中,存入方式任意。
8)读取功能:可将保存在文件中的人员信息读入到当前系统中,供用户进行使用。
6
2.3 问题的解决方案
根据系统功能要求,可以将问题解决分为以下步骤:
)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计; 1
2)分析系统中的各个实体及它们之间的关系;
3)根据问题描述,设计系统的类层次;
4)完成类层次中各个类的描述;
5)完成类中各个成员函数的定义;
6)完成系统的应用模块;
7)功能调试;
8)完成系统总结报告。
第3章 系统设计 3.1 数据设计
3.1.1 类设计
此系统共设计了九个类:基类(class CCommon),实验员类(class Cassistant),
教师类(class Cteacher),行政人员类(class Cexecution),教师兼行政人
员类(class Ctea_exe )
基类中有
int number;//编号
string name;//姓名
string sex;//性别
int age;//年龄
实验员类中添加了
string laboratory;//所在实验室
7
string position;//职称
public:
void set(int _number,string _name,string _sex,int _age,string _laboratory,string _position)
{
number = _number;
name = _name;
sex = _sex;
age = _age;
laboratory = _laboratory;
position = _position;
}//输入实Ì验员数据
void output();
~Cassistant()
{
}//析构函数
friend int find_nu(Cassistant assistant[], int _nu, int &t);
friend int find_na(Cassistant assistant[], string _na, int &t);
friend void add(Cassistant assistant[], int _fa);
friend void dele(Cassistant assistant[], int _fa);
friend void closefile(Cassistant assistant[] ,int &t);
8
friend void _statistics(Cassistant assistant[], int &t);
教师类中添加了
string department;//所在系部
string profession;//专业
string position;//职称
public:
void set(int _number,string _name,string _sex,int _age,string _department,string _profession,string _position)
{
number = _number;
name = _name;
sex = _sex;
age = _age;
department = _department;
profession = _profession;
position = _position;
}//输入教师数据
void output();//输出教师数据
~Cteacher()
{
}//析构函数
9
friend int find_nu(Cteacher teacher[], int _nu, int &t);
friend int find_na(Cteacher teacher[], string _na, int &t);
friend void add(Cteacher teacher[], int _fa);
friend void dele(Cteacher teacher[], int _fa);
friend void closefile(Cteacher teacher[] ,int &t);
friend void _statistics(Cteacher teacher[], int &t);
行政人员类中添加了
string politics;//政治面貌
string position;//职称
void set(int _number,string _name,string _sex,int _age,string _politics,string _position)
{
number = _number;
name = _name;
sex = _sex;
age = _age;
politics = _politics;
position = _position;
}//输入行政人员数据
void output();
10
~Cexecution()
{
}//析构函数
friend int find_nu(Cexecution execution[], int _nu, int &t);
friend int find_na(Cexecution execution[], string _na, int &t);
friend void add(Cexecution execution[], int _fa);
friend void dele(Cexecution execution[], int _fa);
friend void closefile(Cexecution execution[] ,int &t);
friend void _statistics(Cexecution execution[], int &t);
教师兼行政人员类添加了
string politics;//政治面貌
string department;//所在系部
string profession;//专业
string position;//职称
void set(int _number,string _name,string _sex,int _age,string _politics,string _department,string _profession,string _position)
{number = _number;
name = _name;
sex = _sex;
age = _age;
politics = _politics;
department = _department;
11
profession = _profession;
position = _position;
}//输行政人员兼教师数据
void output();
~Ctea_exe(){}//析构函数
friend int find_nu(Ctea_exe tea_exe[], int _nu, int &t);
friend int find_na(Ctea_exe tea_exe[], string _na, int &t);
friend void add(Ctea_exe tea_exe[], int _fa);
friend void dele(Ctea_exe tea_exe[], int _fa);
friend void closefile(Ctea_exe tea_exe[] ,int &t);
friend void _statistics(Ctea_exe tea_exe[], int &t); 3.1.2 类之间的关系
基 基类(class CCommon):实验员类(class Cassistant),教师类(class Cteacher),行政人员类(class Cexecution),教师兼行政人员类(class Ctea_exe )
3.1.3 函数设计
在四个管理类中定义了以下相同函数,功能如其后所说
_add(); 实现该类记录的添加;
_query(); 实现该类记录的查询
_display(); 实现该类所有记录的显示;
_edit(); 实现该类记录的修改;
12
_delete();实现该类记录的删除;
_statistics(); 实现该类记录的统计;
XX_put(); 退出
Opefile()读出
Closefile()写入
3.2 结构设计
3.2.1 系统流程图
人员类
教师类 行政人员类 实验员类
教师兼行政人员类
图3―1
3.2.2 界面设计
第4章 系统实现 4.1 类实现
对于基类的定义
class CCommon//公有类
{
13
protected:
int number;//编号
string name;//姓名
string sex;//性别
int age;//年龄
};
class Cteacher:public CCommon//教师类
{
protected:
string department;//所在系部
string profession;//专业
string position;//职称
public:
void set(int _number,string _name,string _sex,int _age,string
_department,string _profession,string _position)
{
number = _number;
name = _name;
sex = _sex;
age = _age;
department = _department;
profession = _profession;
14
position = _position;
}//输入教师数据
void output();
~Cteacher()
{
}//析构函数
friend int find_nu(Cteacher teacher[], int _nu, int &t);
friend int find_na(Cteacher teacher[], string _na, int &t);
friend void add(Cteacher teacher[], int _fa);
friend void dele(Cteacher teacher[], int _fa);
friend void closefile(Cteacher teacher[] ,int &t);
friend void _statistics(Cteacher teacher[], int &t); };
class Cassistant:public CCommon//实验员类
{
protected:
string laboratory;//所在实验室
string position;//职称
public:
void set(int _number,string _name,string _sex,int _age,string
_laboratory,string _position)
{
15
number = _number;
name = _name;
sex = _sex;
age = _age;
laboratory = _laboratory;
position = _position;
}//输入实验员数据
void output();
~Cassistant()
{
}//析构函数
friend int find_nu(Cassistant assistant[], int _nu, int &t);
friend int find_na(Cassistant assistant[], string _na, int &t);
friend void add(Cassistant assistant[], int _fa);
friend void dele(Cassistant assistant[], int _fa);
friend void closefile(Cassistant assistant[] ,int &t);
friend void _statistics(Cassistant assistant[], int &t); };
class Cexecution:public CCommon//行政人员类
{
protected:
string politics;//政治面貌
16
string position;//职称
public:
void set(int _number,string _name,string _sex,int _age,string _politics,string _position)
{
number = _number;
name = _name;
sex = _sex;
age = _age;
politics = _politics;
position = _position;
}//输入行政人员数据
void output();
~Cexecution()
{
}//析构函数
friend int find_nu(Cexecution execution[], int _nu, int &t);
friend int find_na(Cexecution execution[], string _na, int &t);
friend void add(Cexecution execution[], int _fa);
friend void dele(Cexecution execution[], int _fa);
friend void closefile(Cexecution execution[] ,int &t);
17
friend void _statistics(Cexecution execution[], int &t); };
class Ctea_exe:public CCommon//行政人员兼教师类 {
protected:
string politics;//政治面貌
string department;//所在系部
string profession;//专业
string position;//职称
public:
void set(int _number,string _name,string _sex,int _age,string
_politics,string _department,string _profession,string _position)
{
number = _number;
name = _name;
sex = _sex;
age = _age;
politics = _politics;
department = _department;
profession = _profession;
position = _position;
}//输入行政人员兼教师数据
18
void output();
~Ctea_exe()
{
}//析构函数
friend int find_nu(Ctea_exe tea_exe[], int _nu, int &t);
friend int find_na(Ctea_exe tea_exe[], string _na, int &t);
friend void add(Ctea_exe tea_exe[], int _fa);
friend void dele(Ctea_exe tea_exe[], int _fa);
friend void closefile(Ctea_exe tea_exe[] ,int &t);
friend void _statistics(Ctea_exe tea_exe[], int &t); };
4.2 函数实现
对于在四个管理类中定义了相同的函数,以教师类为例
添加功能:
void _add(Cteacher *teacher, int &t)//1添加信息
{
int number,age;
string name,sex,department,profession,position;
cout<<"添加信息->请输入:"<
>name;
if("0" == name)
19
break;
cout<<"性别(M--man,W--woman):";
while(1)
{
cin>>sex;
if(sex == "M"||sex == "W")
{
cout<<"年龄:";
cin>>age;
cout<<"系部:";
cin>>department;
cout<<"专业:";
cin>>profession;
cout<<"职称:";
cin>>position;
teacher[t].set(number,name,sex,age,department,profession,position)
;
++t;
break;
}
else
cout<<"输入性别错误,请重新输入!"<>flag;
if(1 == flag||2 == flag)
break;
else
cout<<"输入错误,请重新输入:!"<>nu;
if(find_nu(teacher,nu,t) < t)
teacher[find_nu(teacher,nu,t)].output();
else
cout<<"查无此人!"<>choice;
if(choice == 2)
21
break;
}while(choice == 1);
};break;
case 2://姓名查询
{
do
{
cout<<"请输入姓名!"<>na;
if(find_na(teacher,na,t)>choice;
if(choice == 2)
break;
}while(choice == 1);
};break;
}
}
int find_nu(Cteacher teacher[], int _nu, int &t)//编号查询方式 {
int i;
for(i=0;i>choice;
switch(choice)
{
case 1:
{
cout<<"请输入编号:";
int num;
cin>>num;
for(int i=0;i>choice;
switch(choice)
{
case 1:
{
for(int j=i;j>name;
for(int i=0;i>choice;
switch(choice)
{
case 1:
{
for(int j=i;j>Tea[i].num
>>Tea[i].name
>>Tea[i].sex
>>Tea[i].age
>>Tea[i].depart
>>Tea[i].spec
>>Tea[i].title)
{
26
Tea[i].Output();
i++;
top++;
}
in.close();
};
教师函数主界面的定义
void TeaMenu()
{
Tea_Manage t;
int choice;
while(choice!=0)
{
cout<< " \n ***教师管理***
"<退出 |"<>choice;
switch(choice)
{
case 1:t.Add();break;
case 2:t.Search();break;
case 3:t.Edit();break;
case 4:t.Delete();break;
case 5:t.Show();break;
case 6:t.Save();break;
case 7:t.Read();break;
case 8:t.Total();break;
case 0:cout<<"退出成功!"<实验员管理2=>教师管理3=>行政管理4=教师行政管理0=>退出系统
||"<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"<>choice;
switch(choice)
{
case 1:ExpMenu();break;
case 2:TeaMenu();break;
case 3:StafMenu();break;
case 4:Tea_StafMenu();break;
case 0:cout<<"\n您已安全退出系统."<
using namespace std;
#include"head.h"
void statistics_all()//数据统计行数
{
statistics_teacher();
statistics_assistant();
statistics_execution();
statistics_tea_exe(); }
void muen()
{
cout<<"**********欢迎进入高校信息管理系统***********"<:";
}
int main()
{
int i;
while(1)
{
muen();
cin>>i;
switch(i)
{
case 1: teacher_manage(); break;//教师
case 2: assistant_manage(); break;//实验员
29
case 3: execution_manage(); break;//行政
case 4: tea_exe_manage(); break;//教师兼行政
case 5: statistics_all(); break;//统计
default :cout<<"欢迎再次使用!"<
本文档为【C++课设高校人员信息管理系统】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。