⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 menu.h

📁 用C++实现的一个职工工资管理系统
💻 H
📖 第 1 页 / 共 4 页
字号:
					}
				}
				break;
		case '2':
				system("cls");
				cout<<"请输入被修改者的工资卡号:";
				cin>>str;
				for(iter = myList.begin(); iter != myList.end();iter++)
				{
					if( (*iter).employee.getSalaryID() == str )
					{
						changePassword(str);
					}
				}
				break;

		case '3':
			cout<<" 选择1:管理员对全体员工信息进行编辑。 "<<endl;
			cout<<" 选择2:管理员对全体员工密码修改。"<<endl;
			cout<<" 选择4:返回上一级菜单。"<<endl;
			cout<<" [警告]请保证您输入的字符在1-5之内,否则后果自负!"<<endl;
			break;

		case '4':
			    return 0;
		default: 
				cout<<endl<<"                             你选择错误!      "<<endl;
		}

	flushall();
	cout<<"         ================================================"<<endl;
	cout<<"                             按回车健返回!         "<<endl;
	cout<<"         ================================================"<<endl;
	getchar();
    system("cls");
	}
	
	return 1;
}

//工资管理员函数,包含信息查询功能和信息编辑功能。
int salaManager()
{
	int flag = 1;
	while( flag != 0 )
	{
	cout<<"                           我是工资管理员!"<<endl;
	cout<<"         ************************************************   "<<endl<<endl;

	cout<<"         ******        1. 【信息查询】             ****** "<<endl<<endl;

	cout<<"         ******        2. 【信息编辑】             ****** "<<endl<<endl;

	cout<<"         ******        3. 【帮    助】             ******   "<<endl<<endl;

	cout<<"         ******        4. 【返回上一级菜单】       ****** "<<endl<<endl;

    cout<<"         ************************************************   "<<endl<<endl;
	char chose;
	cin>>chose;

		switch(chose)
		{	
		case '1':
				system("cls");
			    smCheck(); 
				break;
		case '2':
				system("cls");
				smEdit();
				break;

		case '3':
			cout<<" 选择1:工资管理员对所有员工信息的统计,查找,排序。 "<<endl;
			cout<<" 选择2:工资管理员对所有员工工资信息进行查询并编辑,可修改所有人密码。"<<endl;
			cout<<" 选择4:返回上一级菜单。"<<endl;
			cout<<" [警告]请保证您输入的字符在1-4之内,否则后果自负!"<<endl;
			break;

		case '4':
			    return 0;
		default: 
				cout<<endl<<"                             你选择错误!      "<<endl;
		}

	flushall();
	cout<<"         ================================================"<<endl;
	cout<<"                             按回车健返回!         "<<endl;
	cout<<"         ================================================"<<endl;
	getchar();
    system("cls");
	}
	return 1;
	
}

//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////

void changeSalaInfo(string str) //修改员工工资体系
{

	for(iter = myList.begin(); iter != myList.end();iter++)
	{
		if( (*iter).employee.getSalaryID() == str )
		{
			cout<<"    ********  修改前 ********* "<<endl;
			(*iter).salaryinfo.lookup();
			double newBaseSala,newPoseSala;
			cout<<"    **** 请输入 "<< str <<" 的新基本工资:";
			cin>>newBaseSala;
			(*iter).salaryinfo.setBaseSalary( newBaseSala );
			cout<<"    **** 请输入 "<< str <<" 的新职务工资:";
			cin>>newPoseSala;
			(*iter).salaryinfo.setPostionSalary( newPoseSala );

			cout<<"    ********  修改后  ********* "<<endl;
			(*iter).salaryinfo.lookup();

		} 
	}
	
}

void changeFee(string str)		//修改各类费用大小
{
	for(iter = myList.begin(); iter != myList.end();iter++)
	{
		if( (*iter).employee.getSalaryID() == str )
		{
			cout<<"    ********  修改前 ********* "<<endl;
			(*iter).deducted.lookup();
			double newCleanFee,newEleFee,newTVFee,newWaterFee;
			
			cout<<"    **** 请输入 "<< str <<" 的新清洁费:";
			cin>>newCleanFee;
			(*iter).deducted.setCleanFee( newCleanFee );
			
			cout<<"    **** 请输入 "<< str <<" 的新电  费:";
			cin>>newEleFee;
			(*iter).deducted.setElectricFee( newEleFee );

			cout<<"    **** 请输入 "<< str <<" 的新电视费:";
			cin>>newTVFee;
			(*iter).deducted.setTVFee(newTVFee);

			cout<<"    **** 请输入 "<< str <<" 的新水  费:";
			cin>>newWaterFee;
			(*iter).deducted.setWaterFee(newWaterFee);

			cout<<"    ********  修改后  ********* "<<endl;
			(*iter).deducted.lookup();

		} 
	}

}
	
