【c++课设】高校教师信息管理系统

头文件

#ifndef _HEADC_H 
#define _HEADC_H 
#include<iostream> 
#include <string> 
#include <fstream> 
#include <iomanip> 
using namespace std; 
/*-------------------------------------共 有 类-------------------------------------*/ 
class CCommon//公有类 
{ 
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; 
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); 
}; 
void teacher_manage(); 
/*----------------------------实 验 员 类-------------------------------------------*/ 
class Cassistant:public CCommon//实验员类 
{ 
protected: 
string laboratory;//所在实验室 
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); 
friend void _statistics(Cassistant assistant[], int &t); 
}; 
void assistant_manage(); 
/*----------------------------行 政 人 员 类--------------------------------------------*/ 
class Cexecution:public CCommon//行政人员类 
{ 
protected: 
string politics;//政治面貌 
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); 
friend void _statistics(Cexecution execution[], int &t); 
}; 
void execution_manage(); 
/*---------------------------行 政 人 员 兼 教 师 类-------------------------------------*/ 
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; 
}//输入行政人员兼教师数据 
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); 
}; 
void tea_exe_manage(); 
/*---------------------------------统 计 总 人 数---------------------------------------*/ 
void statistics_all();//数据统计数 
void statistics_teacher(); 
void statistics_assistant(); 
void statistics_execution(); 
void statistics_tea_exe(); 
void order();  
const int Max = 100;//各人员总人数最大值 
#endif 
函数实现

#include "HEAD.h"
/*----------------------------教师类中的各个函数操作-----------------------*/ 
void Cteacher::output()//教师读出数据内容 
{ 
 cout<<number<<"\t"<<name<<"\t"; 
 cout<<sex<<"\t"<<age<<"\t"; 
 cout<<department<<"\t"<<profession<<"\t";  
 cout<<position<<endl; 
} 
void teacher_muen()//教师主菜单 
{ 
 cout<<endl; 
 cout<<"----------欢迎进入教师信息管理系统----------"<<endl; 
 cout<<"     1---添加信息,  2---查询信息"<<endl; 
 cout<<"     3---显示信息,  4---编辑信息"<<endl; 
 cout<<"     5---删除信息,  6---统计信息"<<endl; 
 cout<<"     7---退出"<<endl; 
 cout<<"--------------------------------------------"<<endl; 
 cout<<"请输入您的选择--->:"; 
} 
void _add(Cteacher *teacher, int &t)//1教师添加信息 
{ 
 int number,age; 
 string name,sex,department,profession,position; 
 cout<<"添加信息->请输入:"<<endl; 
 while(1) 
 { 
  number=t+1; 
        cout<<"姓名(输入0结束输入)"; 
  cin>>name; 
  if("0" == name) 
   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<<"输入性别错误,请重新输入!"<<endl; 
  }    
 } 
} 
void _query(Cteacher teacher[], int &t)//2查询信息 
{ 
 int choice; 
 int flag,nu; 
 string na; 
 cout<<"1---编号,2---姓名"<<endl; 
     while(1) 
  {  
		 cin>>flag; 
  if(1 == flag||2 == flag) 
   break; 
  else  
   cout<<"输入错误请重新输入!"<<endl; 
  } 
 switch(flag) 
 { 
 case 1://编号查询 
 { 
       do 
    { 
  cout<<"请输入编号!"<<endl; 
  cin>>nu; 
  if(find_nu(teacher,nu,t) < t) 
   teacher[find_nu(teacher,nu,t)].output(); 
  else 
   cout<<"查无此人!"<<endl; 
  cout<<"是否继续1是2否"<<endl; 
   cin>>choice; 
   if(choice == 2) 
    break; 
    }while(choice == 1); 
 };break; 
 case 2://姓名查询 
 { 
     do 
    { 
  cout<<"请输入姓名!"<<endl; 
  cin>>na; 
  if(find_na(teacher,na,t)<t) 
   teacher[ find_na(teacher,na,t) ].output(); 
  else 
   cout<<"查无此人!"<<endl; 
   cout<<"是否继续1是2否"<<endl; 
      cin>>choice; 
           if(choice == 2) 
    break; 
    }while(choice == 1); 
 };break; 
 } 
} 
int find_nu(Cteacher teacher[], int _nu, int &t)//编号查询方式 
{ 
 int i; 
 for(i=0;i<t;i++) 
  if(teacher[i].number==_nu) 
   return i; 
 return t; 
} 
int find_na(Cteacher teacher[], string _na, int &t)//姓名查询方式 
{ 
 int i; 
 for(i=0;i<t;i++) 
  if(teacher[i].name==_na) 
   return i; 
 return t;  
} 
void _display(Cteacher teacher[], int &t)//3显示功能 
{ 
 int i; 
 cout<<endl; 
 cout<<"编号\t姓名\t性别\t年龄\t系部\t专业\t职称"<<endl; 
 for(i=0;i<t;i++) 
  teacher[i].output(); 
 cout<<"--------------------------------------------"<<endl<<endl; 
} 
void _edit(Cteacher teacher[], int &t)//4编辑数据- 
{ 
 int score,fa
1、问题描述 某高校有四类员工教师、实验员、行政人员教师兼行政人员共有的信息包括编号、姓名、性别、年龄等。其中教师还包含的信息有所在系部、专业、职称实验员还包含的信息由所在实验室、职务行政人员还包含的信息有政治面貌、职称等。 2、功能要求 (1)添加功能程序能够任意添加上述四类人员的记录可提供选择界面供用户选择所要添加的人员类别要求员工的编号要唯一如果添加了重复编号的记录时则提示数据添加重复并取消添加。 (2)查询功能可根据编号、姓名等信息对已添加的记录进行查询如果未找到给出相应的提示信息如果找到则显示相应的记录信息。 (3)显示功能可显示当前系统中所有记录每条记录占据一行。 (4)编辑功能可根据查询结果对相应的记录进行修改修改时注意编号的唯一性。 (5)删除功能主要实现对已添加的人员记录进行删除。如果当前系统中没有相应的人员记录则提示“记录为空”并返回操作否则输入要删除的人员的编号或姓名根据所输入的信息删除该人员记录如果没有找到该人员信息则提示相应的记录不存。 (6)统计功能能根据多种参数进行人员的统计。能统计四类人员数量以及总数,统计男、女员工的数量。 (7)保存功能可将当前系统中各类人员记录存入文件中存入方式任意。 (8)读取功能可将保存在文件中的人员信息读入到当前系统中供用户进行使用。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值