15第三周项目五——数组作数据成员(2)

来源:互联网 发布:窗帘品牌 知乎 编辑:程序博客网 时间:2024/05/20 11:23

/*
 * Copyright (c) 2015, 烟台大学计算机学院
 * All rights reserved.
 * 文件名称:test.cpp
 * 作    者:李晓凯
 * 完成日期:2015年 3 月 28 日
 * 版 本 号:v1.0
 *
 * 问题描述:(2)用salary[50]有限制,实际人数少时,会浪费空间,人数多了,无法完成任务。在main()中先输入职工人数,作为参数传递给输入职工工资的成员函数,然后利用动态分配内存的机制,开辟一个大小正好的连续空间,完成上面的工作。

 * 输入描述:输入职工的数目并输入各职工的工资
 * 程序输出:涨后的工资、排序后再输出。

 */

#include <iostream>using namespace std;class Salary{public:    void set_salarys();    void add_salarys(int x);    void sort_salarys();    void show_salarys();private:    double *salarys; //多人的工资    int number;  //实际人数};int main(){    Salary s;    s.set_salarys();    s.add_salarys(500);    s.show_salarys();    s.sort_salarys();    s.show_salarys();}void Salary::set_salarys(){    int i;    cout<<"请输入职工人数:";    cin>>number;    salarys=new double[number];    for(i=0;i<number;i++)        cin>>salarys[i];}void Salary::add_salarys(int x){    int i;    for(i=0; i<number; i++)        salarys[i]=salarys[i]+x;}void Salary::sort_salarys(){    int i,j;    double t;    for(i=0; i<number; i++)    {        for(j=0; j<number-1; j++)            if(salarys[j]<salarys[j+1])            {                t=salarys[j];                salarys[j]=salarys[j+1];                salarys[j+1]=t;            }    }    cout<<endl;}void Salary::show_salarys(){    int i;    for(i=0; i<number; i++)        cout<<salarys[i]<<" ";}


学习总结:这个在第一个的基础上做了简单的修改就OK啦,(*^__^*) 嘻嘻……

0 0