c++期末高校人员信息管理系统

#include<iostream>
#include <fstream>
#include<stdlib.h>
#define MAX 100
using namespace std;

class person  //定义一个类实现共有的基础信息
{
public:
	int num;
	char name[20];
	char sex[4];
	int age;
};

class Teacher:virtual public person
{

public:
	char dept[20];
	char special[20];
	char title[20];
	void Input()  //录入信息
	{
		cout<<"Input num(编号):";cin>>num;//编号
		cout<<"Input name(姓名):";cin>>name;//姓名
		cout<<"Input sex(性别):";cin>>sex;//性别
		cout<<"Input age(年龄):";cin>>age;//年龄
		cout<<"Input dept(所在系):";cin>>dept;//所在系
		cout<<"Input special(专业):";cin>>special;//专业
		cout<<"Input title(职称):";cin>>title;//职称
	}
	void Output()  //输出信息
	{
		cout<<"编号: "<<num<<"   "<<"姓名: "<<name<<"   "<<"性别: "<<sex<<"   "<<"年龄: "<<age
        <<"   "<<"所在系: "<<dept<<"   "<<"专业: "<<special<<"   "<<"职称: "<<title<<"   "<<endl;
	}
};
Teacher Tea[MAX];  //定义一个教师的对象数组
static int Teatop;  //定义一个静态常量,数组长度

class TeaManager  //教师的管理类
{
public:
	int Add();//添加
	int Search();//查询
	void Show();//显示
	void Edit();//编辑
	int Delete();//删除
    int Count();//统计
	void Save();//保存
	void Read();//读取
};

int TeaManager::Add()  //添加功能
{
    system("cls");  //清屏
	Teacher t;
	int i,nu;
	if(Teatop==MAX)
	{
    cout<<"人数已满"<<endl;
	return 0;
	}
    cout<<"请输入编号:";
    cin>>nu;
	for(i=0;i<Teatop;i++)
	{
		if(nu==Tea[i].num)
		{
        cout<<"已有该编号"<<endl;
		return 0;
		}
	}
	t.Input();
    Tea[Teatop]=t;
    Teatop++;
	cout<<"添加成功!"<<endl;
    return 1;
}

int TeaManager::Search()  //查询功能
{
    system("cls");
	int j,n;
	cout<<"请输入编号:";
    cin>>n;
	for(j=0;j<Teatop;j++)
	{
	 if(n==Tea[j].num) 
     break;
	}
	if(j==Teatop)
		cout<<"没有此人!"<<endl;
	else
		Tea[j].Output();
	return 1;
}

void TeaManager::Show()  //显示功能
{
    system("cls");
	int i;
	if(Teatop==0)
	{cout<<"记录为空!"<<endl; return;}
    for(i=0;i<Teatop;i++)
		Tea[i].Output();
}
void TeaManager::Edit()  //编辑功能
{
    system("cls");  //清屏
	Teacher t1;
	int j,n;
	cout<<"请输入要编辑的人的编号:";
    cin>>n;
	for(j=0;j<Teatop;j++)
	{
	if(n==Tea[j].num) break;
	}
	if(j==Teatop)
	{cout<<"没有此人!"<<endl;return;};
	cout<<"输入修改后的信息,编号不能改:"<<endl;
	t1.Input();
	Tea[j]=t1;
	cout<<"编辑成功!"<<endl;
}

int TeaManager::Delete()  //删除功能
{
    system("cls");  //清屏
	int j,n;
	cout<<"请输入要删除的人的编号:";cin>>n;
	for(j=0;j<Teatop;j++)
	{
	if(n==Tea[j].num) break;
	}
	if(j==Teatop)
	{cout<<"没有此人!"<<endl;return 0;};
    for(j;j<Teatop;j++)
	{
		Tea[j]=Tea[j+1];
	}
	Teatop--;
	cout<<"删除成功!"<<endl;
	return 1;
}

int TeaManager::Count()//统计功能
{
  system("cls");
  int flag1=0,flag2=0;
  string a = "男";
  for(int i=0;i<Teatop;i++)
  {
    if(Tea[i].sex == a)
      flag1++;
  }
   flag2=Teatop-flag1;
  cout<<"教师总数为:"<<Teatop<<endl;
  cout<<"男教师数量为:"<<flag1<<endl;
  cout<<"女教师数量为:"<<flag2<<endl;
}

void TeaManager::Save()  //保存功能
{
    system("cls");  //清屏
	int i;
    ofstream outfile,outfile1;
	outfile1.open("Teacher.dat",ios::out);
	outfile1<<Teatop;
	outfile.open("Teacher_data.dat",ios::binary);
	   if(!outfile)
	   {cerr<<"open error!"<<endl; return; }
	   for(i=0;i<Teatop;i++)
		   outfile.write((char *)&Tea[i],sizeof(Tea[i]));
       outfile.close();
	   cout<<"保存成功!"<<endl;
}

void TeaManager::Read()  //读取功能
{
    system("cls");
	int i;
    ifstream infile,infile1;
	infile1.open("Teacher.dat",ios::in);
	infile1>>Teatop;
	infile.open("Teacher_data.dat",ios::binary);
	   if(!infile)
	   {cerr<<"open error!"<<endl; return; }
	   for(i=0;i<Teatop;i++)
		   infile.read((char *)&Tea[i],sizeof(Tea[i]));
       infile.close();
	   cout<<"读取成功!"<<endl;
}

void Tea_mune(TeaManager TM)  //用一个管理教师的类来实现结果的显示
{
    system("cls");
	int b;
	char c;
	do{
        cout<<endl; cout<<endl;
		cout<<"教师管理"<<endl;
		cout<<"=========================================================================================="<<endl;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值