第八周项目一(1)-数组做数据成员

来源:互联网 发布:淘宝店铺入驻折800 编辑:程序博客网 时间:2024/06/12 01:17

问题及代码:

/**烟台大学计算机学院*文件名称:xiangmu1.cpp*作    者:闫安*完成日期:2016年5月2日*版 本 号:codeblocks 16.01**问题描述:实现Salary类中的成员函数,在main函数定义Salary类的对象,输入工资,再给每个人涨500元工资,           排序后工资数据,然后输出结果。*程序输入;职工工资*程序输出:员工工资*/#include<iostream>using namespace std;class Salary{public:    void set_salarys( );//输入职工工资(输入-1标志着工资输入结束),工资保存到salary数组中,实际人数保存到number中;    void add_salarys(int x); //给每个人涨x元工资    void sort_salarys(); //对工资由大到小排序    void show_salarys(int x); //显示工资信息private:    double salarys[50]; //多人的工资    int number;  //实际人数};void Salary::set_salarys( ){    int i=0,s;    cin>>s;    while(s>0)    {        salarys[i]=s;  //工资保存到数组数据成员中        ++i;        cin>>s;    }    number=i;   //number是数据成员,记录下职工人数}void Salary::add_salarys(int x){    int i;    for(i=0;i<number;i++)        salarys[i]+=x;}void Salary::sort_salarys(){    int i,j,t;    for(i=0;i<number;i++)        for(j=0;j<number-1-i;j++)            if(salarys[j]>salarys[j+1])            {                t=salarys[j];                salarys[j]=salarys[j+1];                salarys[j+1]=t;            }}void Salary::show_salarys(int x){    int i;    cout<<"工资涨"<<x<<"后变为:"<<endl;    for(i=0;i<number;i++)        cout<<salarys[i]<<"\t";}int main(){    Salary s;    s.set_salarys( );    s.add_salarys(500);    s.sort_salarys();    s.show_salarys(500);    return 0;}

运行结果:

知识点总结:

       改程序用数组作数据成员

学习心得:

       运用冒泡法排序时误将j=0写成j=i,导致排序不彻底

0 0
原创粉丝点击