• C++走向远洋——37(工资类,2)


    */
     * Copyright (c) 2016,烟台大学计算机与控制工程学院
     * All rights reserved.
     * 文件名:salarly.cpp
     * 作者:常轩
     * 微信公众号:Worldhello
     * 完成日期:2016年4月20日
     * 版本号:V1.4
     * 问题描述:对数组内的工资进行一系列的操作
     * 程序输入:工资
     * 程序输出:见运行结果
     */
    #include <iostream>  
    #include <fstream>  
    #include <cstdlib>  
    using namespace std;  
    const int N=500;  
    class Salary  
    {  
    public:  
        void read_data( );  
        void write_data();  
        void add_salarys(int x);  
        void sort_salarys();  
        void show_salarys( );  
    private:  
        double salarys[N]; //工资, 指针更好  
        int number;        //人数  
    };  
    
    void Salary::read_data( )  
    {  
        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::write_data( )  
    {  
        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::add_salarys(int x)  
    {  
        int i;  
        for (i=0; i<number; 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::show_salarys( )  
    {  
        int i;  
        for (i=0; i<number; i++)  
            cout<<salarys[i]<<"		";  
    }  
    
    int main( )  
    {  
        Salary s;  
        s.read_data( );  
        s.add_salarys(500);  
        s.sort_salarys();  
        s.write_data( );  
        s.show_salarys( );  
        return 0;  
    } 


    运行结果:

    心得:

       无

  • 相关阅读:
    C++ Boost 函数与回调应用
    C++ Boost库 操作字符串与正则
    C++ Boost库 实现命令行解析
    PHP 开发与代码审计(总结)
    c strncpy函数代码实现
    c strcat函数代码实现
    c strcpy函数代码实现
    c strlen函数代码实现
    Java-IO流-打印流
    Java-IO流-文件复制2
  • 原文地址:https://www.cnblogs.com/chxuan/p/8232243.html
Copyright © 2020-2023  润新知