| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1379 人关注过本帖
标题:一直修改还是达不到我想要的,就麻烦大家帮我修改完善一下程序,先谢过了
只看楼主 加入收藏
Vsnow
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:124
专家分:145
注 册:2015-1-3
结帖率:95%
收藏
已结贴  问题点数:30 回复次数:23 
一直修改还是达不到我想要的,就麻烦大家帮我修改完善一下程序,先谢过了
希望增加或修改员工信息之后,能够输出的员工信息可以包括原有的新增(或修改的),并且还能输出员工的平均工资。
题目如下:
/*定义一个能够记录公司员工工资的类, 比如包括:员工号,姓名,基本工资,补贴金额,奖励金额,扣税,实发工资等),
其中实发工资=基本工资+补贴金额+奖励金额-扣税。
要求:
1)新增功能,能输入10个员工信息并计算出实发工资,并且员工编号在生成员工信息时同时生成;(提示:使用构造函数生成员工编号)
2)要求对所有员工都能按照名称或编号进行显示、查找、增加和修改的功能;
3)统计出员工的平均工资。
以运行结果文本菜单的形式输出*/
#include <iostream>
#include <string>
#include <ctype.h>
#define N 10
using namespace std;

class Work_menu
{private:
    double price1,price2,price3,price4,price5;
    string name;
public:
    void set();
    void show();
};   

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()
{
    cout<<"姓名:"<<name<<endl;
    cout<<"基本工资:"<<price1<<endl;
    cout<<"补贴金额:"<<price2<<endl;
    cout<<"奖励金额:"<<price3<<endl;
    cout<<"扣税:"<<price4<<endl;
    cout<<"实发工资:"<<price5<<endl;
}
int main()
{   
    int i,a[10],s=1;
    int n,x,w;
    Work_menu work[N];
    for(i=0;i<N;i++)
     {
         cout<<"请输入第"<<i+1<<"位员工的信息:"<<endl;
         work[i].set();
         cout<<"************"<<endl;
     }
    cout<<"----------------------您录入的信息如下-----------------------------"<<endl;
    for(i=0;i<N;i++)
    {
        cout<<"----------------------------"<<endl;
        cout<<"员工号:"<<s<<endl;
        work[i].show();
        a[i]=s;
        s++;   
    }
    cout<<"--------------------------------------------------------------------"<<endl;
    char choice;   
    while(1)
    {
        cout<<"*********************请选择菜单项:******************************"<<endl;
        cout<<"g)查找员工信息:                    k)修改员工信息:"<<endl;
        cout<<"h)增加员工信息:                    m)显示员工信息"<<endl;   
        cout<<"q)退出程序:"<<endl;
        cin>>choice;
        while(getchar()!='\n')    continue;
    switch(choice)
    {
    case'g':
        cout<<"请输入您需要查找的员工号:"<<endl;
        cin>>n;
        for(i=0;i<N;i++)
        {
            if(n==a[i])
            {
                cout<<"员工号:"<<a[i]<<endl;
                work[i].show();
            }
        }    break;
    case'k':
        cout<<"请输入您需要修改的员工号:"<<endl;
        cin>>x;
        cout<<"请重新录入该员工信息:"<<endl;
        cout<<"请重新输入第"<<x<<"位员工的信息:"<<endl;
        for(i=0;i<1;i++)
        {
            work[i].set();
            cout<<"************"<<endl;
        }
         cout<<"----------------------您录入的信息如下-----------------------------"<<endl;
        for(i=0;i<1;i++)
        {     
            cout<<"员工号:"<<x<<endl;
            work[i].show();
        }
           cout<<"--------------------------------------------------------------------"<<endl;
        break;
    case'h':
        cout<<"请输入您要增加的员工信息:"<<endl;
        for(i=0;i<1;i++)
        {
            cout<<"请输入第"<<s<<"位员工的信息:"<<endl;
            a[s]=s;
            work[i].set();
            cout<<"************"<<endl;
            s++;
        }
        cout<<"----------------------您录入的信息如下-----------------------------"<<endl;
        for(i=0;i<1;i++)
        {
            cout<<"员工号:"<<a[s]<<endl;
            work[i].show();
        }
           cout<<"--------------------------------------------------------------------"<<endl;
        break;
    case'm':
        cout<<"请输入您需要显示的员工信息的员工号:"<<endl;
        cin>>w;
        for(i=0;i<s+1;i++)
        {
            if(w==a[i])
            {
                cout<<"员工号:"<<a[i]<<endl;
                work[i].show();
                s++;
                a[N-1]=s;
            }
        }    break;
    case 'q':
        return 0;
    }
    }
    return 0;
}
搜索更多相关主题的帖子: 平均工资 记录 统计 信息 
2015-04-29 11:45
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:10 
你这代码都没写全,也不知道是什么目的没达到。再说了,这纯粹是C的写法,但题目要求是用C++。不是写个class关键字,以及用上cout之类就是C++的。

