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

📄 menu.h

📁 用C++实现的一个职工工资管理系统
💻 H
📖 第 1 页 / 共 4 页
字号:
				for( iter = myList.begin(); iter != myList.end();iter++ )
				{
					vecPos.push_back( *iter );
				}
				sort(vecPos.begin(),vecPos.end(),lessThanPos );
				//显示
				cout<<"   工资卡号\t\t姓名\t\t职务编号"<<endl;
				for(i = 0 ; i < vecPos.size(); i++)  //遍历向量
				{
						cout << vecPos[i].employee.getSalaryID()<<"\t\t"<< vecPos[i].employee.getName()
							 <<"\t\t"<<vecPos[i].salaryinfo.getPositionID()<<endl;
				}

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

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

}
//管理员对全公司员工各种信息进行查找
int managerSearch()
{
	int flag = 1;
	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<<"         ******        6. 【返回上一级菜单】       ****** "<<endl<<endl;

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

		switch(chose)
		{	
		case '1':
				system("cls");
			    search_name(); //按姓名查找
				break;
		case '2':
				system("cls");
				search_salaID();//按工资卡号查找
				break;
		case '3':
				system("cls");
				search_ID();//按身份证号查找
				break;
		case '4':
				system("cls");
				search_dep();//按公司部门查找
				break;
		case '5':
				system("cls");
				search_posID();//按职称编号查找
				break;
		case '6':
			    return 0;
		default: 
				cout<<endl<<"                             你选择错误!      "<<endl;
		}

	flushall();
	cout<<"         ================================================"<<endl;
	cout<<"                             按回车健返回!         "<<endl;
	cout<<"         ================================================"<<endl;
	getchar();
    system("cls");
	}
	
	return 1;
}
//////////////////////////////////////////////////////////////////////////
//管理员对公司员工各信息进行排序
int managerSort()
{
	int flag = 1;
	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<<"         ******        6. 【按员工职务排序】       ****** "<<endl<<endl;

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

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

		switch(chose)
		{	
		case '1':
				system("cls");
			    sort_salary(); //按实得工资排序
				break;
		case '2':
				system("cls");
				sort_posSalary();//按职务工资排序
				break;
		case '3':
				system("cls");
				sort_deduSalary();//按扣除费用排序
				break;
		case '4':
				system("cls");
				sort_tax();//按交税信息排序
				break;
		case '5':
				system("cls");
				sort_name();//按姓名排序
				break;
		case '6':
				system("cls");
				sort_pos();//按职务排序
				break;
		case '7':
			    return 0;
		default: 
				cout<<endl<<"                             你选择错误!      "<<endl;
		}

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


//管理员查看函数,该函数包含工资管理员对员工信息的统计,查找,排序功能
int smCheck()
{
	int flag = 1;
	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");
				statInfo(); 
				break;
		case '2':
				system("cls");
				managerSearch();
				break;

		case '3':
				system("cls");
				managerSort();
				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;
}
//////////////////////////////////////////////////////////////////////////
int edit_empInfo( string str )//编辑员工信息  年龄、工龄、部门、技术职称、技术职称编号、家庭电话号码、手机号码等。
{
	int flag = 1;
	int newAge,newwAge;
	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<<"         ******        6. 【修改员工手机号码】     ****** "<<endl<<endl;

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

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

		switch(chose)
		{	
		case '1':
				system("cls");
				for(iter = myList.begin(); iter != myList.end();iter++)
				{
					if( (*iter).employee.getSalaryID() == str )
					{

						cout<<"    ********  修改前 ********* "<<endl;
						(*iter).employee.lookup();

						cout<<"    **** 请输入 "<< str <<" 的新年龄信息:";
						cin>>newAge;
						
						(*iter).employee.setAge( newAge );
						cout<<"    ********  修改后  ********* "<<endl;
						(*iter).employee.lookup();

					} 
				}
				break;
		case '2':
				system("cls");
				for(iter = myList.begin(); iter != myList.end();iter++)
				{
					if( (*iter).employee.getSalaryID() == str )
					{

						cout<<"    ********  修改前 ********* "<<endl;
						(*iter).employee.lookup();

						cout<<"    **** 请输入 "<< str <<" 的新工龄信息:";
						cin>>newwAge;
						(*iter).employee.setWAge( newwAge );
						cout<<"    ********  修改后  ********* "<<endl;
						(*iter).employee.lookup();

					} 
				}

				break;
		case '3':
				system("cls");
				for(iter = myList.begin(); iter != myList.end();iter++)
				{
					if( (*iter).employee.getSalaryID() == str )
					{

						cout<<"    ********  修改前 ********* "<<endl;
						(*iter).employee.lookup();

						cout<<"    **** 请输入 "<< str <<" 的新部门信息:";
						string dep;
						cin>>dep;
						(*iter).employee.setDepartMent( dep );
						cout<<"    ********  修改后  ********* "<<endl;
						(*iter).employee.lookup();
					} 
				}

				break;
		case '4':
				system("cls");
				for(iter = myList.begin(); iter != myList.end();iter++)
				{
					if( (*iter).employee.getSalaryID() == str )
					{

						cout<<"    ********  修改前 ********* "<<endl;
						(*iter).employee.lookup();

						cout<<"    **** 请输入 "<< str <<" 的新职称编号:";
						string posid;
						cin>>posid;
						(*iter).employee.setPosID( posid );
						cout<<"    ********  修改后  ********* "<<endl;
						(*iter).employee.lookup();

					} 
				}

				break;
		case '5':
				system("cls");
				for(iter = myList.begin(); iter != myList.end();iter++)
				{
					if( (*iter).employee.getSalaryID() == str )
					{

						cout<<"    ********  修改前 ********* "<<endl;
						(*iter).employee.lookup();

						cout<<"    **** 请输入 "<< str <<" 的新家庭电话号码:";
						string homephone;
						cin>>homephone;
						(*iter).employee.setHomTel( homephone );
						cout<<"    ********  修改后  ********* "<<endl;
						(*iter).employee.lookup();
					} 
				}

				break;
		case '6':
				system("cls");
				for(iter = myList.begin(); iter != myList.end();iter++)
				{
					if( (*iter).employee.getSalaryID() == str )
					{

						cout<<"    ********  修改前 ********* "<<endl;
						(*iter).employee.lookup();

						cout<<"    **** 请输入 "<< str <<" 的新手机号码:";
						string mobileph;
						cin>>mobileph;
						(*iter).employee.setMobilePhone( mobileph );
						cout<<"    ********  修改后  ********* "<<endl;
						(*iter).employee.lookup();

					} 
				}

				break;

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

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


//管理员编辑函数,该函数包含工资管理员对员工信息的编辑,员工密码的修改
int smEdit()
{
	int flag = 1;
	string str;
	while( flag != 0 )
	{
	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");
				cout<<"请输入被修改者的工资卡号:";
				cin>>str;
				for(iter = myList.begin(); iter != myList.end();iter++)
				{
					if( (*iter).employee.getSalaryID() == str )
					{
						edit_empInfo(str);

⌨️ 快捷键说明

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