| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2109 人关注过本帖
标题:想结束一个程序,但break又不合法,请帮帮忙,谢谢
只看楼主 加入收藏
Vsnow
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:124
专家分:145
注 册:2015-1-3
结帖率:95%
收藏
已结贴  问题点数:20 回复次数:5 
想结束一个程序,但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;
}
搜索更多相关主题的帖子: include 平均工资 记录 统计 
2015-04-19 16:14
code力力
Rank: 5Rank: 5
来 自:宜昌
等 级:职业侠客
威 望:2
帖 子:215
专家分:338
注 册:2015-1-12
收藏
得分:5 
if(choice=='q')
      
       //这个执行完后就是return0了,完全可以用空语句啊
   
    return 0;
}

你醒了?快起来敲代码!!
2015-04-19 16:44
Vsnow
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:124
专家分:145
注 册:2015-1-3
收藏
得分:0 
这样改了以后,还是显示有错,能帮忙看一下么?
2015-04-19 17:57
glarm
Rank: 2
等 级:论坛游民
帖 子:43
专家分:24
注 册:2015-3-4
收藏
得分:5 
exit(0
2015-04-19 22:19
鲤鱼爱美丽
Rank: 8Rank: 8
来 自:冥界
等 级:蝙蝠侠
威 望:5
帖 子:288
专家分:843
注 册:2015-4-8
收藏
得分:0 
代码好长啊

代码代码,带着的石头码!!!
2015-04-19 23:00
code力力
Rank: 5Rank: 5
来 自:宜昌
等 级:职业侠客
威 望:2
帖 子:215
专家分:338
注 册:2015-1-12
收藏
得分:10 
既然写空语句都有问题。
我觉得还是你的流程的设计有问题,(虽然我没看,看C++好吃力)

把退出选项语句放在main最后,然后什么也不做,感觉好怪。

你醒了?快起来敲代码!!
2015-04-19 23:45
快速回复:想结束一个程序,但break又不合法,请帮帮忙,谢谢
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.045189 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved