C++实现的学校档案管理系统

学校的期末设计
项目目的:实现职工类、教室类、学生类信息的录入,输出,修改,删除,查找等。
有用的话就点个赞吧

#include"iostream"
#include"stdlib.h"
#define MAX 100
using namespace std;
class person //定义一个类实现共有的基础信息
{
public:
	int num;
	char name[20];
	char sex[4];
	char zy[50];
};
//Teacher class
class Teacher :virtual public person
{
public:
	char bm[20];
	char zc[20];
	char jc[20];
	void Input() //录入信息
	{
		cout << "Input num: "; cin >> num;
		cout << "Input name: "; cin >> name;
		cout << "Input sex: "; cin >> sex;
		cout << "Input zy: "; cin >> zy;
		cout << "Input bm: "; cin >> bm;
		cout << "Input zc: "; cin >> zc;
		cout << "Input jc: "; cin >> jc;
	}
	void Output() //输出信息
	{
		cout << "编号: " << num << " " << "姓名: " << name << " " << "性别: " << sex << " " << "专业: " << zy <<
			" " << "部门: " << bm << " " << "职称: " << zc << " " << "奖惩情况: " << jc << endl;
	}
};
Teacher Tea[MAX]; //定义一个教师的对象数组
static int Teatop; //定义一个静态常量

class TeaManager //教师的管理类
{
public:
	int Add();
	int Search();
	void Edit();
	int Delete();

};
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::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;
}

void Tea_mune(TeaManager TM) //用一个管理教师的类来实现结果的显示
{
	system("cls");
	int b;
	char c;
	do {
		cout << endl; cout << endl;
		cout << "教师管理" << endl;
		cout << "==========================================================================================" << endl;
		cout << "| 1.添加    ";
		cout << "2.查询    ";
		cout << "3.编辑    ";
		cout << "4.删除    ";
		cout << "0.退出 |" << endl;
		cout << "==========================================================================================" << endl;
		cout << "请选择:"; cin >> b;
		switch (b)
		{
		case 1:TM.Add(); break;
		case 2:TM.Search(); break;
		case 3:TM.Edit(); break;
		case 4:TM.Delete(); break;
		default:cout << "\n error" << endl; break;
		case 0:break;
		}


	} while (b != 0);
	
}

class Student :virtual public person //学生
{
public:
	char bj[10];
	char jc[10];
	void Input()
	{
		cout << "Input num : "; cin >> num;
		cout << "Input name : "; cin >> name;
		cout << "Input sex : "; cin >> sex;
		cout << "Input zy : "; cin >> zy;
		cout << "Input bj : "; cin >> bj;
		cout << "Input jc : "; cin >> jc;
	}
	void Output()
	{
		cout << "编号: " << num << " " << "姓名: " << name << " " << "性别: " << sex << " " << "专业: " << zy <<
			" " << "班级: " << bj << " " << "奖惩情况: " << jc << endl;
	}

};
Student Stu[MAX]; //定义一个学生的对象数组
static int Stutop;
class StuManager //管理学生的类
{
public:
	int Add();
	int Search();

	void Edit();
	int Delete();
	
};
int StuManager::Add() //添加功能
{
	system("cls");
	Student t;
	int i, nu;
	if (Stutop == MAX)
	{
		cout << "人数已满" << endl;
		return 0;
	}
	cout << "请输入编号:"; cin >> nu;
	for (i = 0; i < Stutop; i++)
	{
		if (nu == Stu[i].num)
		{
			cout << "已有该编号" << endl;
			return 0;
		}
	}
	t.Input();
	Stu[Stutop] = t;
	Stutop++;
	cout << "添加成功!" << endl;
	return 1;
}
int StuManager::Search() //查询功能
{
	system("cls");
	int j, n;
	cout << "请输入编号:"; cin >> n;
	for (j = 0; j < Stutop; j++)
	{
		if (n == Stu[j].num) break;
	}
	if (j == Stutop)
		cout << "没有此人!" << endl;
	else
		Stu[j].Output();
	return 1;
}

