数组作数据成员2

来源:互联网 发布:可视化编程软件哪个好 编辑:程序博客网 时间:2024/05/20 11:51
#include<iostream>
#include <fstream>  
#include <cstdlib> 
using namespace std;
class Salary  
{  
public:
    void set_salarys( );
    void add_salarys(int x); 
    void sort_salarys(); 
void  write_salarts( )  ;
    void show_salarys( ); 
private:  
    double salarys[50];  
    int number;  
};  
void Salary::set_salarys()
{
int i;  
    ifstream infile("salary.txt",ios::in);  
    if(!infile)                   
    {  
        cerr<<"open error!"<<endl;  
        exit(1);  
    }  
    i=0;  
    while(infile>>salarys[i])  
        i++;  
    number=i;  
    infile.close(); 

}






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-1;i++)  
        for(j=0;j<number-i-1;j++)  
            if (salarys[j]<salarys[j+1])  
            {  
                t=salarys[j];  
                salarys[j]=salarys[j+1];  
                salarys[j+1]=t;  
            }  
}  


void Salary:: write_salarts( )  
{  
    int i;  
    ofstream outfile("salary_ordered.txt",ios::out); 
    if(!outfile)                 
    {  
        cerr<<"open error!"<<endl;  
        exit(1);  
    }  
 for(i=0; i<number; ++i)  
    {  
        outfile<<salarys[i]<<endl;  
    }  
    outfile.close();  
}  


void Salary::show_salarys( )  
{  
    int i;  
    for (i=0; i<number; i++)  
        cout<<salarys[i]<<endl;  
}  


int main( )  
{  
    Salary s;  
    s.set_salarys( );  
    s.add_salarys(500);  
    s.sort_salarys();  
    s.write_salarts();  
    s.show_salarys();  
    return 0;  
0 0