授人以渔,不授人以鱼。
2015-04-29 19:20
Vsnow
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:124
专家分:145
注 册:2015-1-3
收藏
得分:0 
回复 2楼 TonyDeng
不是有些方面c和c++相似么?难道还有哪用错了?想要的目的就是如果选择菜单的 h)增加员工信息  键盘输入信息之后,能够输出之前的和后加的员工信息能一起输出,并且最后一行输出增加信息之后的平均工资。请版主指点,万分感谢!!
关于平均工资部分的程序有问题就没放上来(⊙﹏⊙)
2015-04-29 20:24
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:10 
C++与C的区别是面向对象的思想,不是语法,两者在语法上是相通的,但思想是有质的区别。题目的叙述很明确,有“使用构造函数”的字样,而你写的代码,就完全没有编写构造函数,已经没按要求做了,那正是你没有面向对象编程的思想所致,故想不到那是怎样做的,完全没那个意识。

我这两天都没时间写程序,3、4号再说吧。

[ 本帖最后由 TonyDeng 于 2015-4-29 21:02 编辑 ]

授人以渔,不授人以鱼。
2015-04-29 20:33
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:10 
我一直不断地、反复地说过:不要以為学了、学好了C,就可以学好C++,相反,那是更加妨碍学习C++,最好的做法,是一开始就切入C++,事实恰好反过来,学好C++,对学C倒是有帮助。

授人以渔,不授人以鱼。
2015-04-29 21:06
Vsnow
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:124
专家分:145
注 册:2015-1-3
收藏
得分:0 
因为最开始接触的是c,所以会不自觉的把c的习惯带到c++,要改还是比较困难的,所以编写的程序有问题,部分原因还是与此相关的。所以就想观摩参考一下别人写的,到底是哪有问题
最后能否麻烦版主编写的时候,在需要注意的地方能注释一下
2015-04-29 21:16
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
好的

授人以渔,不授人以鱼。
2015-04-29 21:18
Vsnow
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:124
专家分:145
注 册:2015-1-3
收藏
得分:0 
谢谢热心的版主
2015-04-29 22:14
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
你用什么编程环境?我用了一点C++11标准的语法(新增的for()循环),如果你的编译器不支持,需要改回旧式的语句。我计划按你1楼题目的要求把整个程序做出来,需要一点时间,不要急。

[ 本帖最后由 TonyDeng 于 2015-5-3 15:44 编辑 ]

授人以渔,不授人以鱼。
2015-05-03 15:38
Vsnow
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:124
专家分:145
注 册:2015-1-3
收藏
得分:0 
嗯嗯,是VC6.0,我不急,只要能弄懂就好
2015-05-04 11:01
快速回复:一直修改还是达不到我想要的,就麻烦大家帮我修改完善一下程序,先谢过 ...
数据加载中...
 
   



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

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