zoukankan      html  css  js  c++  java
  • 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;  
    } 


    运行结果:

    心得:

       无

  • 相关阅读:
    TCP四次握手断开连接(十一)
    Go-函数
    Go-数据类型以及变量,常量
    GO语言介绍以及开发环境配置
    Socket与WebSocket以及http与https重新总结
    希尔排序
    第19课
    第18课
    外传篇3 动态内存申请的结果
    外传篇2 函数的异常规格说明
  • 原文地址:https://www.cnblogs.com/chxuan/p/8232243.html
Copyright © 2011-2022 走看看