void StuManager::Edit() //编辑功能
{
	system("cls");
	Student t1;
	int j, n;
	cout << "请输入要编辑的人的编号:"; cin >> n;
	for (j = 0; j < Stutop; j++)
	{
		if (n == Stu[j].num) break;
	}
	if (j == Stutop)
	{
		cout << "没有此人!" << endl; return;
	};
	cout << "输入修改后的信息,编号不能改:" << endl;
	t1.Input();
	Stu[j] = t1;
	cout << "编辑成功!" << endl;
}
int StuManager::Delete() //删除功能
{
	system("cls");
	int j, n;
	cout << "请输入要删除的人的编号:"; cin >> n;
	for (j = 0; j < Stutop; j++)
	{
		if (n == Stu[j].num) break;
	}
	if (j == Stutop)
	{
		cout << "没有此人!" << endl; return 0;
	};
	for (j; j < Stutop; j++)
	{
		Stu[j] = Stu[j + 1];
	}
	Stutop;
	cout << "删除成功!" << endl;
	return 1;
}

void Stu_mune(StuManager TM)
{
	system("cls");
	int b;
	char c;
	do {
		cout << endl; cout << endl;
		cout << "学生管理" << endl;
		cout << " << endl";
			cout << "| 1.添加 ";
		cout << "2.查询 ";
		cout << "3.编辑 ";
		cout << "4.删除 ";
		cout << "0.退出 | " << endl;
		cout << " << endl";
		cout << "请选择:"; cin >> b;
		switch (b)
		{
		case 1:TM.Add(); break;
		case 2:TM.Search(); break;
		case 3:TM.Edit(); break;
		case 4:TM.Delete(); break;
		default:cout << "\n error" << endl; break;
		case 0:break;
		}

	} while (b != 0);
	
}

class Administrator :virtual public person //行政人员
{
public:
	char bm[10];
	char zc[10];
	char jc[10];
	void Input()
	{
		cout << "Input num : "; cin >> num;
		cout << "Input name : "; cin >> name;
		cout << "Input sex : "; cin >> sex;
		cout << "Input zy : "; cin >> zy;
		cout << "Input bm : "; cin >> bm;
		cout << "Input zc : "; cin >> zc;
		cout << "Input jc : "; cin >> jc;
	}
	void Output()
	{
		cout << "编号: " << num << " " << "姓名: " << name << " " << "性别: " << sex << " " << "专业: " << zy <<
			" " << "部门: " << bm << " " << "职称: " << zc << " " << "奖惩情况: " << jc << endl;
	}

};
Administrator Adm[MAX];
static int Admtop;
class AdmManager //管理行政人员的类
{
public:
	int Add();
	int Search();

	void Edit();
	int Delete();	
};
int AdmManager::Add()
{
	system("cls");
	Administrator t;
	int i, nu;
	if (Admtop == MAX)
	{
		cout << "人数已满" << endl;
		return 0;
	}
	cout << "请输入编号:"; cin >> nu;
	for (i = 0; i < Admtop; i++)
	{
		if (nu == Adm[i].num)
		{
			cout << "已有该编号" << endl;
			return 0;
		}
	}
	t.Input();
	Adm[Admtop] = t;
	Admtop++;
	cout << "添加成功!" << endl;
	return 1;
}
int AdmManager::Search()
{
	system("cls");
	int j, n;
	cout << "请输入编号:"; cin >> n;
	for (j = 0; j < Admtop; j++)
	{
		if (n == Adm[j].num) break;
	}
	if (j == Admtop)
		cout << "没有此人!" << endl;
	else
		Adm[j].Output();
	return 1;
}

void AdmManager::Edit()
{
	system("cls");
	Administrator t1;
	int j, n;
	cout << "请输入要编辑的人的编号:"; cin >> n;
	for (j = 0; j < Admtop; j++)
	{
		if (n == Adm[j].num) break;
	}
	if (j == Admtop)
	{
		cout << "没有此人!" << endl; return;
	};
	cout << "输入修改后的信息,编号不能改:" << endl;
	t1.Input();
	Adm[j] = t1;
	cout << "编辑成功!" << endl;
}
int AdmManager::Delete()
{
	system("cls");
	int j, n;
	cout << "请输入要删除的人的编号:"; cin >> n;
	for (j = 0; j < Admtop; j++)
	{
		if (n == Adm[j].num) break;
	}
	if (j == Admtop)
	{
		cout << "没有此人!" << endl; return 0;
	};
	for (j; j < Admtop; j++)
	{
		Adm[j] = Adm[j + 1];
	}
	Admtop--;
	cout << "删除成功!" << endl;
	return 1;
}