int updateSalaSystem( string str )
{
	int flag = 1;
	while( flag != 0 )
	{
		cout<<"         ************************************************   "<<endl<<endl;

		cout<<"         ******        1. 【修改员工工资体系】     ****** "<<endl<<endl;

		cout<<"         ******        2. 【修改各类费用大小】     ****** "<<endl<<endl;

		cout<<"         ******        3. 【返回上一级菜单】       ****** "<<endl<<endl;

	    cout<<"         ************************************************   "<<endl<<endl;
		char chose;
		cin>>chose;

		switch(chose)
		{	
		case '1':
				system("cls");
			    changeSalaInfo(str);
				break;
		case '2':
				system("cls");
				changeFee(str);
				break;

		case '3':
			    return 0;
		default: 
				cout<<endl<<"                             你选择错误!      "<<endl;
		}

	flushall();
	cout<<"         ================================================"<<endl;
	cout<<"                             按回车健返回!         "<<endl;
	cout<<"         ================================================"<<endl;
	getchar();
    system("cls");
	}
	return 1;

}

//系统管理员函数,包含信息查询,信息编辑,创建/删除用户,工资体系更新的功能
int sysManager()
{	
	int flag = 1;
	string str;
	while( flag != 0 )
	{
	cout<<"                           我是系统管理员!"<<endl;
	cout<<"         ************************************************   "<<endl<<endl;

	cout<<"         ******        1. 【信息查询】             ****** "<<endl<<endl;

	cout<<"         ******        2. 【信息编辑】             ****** "<<endl<<endl;
	
	cout<<"         ******        3. 【创建用户】	          ****** "<<endl<<endl;

	cout<<"         ******        4. 【工资体系更新】         ****** "<<endl<<endl;

	cout<<"         ******        5. 【帮    助】             ******   "<<endl<<endl;

	cout<<"         ******        6. 【返回上一级菜单】       ****** "<<endl<<endl;

    cout<<"         ************************************************   "<<endl<<endl;
	char chose;
	cin>>chose;

		switch(chose)
		{	
		case '1':
				system("cls");
			    smCheck();  //系统管理员的查看功能和工资管理员的相同
				break;
		case '2':
				system("cls");
				smEdit();   //系统管理员的编辑功能和工资管理员的相同
				break;
		case '3':
				system("cls");
				creatNewUser(); //创建一个新用户
				break;
		case '4':
				system("cls");
				cout<<"请输入被修改者的工资卡号:";
				cin>>str;
				for(iter = myList.begin(); iter != myList.end();iter++)
				{
					if( (*iter).employee.getSalaryID() == str )
					{
						updateSalaSystem(str);
					}
				}
				
				break;

		case '5':
			cout<<" 选择1:系统管理员对所有员工信息的统计,查找,排序。 "<<endl;
			cout<<" 选择2:系统管理员对所有员工工资信息进行查询并编辑,可修改所有人密码。"<<endl;
			cout<<" 选择3:系统管理员创建员工。"<<endl;
			cout<<" 选择4:系统管理员更新工资体系。"<<endl;
			cout<<" 选择6:返回上一级菜单。"<<endl;
			cout<<" [警告]请保证您输入的字符在1-6之内,否则后果自负!"<<endl;
			break;

		case '6':
			    return 0;
		default: 
				cout<<endl<<"                             你选择错误!      "<<endl;
		}

	flushall();
	cout<<"         ================================================"<<endl;
	cout<<"                             按回车健返回!         "<<endl;
	cout<<"         ================================================"<<endl;
	getchar();
    system("cls");
	}
	return 1;
}

//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////

