十六周任务一

/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:设计一个工资类(Salary)--完成各个功能
 * 作 者:张艳明
* 完成日期: 2012年6月4日
* 版 本 号:V1.2
 * 对任务及求解方法的描述部分
* 输入描述: ...
* 问题描述: ...
* 程序输出: ...
*程序头部的注释结
*/ 

#include<iostream>      
#include<fstream>     
using namespace std;      
class Salary    
{    
public:    
    void ordered_salary_add();    
    void ordered_salary();    
    void input_salary();  
    void ordered_salary_txt();  
private:           
    double salary[500];    
    int number;    
};  
int main()    
{    
    Salary s1;   
    //cout<<"500人的原始工资为:"<<endl;  
    s1.input_salary();    
    //cout<<endl;    
    cout<<"排序后工资为:";    
    cout<<endl;    
    s1.ordered_salary();    
    cout<<endl;    
    s1.ordered_salary_txt();  
    system("PAUSE");    
    return 0;    
}  
void Salary::input_salary()    
{    
    int i=0;    
    ifstream infile("salary.txt",ios::in);  
    if (!infile)  
    {  
        cerr<<"open error!"<<endl;  
        exit(1);  
    }  
    for (i=0;i<500;i++)  
        infile>>salary[i];  
    infile.close();  
    //for(i=0;i<500;i++)  
        //cout<<salary[i]<<"  ";  
    //cout<<endl;  
    number=500;    
}  
void Salary::ordered_salary_add()    
{    
    int i;    
    for (i=0;i<number;i++)    
    {    
        salary[i]=salary[i]+100;    
        //cout<<salary[i]<<"  ";    
    }    
    return;    
}    
void Salary::ordered_salary()    
{    
      
    int i,j;    
    double t;    
    for(i=0;i<number-1;i++)   
    {  
        for(j=0;j<number-i-1;j++)   
        {  
            if(salary[j]>salary[j+1])    
            {    
                t=salary[j];    
                salary[j]=salary[j+1];    
                salary[j+1]=t;    
            }    
        }  
    }  
    for (i=0;i<number;i++)    
    {    
        cout<<salary[i]<<"  ";    
    }    
    return;    
}    
  
void Salary::ordered_salary_txt()  
{  
    ofstream outfile("ordered_salary.txt",ios::out);  
    if(!outfile)  
    {  
        cerr<<"open error!"<<endl;  
        exit(1);  
    }  
    for(int i=0;i<500;i++)  
        outfile<<salary[i]<<"\n";  
    outfile.close();  
    return ;  
}  



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值