高校人员信息管理系统(C++版)

目录

                                 高校人员信息管理系统                                  

一、问题描述

二、功能要求

三、问题的解决方案

四、代码段

1、多文件

2、单文件


                                 高校人员信息管理系统                                  

备注:大一(下)C++语言课程设计

一、问题描述

某高校有四类员工:教师、实验员、行政人员,教师兼行政人员

共有的信息包括:编号、姓名、性别、年龄等

其中,教师还包含的信息有:所在系部、专业、职称;

实验员还包含的信息有:所在实验室、职务;

行政人员还包含的信息有:政治面貌、职称等

二、功能要求

(1)添加功能:程序能够任意添加上述四类人员的记录,提供选择界面供用户选择所要添加的人员类别,要求员工的编号唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。

(2)查询功能:可根据编号、姓名等信息对已添加的记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。

(3)显示功能:可显示当前系统中所有记录,每条记录占据一行。

(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。

(5)删除功能:主要实现对已添加的人员记录进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作;否则,输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存在。

(6)统计功能:能根据多种参数进行人员的统计。能统计四类人员数量以及总数,统计男、女员工的数量。

(7)保存功能:可将当前系统中各类人员记录存入文件中,存入方式任意。

(8)读取功能:可将保存在文件中的人员信息读入到当前系统中,供用户进行使用。

三、问题的解决方案

根据系统功能要求,可以将问题解决分为以下步骤: 

(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;

(2)分析系统中的各个实体及它们之间的关系; 

(3)根据问题描述,设计系统的类层次; 

(4)完成类层次中各个类的描述; 

(5)完成类中各个成员函数的定义; 

(6)完成系统的应用模块; 

(7)功能调试; 

(8)完成系统总结报告。 

四、代码段

1、多文件

2、单文件

#include
#include
#include
#define n 9
#define N 99
using namespace std;

//

//基类staff(员工) 
class staff
{
public:
    
protected:
	int number;           //编号 
	char name[n];         //姓名 
	char gender[n];       //性别 
	int age;              //年龄 
};

///

//派生类teacher(教师) 
class teacher:virtual public staff
{
public:
	void input(int n_number);
	void output();
	friend class tea_manager;
protected:
	char department[n];     //系部 
	char major[n];          //专业 
	char title_1[n];        //职称 
};

///

//派生类teacher(教师)的输入函数input的实现 
void teacher::input(int n_number)
{
	number=n_number;                                                                                     //编号需要检测唯一性 
	cout<<"输入姓名:";cin>>name;
	cout<<"输入性别:";cin>>gender;
	cout<<"输入年龄:";cin>>age;
	cout<<"输入系部:";cin>>department;
	cout<<"输入专业:";cin>>major;
	cout<<"输入职称:";cin>>title_1;
}

//派生类teacher(教师)的输出函数output的实现 
void teacher::output()
{
	cout<<"编号:"<>nu;
	for(i=0;i>choice;
	
	switch(choice)
		{
			case 1: 
			        {
			        	int i,nu;
			        	
			            cout<<"请输入编号:" <>nu;
			            for(i=0;i>na;
			            for(i=0;i>nu;
	for(i=0;i>nu;
	for(i=0;i>choice;
	switch(choice)
	{
		case 1:
			{
				int i,a,num=0;
				
				cout<<"请输入您需要统计的教师的年龄:"<>a;
				for(i=0;i>a; 
		switch(a)
		{
			case 1:tm.add();break;
			case 2:tm.search();break;
			case 3:tm.show();break;
			case 4:tm.edit();break;
			case 5:tm.dele();break;
			case 6:tm.statis();break;
			case 7:tm.save();break;
			case 0:break;
			default:cout<<"选择错误,请您重新选择!"<>name;
	cout<<"输入性别:";cin>>gender;
	cout<<"输入年龄:";cin>>age;
	cout<<"输入实验室:";cin>>lab;
	cout<<"输入职务:";cin>>job;
}

//派生类lab_technician(实验员)的输出函数output的实现 
void lab_technician::output()
{
	cout<<"编号:"<>nu;
	for(i=0;i>choice;
	
	switch(choice)
		{
			case 1: 
			        {
			        	int i,nu;
			        	
			            cout<<"请输入编号:" <>nu;
			            for(i=0;i>na;
			            for(i=0;i>nu;
	for(i=0;i>nu;
	for(i=0;i>choice;
	switch(choice)
	{
		case 1:
			{
				int i,a,num=0;
				
				cout<<"请输入您需要统计的实验员的年龄:"<>a;
				for(i=0;i>a; 
		switch(a)
		{
			case 1:ltm.add();break;
			case 2:ltm.search();break;
			case 3:ltm.show();break;
			case 4:ltm.edit();break;
			case 5:ltm.dele();break;
			case 6:ltm.statis();break;
			case 7:ltm.save();break;
			case 0:break;
			default:cout<<"选择错误,请您重新选择!"<>name;
	cout<<"输入性别:";cin>>gender;
	cout<<"输入年龄:";cin>>age;
	cout<<"输入政治面貌:";cin>>poli_status;
	cout<<"输入职称:";cin>>title_2;
}

//派生类admini_staff(行政人员)的输出函数output的实现 
void admini_staff::output()
{
	cout<<"编号:"<>nu;
	for(i=0;i>choice;
	
	switch(choice)
		{
			case 1: 
			        {
			        	int i,nu;
			        	
			            cout<<"请输入编号:" <>nu;
			            for(i=0;i>na;
			            for(i=0;i>nu;
	for(i=0;i>nu;
	for(i=0;i>choice;
	switch(choice)
	{
		case 1:
			{
				int i,a,num=0;
				
				cout<<"请输入您需要统计的行政人员的年龄:"<>a;
				for(i=0;i>a; 
		switch(a)
		{
			case 1:am.add();break;
			case 2:am.search();break;
			case 3:am.show();break;
			case 4:am.edit();break;
			case 5:am.dele();break;
			case 6:am.statis();break;
			case 7:am.save();break;
			case 0:break;
			default:cout<<"选择错误,请您重新选择!"<>name;
	cout<<"输入性别:";cin>>gender;
	cout<<"输入年龄:";cin>>age;
	cout<<"输入系部:";cin>>department;
	cout<<"输入专业:";cin>>major;
	cout<<"输入教师职称:";cin>>title_1;
	cout<<"输入政治面貌:";cin>>poli_status;
	cout<<"输入行政人员职称:";cin>>title_2;
}

//派生类teach_admini_staff(教师兼行政人员)的输出函数output的实现 
void teach_admini_staff::output()
{
	cout<<"编号:"<>nu;
	for(i=0;i>choice;
	
	switch(choice)
		{
			case 1: 
			        {
			        	int i,nu;
			        	
			            cout<<"请输入编号:" <>nu;
			            for(i=0;i>na;
			            for(i=0;i>nu;
	for(i=0;i>nu;
	for(i=0;i>choice;
	switch(choice)
	{
		case 1:
			{
				int i,a,num=0;
				
				cout<<"请输入您需要统计的教师兼行政人员的年龄:"<>a;
				for(i=0;i>a; 
		switch(a)
		{
			case 1:tam.add();break;
			case 2:tam.search();break;
			case 3:tam.show();break;
			case 4:tam.edit();break;
			case 5:tam.dele();break;
			case 6:tam.statis();break;
			case 7:tam.save();break;
			case 0:break;
			default:cout<<"选择错误,请您重新选择!"<> choice;
		switch(choice)
		{
			case 1:tea_mune(TM);break;                   
			case 2:lab_tech_mune(LTM);break;                     
			case 3:admi_mune(AM);break;                     
			case 4:teach_admi_mune(TAM);break;                       
			case 0:cout<<"谢谢使用高校人员管理系统!"<

你可能感兴趣的:(课程设计与实验,c++,课程设计)