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

📄 operater.cpp

📁 我们的C++课程设计
💻 CPP
字号:

#include "Operater.h"

void Operater::display()
{
	cout<<endl<<endl;
	cout<<"*****************************************************************"<<endl;
	cout<<"*******************欢迎光临员工工资管理系统!********************"<<endl;
	cout<<"*****************************************************************"<<endl;
	cout<<"**********制作人:王成征;指导老师:张松敏;完成时间:***********"<<endl;
	cout<<"*****************************************************************"<<endl;
	cout<<"********************** 员工工资信息管理系统 *********************"<<endl;
	cout<<"1:			添加一个员工信息"<<endl;
	cout<<"2:			删除一个员工信息"<<endl;
	cout<<"3:			显示所有员工的姓名"<<endl;
	cout<<"4:			根据姓名显示单个员工所有信息"<<endl;
	cout<<"5:			根据姓名对单个员工进行编辑"<<endl;
	cout<<"6:           对员工信息进行统计"<<endl;
	cout<<"7:			帮助菜单"<<endl;
	cout<<"8:			保存数据"<<endl;
	cout<<"0:			退出系统"<<endl;
	cout<<"*******************************************************************"<<endl;
	cout<<"请输入你的选择:"<<endl;
}

void Operater::Loop()
{
	List L1;        //List 对象
	char ch[20];
	nodetype *p, *head;   
	int i;		    //存放节点序号

//	p=L1.load();	//初始化:从外部读入数据创建链表

	head=p;
	display();

	while(1)
	{
		cout<<endl<<endl;
		cout<<"请输入选择(帮助选项7 ): "<<endl;
		cin>>ch;

		system("cls");
		if(L1.check(ch, "1"))
		{
			char again,c[100];
			int b;
			long d;
			float e,f;
			p=L1.insnode(0);
			head=p;

			system("cls");
			cout<<endl;
			do
			{
				cout<<"************** 添加一个员工信息 ******************"<<endl;
				cout<<"下面输入个人信息: "<<endl;
		
				cout<<"请输入姓名: "<<endl;
				cin>>c;
				strcat(c, "\n");
				strcpy(p->pe.name, c);

				cout<<"请输入性别(F为女性,M为男性):"<<endl;
				cin>>c;
				strcat(c, "\n");
				strcpy(p->pe.sex, c);
	
				cout<<"请输入生日(格式举例:1985-5-19): "<<endl;
				cin>>c;
				strcat(c, "\n");
				strcpy(p->birthday, c);

				cout<<"请输入民族:"<<endl;
				cin>>c;
				strcat(c, "\n");
				strcpy(p->pe.MZ, c);
	
				cout<<"请输入国籍:"<<endl;
				cin>>c;
				strcat(c, "\n");
				strcpy(p->pe.GJ, c);

				cout<<"请输入学历编号:(1|中学、2|学士、3|硕士、4|博士)"<<endl;
				cin>>b;
				while(b!=1&&b!=2&&b!=3&&b!=4) 
				{ 
					cout<<"输入有误,请重新输入:"<<endl; 
					cout<<" 1|中学、2|学士、3|硕士、4|博士"; 
					cin>>b; 
				} 
				p->pe.XL=b;

				cout<<"请输入职位:(1|董事长、2|总经理、3|销售经理、4|销售员)"<<endl;
				cin>>b;
				while(b!=1&&b!=2&&b!=3&&b!=4) 
				{ 
					cout<<"输入有误,请重新输入:"<<endl; 
					cout<<"1|董事长、2|总经理、3|销售经理、4|销售员"; 
					cin>>b; 
				} 
				p->pe.ZW=b;

				cout<<"请输入所属部门:(1|董事会、2|市场部、3|公关部、4|客服中心、5|信息中心)"<<endl;
				cin>>b;
				while(b!=1&&b!=2&&b!=3&&b!=4&&b!=5) 
				{ 
					cout<<"输入有误,请重新输入:"<<endl; 
					cout<<"1|董事会、2|市场部、3|公关部、4|客服中心、5|信息中心"; 
					cin>>b; 
				} 
				p->pe.BM=b;

				cout<<"请输入级别:(1---10)"<<endl;
				cin>>b;
				if(b<1||b>10)
				{
					cout<<"输入有误,请从新输入(1---10):"<<endl;
					cin>>b;
				}
				p->pe.gread=b;

				cout<<"请输入家庭住址(例如:洛阳市涧西区长江东路66号)"<<endl;
				cin>>c;
				strcat(c, "\n");
				strcpy(p->address, c);


				cout<<"个人信息输入完毕!";
		
				cout<<"下面输入联系方式: "<<endl;
		
				cout<<"请输入手机号码(后八位): "<<endl;
				cin>>d;
				p->te.SJ=d;
			
				cout<<"请输入家庭电话号码(不带区号): "<<endl;
				cin>>d;
				p->te.JD=d;
			  
				cout<<"联系方式输入完毕!";

				cout<<"下面输入工资信息: "<<endl;

	
				cout<<"请输入基本工资(100---10000): "<<endl;
				cin>>e;
				p->money.basepay=e;


				cout<<"请输入工作时间(按天:1-31): "<<endl;
				cin>>e;
				p->money.worktime=e;

				cout<<"请输入每天奖金(0---1000):"<<endl;
				cin>>e;
				p->money.dayrate=e;


				cout<<"工资信息输入完毕!"<<endl;

				cout<<"插入员工信息输入完毕!"<<endl;

				f=L1.pay(p);
				L1.dispnode(p);
				cout<<"该员工的工资为:"<<f<<endl;
				cout<<"数据添加成功!是否继续添加?(Y/N)"<<endl; 
				cin>>again; 
			}
			while(again=='Y'||again=='y'); 

		}

		if(L1.check(ch, "2"))
		{
			system("cls");
			cout<<endl;
			cout<<"************** 删除一个员工信息 ******************"<<endl;
			L1.dispname();
			cout<<"请输入员工姓名: "<<endl;
			cin>>ch;
			i=L1.find2(ch);
			if (i==1)
				cout<<"没有你要删除员工的信息!"<<endl;
			else
				L1.delnode(i);
		}

		if(L1.check(ch, "3"))
		{
			system("cls");
			cout<<endl;
			cout<<"************** 显示所有员工姓名 ******************"<<endl;
			L1.dispname();
		}

		if(L1.check(ch, "4"))
		{
			system("cls");
			cout<<endl;
			cout<<"************** 根据姓名显示单个员工所有信息 ******************"<<endl;
			L1.dispname();
			cout<<"请输入员工姓名: "<<endl;
			cin>>ch;
			p=L1.find(ch);
			L1.dispnode(p);
		}

		if(L1.check(ch, "5"))
		{
			char c[20];
			system("cls");
			cout<<endl;
			cout<<"*********** 根据姓名对单个员工进行编辑 **************"<<endl;
			L1.dispname();
			cout<<"请输入员工姓名: "<<endl;
			cin>>c;
			p=L1.find(c);

			system("cls");
			cout<<endl<<endl;
			cout<<"*****************************************************"<<endl;
			cout<<"1:			编辑个人信息"<<endl;
			cout<<"2:			编辑工资信息"<<endl;
			cout<<"3:			编辑联系方式"<<endl;
			cout<<"4:			显示个人信息"<<endl;
			cout<<"5:			显示工资信息"<<endl;
			cout<<"6:			显示联系方式"<<endl;
			cout<<"7:			显示该员工所有信息"<<endl;
			cout<<"8:			帮助菜单"<<endl;
			cout<<"0:			返回上一级菜单"<<endl;
			cout<<"*********************************************************"<<endl;

			while(1)
			{
				cout<<endl<<endl;
				cout<<"请输入选择(帮助选项8 ): "<<endl;
				cin>>c;
				system("cls");

				if(L1.check(c, "1"))
				{
					system("cls");
					cout<<endl;
					cout<<"************** 编辑个人信息 ******************"<<endl;
					L1.editperson(p);
				}
			
				else  if(L1.check(c, "2"))
				{
					system("cls");
					cout<<endl;
					cout<<"************** 编辑工资信息 ******************"<<endl;
					L1.editpay(p);
				}
				else  if(L1.check(c, "3"))
				{
					system("cls");
					cout<<endl;
					cout<<"************** 编辑联系方式 ******************"<<endl;
					L1.edittelephone(p);
				}
			
				else if(L1.check(c, "4"))
				{
					system("cls");
					cout<<endl;
					cout<<"************** 显示个人信息 ******************"<<endl;
					L1.dispperson(p);
				}

				else if(L1.check(c, "5"))
				{
					system("cls");
					cout<<endl;
					cout<<"************** 显示工资信息 ******************"<<endl;
					L1.disppay(p);
				}
				
				else if(L1.check(c, "6"))
				{
					system("cls");
					cout<<endl;
					cout<<"************** 显示联系方式 ******************"<<endl;
					L1.disptelephone(p);
				}

				else if(L1.check(c, "7"))
				{
					system("cls");
					L1.dispnode(p);
				}

				else if(L1.check(c, "8"))
				{
					system("cls");
					L1.help();
				}
				else if(L1.check(c,"0"))
				{
					system("cls");	
					display();
					break;	//用 break 跳出本循环,不要用 return ,return 是退出程序
				}
			}
		}

		if(L1.check(ch, "6")) //统计员工信息
		{
			char c[20];
			system("cls");
			cout<<endl<<endl;
			cout<<"*****************************************************"<<endl;
			cout<<"1:			统计各学历的人数"<<endl;
			cout<<"2:			统计各部门的人数"<<endl;
			cout<<"3:			统计各职位的人数"<<endl;
			cout<<"4:			帮助菜单"<<endl;
			cout<<"0:			返回上一级菜单"<<endl;
			cout<<"*********************************************************"<<endl;

			while(1)
			{
				cout<<endl<<endl;
				cout<<"请输入选择(帮助选项4): "<<endl;
				cin>>c;
				system("cls");

				if(L1.check(c, "1"))
				{
					system("cls");
					cout<<endl;
					cout<<"**************统计各学历的人数 ******************"<<endl;
					L1.tjxl();
				}
				else if(L1.check(c, "2"))
				{
					system("cls");
					cout<<endl;
					cout<<"**************统计各部门的人数 ******************"<<endl;
					L1.tjbm();
				}
				else if(L1.check(c, "3"))
				{
					system("cls");
					cout<<endl;
					cout<<"**************统计各职位的人数 ******************"<<endl;
					L1.tjzw();
				}
				
				else if(L1.check(c, "4"))
				{
					system("cls");
					L1.help();
				}
				else if(L1.check(c,"0"))
				{
					system("cls");	
					display();
					break;	//用 break 跳出本循环,不要用 return ,return 是退出程序
				}
			}
		}

		if(L1.check(ch, "7"))
		{
			display();
		}

		if(L1.check(ch, "8"))		//保存数据
		{
			FILE *fp;
			if((fp=fopen("student.txt", "w"))==NULL)
			{
				cout<<"打开文件失败"<<endl;
				return;
			}

			int i;
			char t[255];

			//将 L1.listlen() 赋予字符串中的数字
			sprintf(t, "The Length Of Link: %d\n", L1.listlen());	

			fputs(t, fp);
			strcpy(t, "\n");
			fputs(t, fp);

			p=L1.findnode(1);				//将链表头指针赋予 p

			for(i=0; i<L1.listlen(); i++)
			{
				cout<<"姓名:"<<p->pe.name<<endl;		//输出姓名
				cout<<"性别:"<<p->pe.sex<<endl;		//输出性别
				cout<<"国籍:"<<p->pe.GJ<<endl;		//输出国籍
				cout<<"民族:"<<p->pe.MZ<<endl;		//输出民族
				if(p->pe.XL==1)                   //输出学历
					cout<<"学历:中学";
				else
					if(p->pe.XL==2)
						cout<<"学历:学士";
					else
						if(p->pe.XL==3)
							cout<<"学历:硕士";
						else
							cout<<"学历:博士";

				if(p->pe.ZW==1)               //输出职位
					cout<<"职位:董事长";
				else
				{
					if(p->pe.ZW==2)
						cout<<"职位:总经理";
					else 
						if(p->pe.ZW==3)
							cout<<"职位:销售经理";
						else 
							cout<<"职位:销售员";
				}

				if(p->pe.BM==1)	            //输出所属部门
					cout<<"部门:董事会";
				else
					if (p->pe.BM==2)
						cout<<"部门:市场部";
					else
						if(p->pe.BM==3)
							cout<<"部门:公关部";
						else
							if(p->pe.BM==4)
								cout<<"部门:客服中心";
							else
								cout<<"部门:信息中心";
	            
				cout<<"级别:"<<p->pe.gread<<endl;          //输出级别
   
				cout<<"地址:"<<p->address<<endl;		//输出地址
				cout<<"出生日期:"<<p->birthday<<endl;		//输出生日

				cout<<"手机号:"<<p->te.SJ<<endl;		        //输出手机
				cout<<"家庭电话:"<<p->te.JD<<endl;	        	//输出家庭电话

				cout<<"基本工资:"<<p->money.basepay<<endl;    //输出基本工资
				cout<<"日酬金:"<<p->money.dayrate<<endl;    //输出工作酬金
				cout<<"工作日:"<<p->money.worktime<<endl;   //输出工作时间
				cout<<"月薪:"<<L1.pay(p);                    //输出月薪
				
				p=p->next;
			}
			p=head;
			fclose(fp);
			cout<<"员工信息保存完毕!";

		}

		else if(L1.check(ch, "0"))
			return;
	}
	return;
}

⌨️ 快捷键说明

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