想结束一个程序,但break又不合法,请帮帮忙,谢谢
/*定义一个能够记录公司员工工资的类, 比如包括:员工号,姓名,基本工资,补贴金额,奖励金额,扣税,实发工资等),
其中实发工资=基本工资+补贴金额+奖励金额-扣税。
要求:
1)新增功能,能输入10个员工信息并计算出实发工资,并且员工编号在生成员工信息时同时生成;(提示:使用构造函数生成员工编号)
2)要求对所有员工都能按照名称或编号进行显示、查找、增加和修改的功能;
3)统计出员工的平均工资。
以运行结果文本菜单的形式输出*/
#include <iostream>
#include <string>
#include <ctype.h>
#define N 3
using namespace std;
void menuline()
{
while(getchar()!='\n') continue;
}
class Work_menu
{private:
double price1,price2,price3,price4,price5;
string name;
public:
static num;
void set();
void show();
char showmenu();
void re_show();
void rer_show(int n);
};
int Work_menu::num=0;
void Work_menu::set()
{
cout<<"姓名:";
cin>>name;
cout<<"基本工资:" ; cin>>price1;
cout<<"补贴金额:" ; cin>>price2;
cout<<"奖励金额:" ; cin>>price3;
cout<<"扣税:" ; cin>>price4;
cout<<"实发工资:" ;
price5=price1+price2+price3-price4;
cout<<price5<<endl;
}
void Work_menu::show()
{
num++;
cout<<"员工号:"<<num<<endl;
cout<<"姓名:"<<name<<endl;
cout<<"基本工资:"<<price1<<endl;
cout<<"补贴金额:"<<price2<<endl;
cout<<"奖励金额:"<<price3<<endl;
cout<<"扣税:"<<price4<<endl;
cout<<"实发工资:"<<price5<<endl;
}
void Work_menu::rer_show(int n)
{
num=n;
cout<<"员工号:"<<num<<endl;
cout<<"姓名:"<<name<<endl;
cout<<"基本工资:"<<price1<<endl;
cout<<"补贴金额:"<<price2<<endl;
cout<<"奖励金额:"<<price3<<endl;
cout<<"扣税:"<<price4<<endl;
cout<<"实发工资:"<<price5<<endl;
}
char Work_menu::showmenu()
{
char ans;
cout<<"请选择菜单项:"<<endl;
cout<<"g)查找员工信息: k)修改员工信息:"<<endl;
cout<<" h)增加员工信息: m)显示员工信息"<<endl;
cout<<"p)返回菜单: q)退出程序"<<endl;
ans=tolower(getchar());
menuline();
return ans;
}
void Work_menu::re_show()
{
int i;
Work_menu work[N];
for(i=0;i<N;i++)
{
cout<<"----------------------------"<<endl;
work[i].show();
}
cout<<"--------------------------------------------------------------------"<<endl;
}
void fun1(char g)//查找员工信息
{
char showmenu();
void rer_show(int n);
int n;
cout<<"请输入您需要查找的员工号:"<<endl;
cin>>n;
rer_show(n);
showmenu();
}
void fun2(char k)//修改员工信息
{
char showmenu();
void rer_show(int n);
void re_show();
int n;
cout<<"请输入您需要修改的员工号:"<<endl;
cin>>n;
cout<<"请重新录入该员工信息:"<<endl;
rer_show(n);
cout<<"----------------------修改员工信息后,整理的信息如下-----------------------------"<<endl;
re_show();
showmenu();
}
void fun3(char h)//增加员工信息
{
char showmenu();
void set();
void re_show();
int n;
cout<<"请输入您要增加的员工信息:"<<endl;
cin>>n;
set();
cout<<"----------------------增加员工信息后,整理如下-----------------------------"<<endl;
re_show();
showmenu();
}
void fun4(char m)//显示员工信息
{
char showmenu();
void rer_show(int n);
int n;
cout<<"请输入您需要显示的员工信息的员工号:"<<endl;
cin>>n;
rer_show(n);
showmenu();
}
int main()
{
int i;
char showmenu();
Work_menu work[N];
for(i=0;i<N;i++)
{
cout<<"请输入第"<<i+1<<"位员工的信息:"<<endl;
work[i].set();
}
cout<<"----------------------您录入的信息如下-----------------------------"<<endl;
for(i=0;i<N;i++)
{
cout<<"----------------------------"<<endl;
work[i].show();
}
cout<<"--------------------------------------------------------------------"<<endl;
char choice;
choice=showmenu();
while(choice!='q')
{
switch(choice)
{case 'g':
fun1(choice); break;
case 'k':
fun2(choice); break;
case 'h':
fun3(choice); break;
case 'm':
fun4(choice); break;
case 'p':
break;
}
}
if(choice=='q')
break;//break只能用于循环语句和switch语句,该如何加上
//这里是想退出程序,但是用了break之后又不合法,不知道怎么办,能帮忙想个办法么
return 0;
} |
|