第8週目プロジェクト1配列データメンバー(1)

2041 ワード

/*Copyright (c)2016,              
02.02.*All rights reserved.
03.03.*    :main.cpp
04.04.*      :  
05.05.*    :2016 4 17 
06.06.*     :v1.0
07.07.*
08.08.*    :        
09.09.     :          
10.10.*    :       
11.*/

#include <iostream>
using namespace std;
class Salary
{
public:
    void set_salarys();
    void add_salarys(int x);
    void sort_salarys();
    void show_salarys();
private:
    double salary[50];
    int number;
};
void Salary:: set_salarys()
{
    int i,number=0,a;
    for(i=0;i<50;i++)
    {
        cin>>salary[i];
        number=number+1;
        if(salary[i]==-1)
        {
            a=i;
            break;
        }
    }
}
void Salary::add_salarys(int x)
{
    int i,a;
    for(i=0;i<50;i++)
    {
        if(salary[i]==-1)
        {
            a=i;
        }
    }
    for(i=0;i<a;i++)
    {
        if(salary[i]==-1)
        {
            break;
        }
        salary[i]=salary[i]+x;
    }

}
void Salary::sort_salarys()
{
    int i,j,t,a;
    for(i=0;i<50;i++)
    {
        if(salary[i]==-1)
        {
            a=i;
        }
    }
    for(i=0;i<a-1;i++)
    {
        for(j=0;j<a-i-1;j++)
        {
            if(salary[j]>salary[j+1])
            {
                t=salary[j];
                salary[j]=salary[j+1];
                salary[j+1]=t;
            }
        }
    }
}
void Salary::show_salarys()
{
    int i,a;
    for(i=0;i<50;i++)
    {
        if(salary[i]==-1)
        {
            a=i;
        }
    }
    for(i=0;i<a;i++)
    {
        cout<<salary[i]<<endl;
    }
}

int main()
{
    Salary s;
    int x;
    cout<<"          :"<<endl;
    cin>>x;
    cout<<"     :( -1    )"<<endl;
    s.set_salarys(); 
    s.add_salarys(x);
    s.sort_salarys();
    cout<<"       :"<<endl;
    s.show_salarys();
    return 0;
}

実行結果:
学習の心得:
クラスでの配列の運用
知識ポイントのまとめ:
配列の簡単な運用