//用户登录函数,包括三类用户的自行登录功能。
int userLogin()
{


	int flag = 1;
	string returnStr = "";
	while( flag != 0 )
	{
	cout<<"         ************************************************   "<<endl<<endl;

	cout<<"         ******        1. 【普通员工登录】         ****** "<<endl<<endl;

	cout<<"         ******        2. 【工资管理员登录】       ****** "<<endl<<endl;

	cout<<"         ******        3. 【系统管理员登录】       ****** "<<endl<<endl;

	cout<<"         ******        4. 【帮      助】           ******   "<<endl<<endl;

	cout<<"         ******        5. 【返回主菜单】           ****** "<<endl<<endl;

    cout<<"         ************************************************   "<<endl<<endl;
	char chose;
	cin>>chose;

		switch(chose)
		{	
		case '1':
				system("cls");
				returnStr = emplogin();
			    if(   returnStr != "" )   
					empl( returnStr );  
				break;
		case '2':
				system("cls");
				returnStr = salalogin();
				if( returnStr != "" )
					salaManager();  
				break;

		case '3':
				system("cls");
				if( syslogin() == 1 )
					sysManager();  
 				break;
		case '4':
			cout<<" 选择1:普通员工登录,可进行对自己工资信息查询,并修改自己密码。 "<<endl;
			cout<<" 选择2:工资管理员登录,可对所有员工工资信息进行查询并编辑,可修改所有人密码。"<<endl;
			cout<<" 选择3:系统管理员登录,拥有工资管理员的所有功能,并且可以创建用户,修改更新员工工资体系和大小。 "<<endl;
			cout<<" 选择5:返回上一级菜单。"<<endl;
			cout<<" [警告]请保证您输入的字符在1-5之内,否则后果自负!"<<endl;
			break;

		case '5':
			    return 0;
		default: 
				cout<<endl<<"                             你选择错误!      "<<endl;
		}

	flushall();
	cout<<"         ================================================"<<endl;
	cout<<"                             按回车健返回!         "<<endl;
	cout<<"         ================================================"<<endl;
	getchar();
    system("cls");
	}
	return 1;
	
}

//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////

//显示程序运行界面。
void show()
{
	int flag = 1;
    readInfo();   //从各文件中读出数据存放入全局链表中
	while( flag != 0 )
	{
	cout<<"                     欢迎使用职工工资管理系统    "<<endl<<endl;

	cout<<"         ************************************************   "<<endl<<endl;
	
	cout<<"         *****              1.【公司简介】          *****   "<<endl<<endl;

	cout<<"         *****              2.【用户登录】          *****   "<<endl<<endl;

	cout<<"         *****              3.【联系我们】          *****   "<<endl<<endl;

	cout<<"         *****              4.【帮    助】          *****   "<<endl<<endl;

	cout<<"         *****              5.【退出系统】          *****   "<<endl<<endl;

    cout<<"         ************************************************   "<<endl<<endl;
	char chose;
	cin>>chose;

		switch(chose)
		{	
		case '1':
			    cout<<" 我公司成立于2008年9月,主要负责人有:西北大学信息学院计算机专业的孙承碧,张辉,刘士福。\n公司经营理念为公诚勤朴,求实创新。吸纳社会各界人才,为社会创造更多财富!"<<endl;   
				break;
		case '2':
				system("cls");  
				userLogin();
				break;

		case '3':
				cout<<" 公司联系电话:029-883011xx ,传真:029-883011xx  \n 通信地址:陕西西安长安区郭杜镇, 邮编:710127"<<endl;
				break;
		case '4': cout<<" 选择1:公司简要介绍,您可以了解我们公司。\n 选择2:进入用户登录系统。 \n 选择3:查看公司联系方式。\n 选择5:退出系统。"<<endl;
				cout<<" [警告]请保证您输入的字符在1-5之内,否则后果自负!"<<endl;
				cout<<" [遗憾]本系统制作仓促,存在一些BUG,将会继续改进……"<<endl;
				break;
		case '5':
				cout<<"         !!!===>    是否退出并保存?(是Y/y)"<<endl;
				char ch ;
					cin>>ch;
				if(ch == 'Y'||ch == 'y')
				{
					saveInfo();
					exit (0);
				}
				else 
					break;
		default:
				cout<<"                             你选择错误!"<<endl;
		}
		flushall();
		cout<<"         ================================================"<<endl;
		cout<<"                             按回车健返回!         "<<endl;
		cout<<"         ================================================"<<endl;
		getchar();
	    system("cls");

	}
	
	
}

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -