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

/*
高校人员信息管理系统
作者:徐世兴
时间:2019年11月1日
*/

//预定义区
#include<iostream>
#include<string>
#include<iomanip>
#include<fstream>
using namespace std;
#include<time.h>
#include <windows.h>
#include<conio.h>
#pragma comment(lib, "Winmm.lib")





//类区
class Person{
                               //声明Person类作为基类
protected:
	string number; 
	string name;
	string sex;
	string age;
public:
	Person(){
   }  //默认构造函数
	Person(string num,string na,string se,string ag)    //带参数的构造函数
	{
   
		number=num;name=na;sex=se;age=ag;
	}
	void point()//定义显示函数
	{
   
	 cout.setf(ios::left);//设置格式为左对齐
	 cout<<setw(12)<<number;
	 cout<<setw(8)<<name;
	 cout<<setw(5)<<sex;
	 cout<<setw(8)<<age;
	}
};

class Teacher:public Person{
       //共有派生教师类
private:
	string xi_bu;
	string zhuan_ye;
	string zhi_cheng;
public:
	Teacher *next;	
	Teacher(){
   }  //默认构造函数
	Teacher(string num,string na,string se,string ag,string xi,string zhuan,string zhi):Person(num,na,se,ag) //带参构造函数
	{
   
		xi_bu=xi;zhuan_ye=zhuan;zhi_cheng=zhi;
	}
	void point()
	{
   
		Person::point();
		cout.setf(ios::left);//设置格式为左对齐
		cout<<setw(20)<<xi_bu;
	    cout<<setw(20)<<zhuan_ye;
	    cout<<setw(8)<<zhi_cheng<<endl;
	}
	friend void teacheradd();  //声明添加函数为友元函数
	friend int yn(string);//声明判断是否编号已存在
	friend void search();//声明查找函数
	friend void bain_ji(Teacher&);//声明编辑函数
	friend void teacher_tong_ji();//声明统计函数
	friend int rencount();//统计总人数
	friend void teacherSave();//保存信息到文件
	friend int jdadd(Teacher *p1);//将节点加入链表
	friend void delall();//清空
};

class xingzheng:public Person{
   
private:
	string bumen;
	string zhengzhi;
	string zhicheng;
public:
	xingzheng(){
   }
	xingzheng *next;
	xingzheng(string num,string na,string se,string ag,string bu,string zz,string zhi):Person(num,na,se,ag)
	{
   
	bumen=bu;zhengzhi=zz;zhicheng=zhi;
	}
	void point(){
   
		Person::point();
		cout.setf(ios::left);//设置格式为左对齐
		cout<<setw(20)<<bumen;
	    cout<<setw(20)<<zhengzhi;
	    cout<<setw(8)<<zhicheng<<endl;
	}
	friend void xzadd();  //声明添加函数为友元函数
	friend int xzyn(string);//声明判断是否编号已存在
	friend void xzsearch();//声明查找函数
	friend void xzbain_ji(xingzheng&);//声明编辑函数
	friend void xz_tong_ji();//声明统计函数
	friend int xzrencount();//统计总人数
	friend void xzSave();//保存信息到文件
	friend int xzjdadd(xingzheng *p1);//将节点加入链表
	friend void xzdelall();//清空
};


class shiyan:public Person{
   //实验员类
private:
	string shiyanshi;
	string zhiwu;
public:
	shiyan *next;
	shiyan(){
   }//默认构造
	shiyan(string num,string na,string se,string ag,string sy,string zw):Person(num,na,se,ag)
	{
   shiyanshi=sy;zhiwu=zw;}//带参构造
	void point()
	{
   
		Person::point();
		cout.setf(ios::left);//设置格式为左对齐
		cout<<setw(30)<<shiyanshi;
	    cout<<setw(8)<<zhiwu<<endl;
	}
	friend void shiyanadd();  //声明添加函数为友元函数
	friend int shiyanjdadd(shiyan *p1);//添加节点
	friend int shiyanyn(string);//声明判断是否编号已存在
	friend void shiyansearch();//声明查找函数
	friend void shiyanbain_ji(shiyan&);//声明编辑函数
	friend void shiyan_tong_ji();//声明统计函数
	friend void shiyandelall();//清空
	friend int shiyanrencount();//统计总人数
	friend void shiyanSave();//保存信息到文件
};

//函数定义区/*****************************************************/

Teacher head;//声明教师类的头节点为全局变量
shiyan head1;
xingzheng head2;
void home();//首页
void tuichu();//感谢语
void huanying();//欢迎语
int question(const char *pstr);//获取判断,声明
void music()//播放音乐
{
   
PlaySound(TEXT("teacher.wav"), NULL, SND_FILENAME | SND_ASYNC | SND_LOOP);
}
void symusic()//播放音乐
{
   
PlaySound(TEXT("shiyanyuan.wav"), NULL, SND_FILENAME | SND_ASYNC | SND_LOOP);
}
void xzmusic()//播放音乐
{
   
PlaySound(TEXT("xz.wav"), NULL, SND_FILENAME | SND_ASYNC | SND_LOOP);
}
void offmusic()//关闭音乐
{
   
PlaySound(NULL, NULL, SND_FILENAME | SND_ASYNC);
}

void putout(Teacher *p)//显示全部的信息
{
   
	p=p->next;
	int count=0;
	system("cls");//清屏
	if(!p)
	{
   
		cout<<"信息为空,请先添加信息!\n";
		return;
	}
	void teacher_list();
	teacher_list();
	while(p)
	{
   
		p->point();
	    count++;
		p=p->next;
	}
	void __();
	__();
	cout<<"共有"<<count<<"条信息。\n";
}
void shiyanputout(shiyan *p)//显示全部的信息
{
   
	p=p->next;
	int count=0;
	system("cls");//清屏
	if(!p)
	{
   
		cout<<"信息为空,请先添加信息!\n";
		return;
	}
	void shiyan_list();
	shiyan_list();
	while(p)
	{
   
		p->point();
	    count++;
		p=p->next;
	}
	void __();
	__();
	cout<<"共有"<<count<<"条信息。\n";
}
void xzputout(xingzheng *p)//显示全部的信息
{
   
	p=p->next;
	int count=0;
	system("cls");//清屏
	if(!p)
	{
   
		cout<<"信息为空,请先添加信息!\n";
		return;
	}
	void xingzheng_list();
	xingzheng_list();
	while(p)
	{
   
		p->point();
	    count++;
		p=p->next;
	}
	void __();
	__();
	cout<<"共有"<<count<<"条信息。\n";
}

char menu()//菜单,获取用户选择
{
   
	system("cls");

	cout<<"----------------------------教师信息管理系统--------------------------------\n";

	cout<<"\n\t1.清除所有信息        2.显示所有信息        3.添加信息\n";

	cout<<"\t4.查找信息            5.统计                6.保存信息至文件\n";

	cout<<"\t7.退出系统            8.播放背景音乐        9.关闭背景音乐\n";


	cout<<"\n-------------------------------------------------------------------------------\n";
	void dqsj();
	dqsj();
	char choose;
	cout<<"请输入数字1—9\n";
	cin>>choose;
	while(choose<'1'||choose>'9')//判断输入是否正确
	{
   
		cout<<"输入错误,请重新输入:";cin>>choose;
	}
	return choose;
}

char xzmenu()//菜单,获取用户选择
{
   
	system("cls");

	cout<<"----------------------------行政人员信息管理系统--------------------------------\n";

	cout<<"\n\t1.清除所有信息        2.显示所有信息        3.添加信息\n";

	cout<<"\t4.查找信息            5.统计                6.保存信息至文件\n";

	cout<<"\t7.退出系统            8.播放背景音乐        9.关闭背景音乐\n";


	cout<<"\n-------------------------------------------------------------------------------\n";
	void dqsj();
	dqsj();
	char choose;
	cout<<"请输入数字1—9\n";
	cin>>choose;
	while(choose<'1'||choose>'9')//判断输入是否正确
	{
   
		cout<<"输入错误,请重新输入:";cin>>choose;
	}
	return choose;
}
char shiyanmenu()//菜单,获取用户选择
{
   
	system("cls");

	cout<<"----------------------------实验员信息管理系统--------------------------------\n";

	cout<<"\n\t1.清除所有信息        2.显示所有信息        3.添加信息\n";

	cout<<"\t4.查找信息            5.统计                6.保存信息至文件\n";

	cout<<"\t7.退出系统            8.播放背景音乐        9.关闭背景音乐\n";


	cout<<"\n-------------------------------------------------------------------------------\n";
	void dqsj();
	dqsj();
	char choose;
	cout<<"请输入数字1—9\n";
	cin>>choose;
	while(choose<'1'||choose>'9')//判断输入是否正确
	{
   
		cout<<"输入错误,请重新输入:";cin>>choose;
	}
	return choose;
}

void teacherfun(char n)//功能实现
{
   
	while(1)
	{
   
		switch(n)
		{
   
		case '1':delall();system("pause");putout(&head);system("pause");teacherfun(menu());break;
		case '2':putout(&head);if(question("是否返回主菜单?")) teacherfun(menu());break;
		case '3':teacheradd();if(!question("是否继续添加?"))teacherfun(menu());break;
		case '4':search();if(!question("是否继查找?"))teacherfun(menu());break;
		case '5':teacher_tong_ji();if(!question("是否继续统计?"))teacherfun(menu());break;
		case '6':teacherSave();system("pause");teacherfun(menu());break;
		case '7':cout<<"1.返回首页	2.退出程序\n请选择:";char t;while(1){
   cin>>t;if(t=='1'){
   if(question("你即将离开系统,是否保存信息?"))teacherSave();home();}else if(t=='2'){
   if(question("你即将离开系统,是否保存信息?"))teacherSave();tuichu();exit(1);}else cout<<"输入错误,请重新输入:\n";}break;
		case '8':if(question("是否播放背景音乐?"))music();teacherfun(menu());break;
		case '9':if(question("是否关闭背景音乐?"))offmusic();teacherfun(menu());break;
		default:break;
		}
	}
}
void xzfun(char n)//功能实现
{
   
	while(1)
	{
   
		switch(n)
		{
   
		case '1':xzdelall();system("pause");xzputout(&head2);system("pause");xzfun(xzmenu());break;
		case '2':xzputout(&head2);if(question("是否返回主菜单?")) xzfun(xzmenu());break;
		case '3':xzadd();if(!question("是否继续添加?"))xzfun(xzmenu());break;
		case '4':xzsearch();if(!question("是否继查找?"))xzfun(xzmenu());break;
		case '5':xz_tong_ji();if(!question("是否继续统计?"))xzfun
  • 8
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
高校人员信息管理系统是一种用于高校管理人员信息的系统,旨在提高高校人员信息管理效率和准确性。系统通过使用C语言进行编写,以下是关于该系统的源码设计: 1. 头文件包含 #include <stdio.h> #include <stdlib.h> #include <string.h> 2. 定义结构体 typedef struct { char name[50]; // 姓名 int age; // 年龄 char gender[10]; // 性别 char department[50]; // 部门 char position[50]; // 职位 } Employee; 3. 主函数 int main() { Employee employees[100]; // 定义最多100个员工 int numEmployees = 0; // 当前员工数目 while (1) { // 显示主菜单 printf("========= 高校人员信息管理系统 =========\n"); printf("1. 添加员工信息\n"); printf("2. 查找员工信息\n"); printf("3. 修改员工信息\n"); printf("4. 删除员工信息\n"); printf("5. 显示所有员工信息\n"); printf("6. 退出系统\n"); printf("请选择操作:"); int choice; scanf("%d", &choice); switch (choice) { case 1: // 添加员工信息 printf("请输入员工姓名:"); scanf("%s", employees[numEmployees].name); printf("请输入员工年龄:"); scanf("%d", &employees[numEmployees].age); printf("请输入员工性别:"); scanf("%s", employees[numEmployees].gender); printf("请输入员工部门:"); scanf("%s", employees[numEmployees].department); printf("请输入员工职位:"); scanf("%s", employees[numEmployees].position); numEmployees++; break; case 2: // 查找员工信息 // 省略查找员工信息的代码 break; case 3: // 修改员工信息 // 省略修改员工信息的代码 break; case 4: // 删除员工信息 // 省略删除员工信息的代码 break; case 5: // 显示所有员工信息 printf("所有员工信息如下:\n"); for (int i = 0; i < numEmployees; i++) { printf("姓名:%s\t年龄:%d\t性别:%s\t部门:%s\t职位:%s\n", employees[i].name, employees[i].age, employees[i].gender, employees[i].department, employees[i].position); } break; case 6: // 退出系统 printf("谢谢使用,再见!\n"); exit(0); default: printf("无效的选项,请重新选择。\n"); break; } } return 0; } 以上是一个简单的高校人员信息管理系统的C语言源码设计,通过该系统可以实现添加、查找、修改、删除和显示所有员工信息的功能,提高高校人员信息管理的效率和准确性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值