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;  
    } 


    运行结果:

    心得:

       无

  • 相关阅读:
    xshell下载官网地址
    logo
    网站案例搜集
    cnblogs修改网站图标icon
    父页面调用子页面方法, 子页面加载父页面传送的数据
    对Java的常用对象(POJO、DTO、PO、BO、VO、DAO)详细解释及应用场景
    关于jsp发起请求加载datagrid数据(草稿)
    接口测试-Http状态码-postman上传文件
    httpclient获取响应实体和信息的封装方法(解耦更新)
    使用httpClient调用接口获取响应数据
  • 原文地址:https://www.cnblogs.com/chxuan/p/8232243.html
Copyright © 2011-2022 走看看