void Adm_mune(AdmManager TM)
{
	system("cls");
	int b;
	char c;
	do {
		cout << endl; cout << endl;
		cout << "行政人员管理" << endl;
		cout << " << endl";
			cout << "| 1.添加 ";
		cout << "2.查询 ";
		cout << "3.编辑 ";
		cout << "4.删除 ";
		cout << "0.退出 | " << endl;
		cout << " << endl";
		cout << "请选择:"; cin >> b;
		switch (b)
		{
		case 1:TM.Add(); break; //TM去调用add类
		case 2:TM.Search(); break;
		case 3:TM.Edit(); break;
		case 4:TM.Delete(); break;
		default:cout << "\n error" << endl; break;
		case 0:break;
		}

	} while (b != 0);
	
}

int main() //主函数
{
	TeaManager Teamer;
	StuManager Stumer;
	AdmManager Admmer;

	int a = 1;
	char c;
	cout << "    *************************************";
	cout << endl << "    $         高校人员管理系统         $" << endl;
	cout << "    *************************************";




	while (a)
	{
		system("cls");

		cout << endl;
		cout << "              ****欢迎使用高校人员信息管理系统****" << endl;
		cout << "               =================================" << endl;
		cout << "               | 1.教师管理                    |" << endl;
		cout << "               | 2.学生管理                  |" << endl;
		cout << "               | 3.行政人员管理                  |" << endl;
		cout << "               | 0.退出                        |" << endl;
		cout << "               =================================" << endl;
		cout << "请选择:"; cin >> a;

		switch (a)  //用switch语句来判断输入的数字
		{
		case 1:Tea_mune(Teamer); break;
		case 2:Stu_mune(Stumer); break;
		case 3:Adm_mune(Admmer); break;
		case 0:break;
		default:cout << "\n error" << endl;
			cout << "按回车键继续" << endl;
			c = getchar();
			break;
		}
	}
	system("cls");
	cout << endl << "谢谢使用" << endl;
	c = getchar();
	return 0;
}

大一时候的课设,有需要的同学可以参考一下
完整的源代码
不过最好用于借鉴而不是照抄哦
自己练习才有利于水平提高
有用的话就点个赞吧

  • 10
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
基于C语言的学校人事管理系统是一种用于学校人事部门管理和处理员工信息的计算机软件。该系统具有以下功能: 1. 基本信息管理:系统可以记录和管理学校教职工的基本信息,包括姓名、性别、工号、部门、职位、联系方式等。 2. 聘用与离职管理:系统允许人事部门进行教职工的招聘、录用、晋升和调动等操作,并能记录离职员工的信息。 3. 薪酬管理:系统可以计算教职工的薪资,并能根据教职工的级别、职位和工龄等因素进行自动调整。同时,还能记录教职工的工资变动、奖金发放等情况。 4. 请假和考勤管理:系统可以记录教职工的请假信息,并能根据请假天数进行相应的薪资调整。同时,系统还能实现教职工的考勤管理,包括迟到、早退、旷工等情况的记录与处理。 5. 绩效考评:系统能够记录和评估教职工的绩效情况,包括教学评分、科研成果、社会服务等方面的评估,以便人事部门进行员工绩效评价和奖惩。 6. 统计与报表:系统能够生成各类报表,如员工花名册、人事统计、薪资报表等,以便于人事部门进行数据分析和决策。 基于C语言的学校人事管理系统具有高效、稳定和安全的特点,适用于中小型学校的人事管理需求。通过该系统的应用,人事部门能够更方便地管理和处理员工信息,提高工作效率并减少人为错误。同时,也能对员工的工资、绩效等进行公正和准确的评估,促进学校人事管理的科学化和规范化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值