您的位置:首页 > 其它

数组做数组成员 3

2016-05-10 17:14 375 查看

/* 
 *Copyright(c)2016,烟台大学计算机与控制工程学院 
 *All rights reserved 
 *文件名称:123.cpp 
 *作    者:隋宗涛
 *完成日期:2016年5月9日 
 *版 本 号:v1.0 
 * 
 *问题描述:实现Salary类中的成员函数,在main函数定义Salary类的对象,用多文件的方式组织最后的程序。 
 *输入描述:无 
 *程序输出:无 
*/  
  
1.类声明  
  
#ifndef 456_H_INCLUDED  
#define 456_H_INCLUDED  
using namespace std;  
const int N=500;  
class Salary  
{  
public:  
    void read_data( );  //读取文件  
    void write_data();  //保存文件  
    void add_salarys(int x);  <span style="font-family: Arial, Helvetica, sans-serif;">//涨工资x元</span>  
    void sort_salarys(); //对工资由大到小排序    
    void show_salarys( );  //显示工资信息  
private:  
    double salarys
; //工资, 用指针更好  
    int number;        //人数  
};  
#endif // 456_H_INCLUDED  
  
2.salary.cpp  
  
#include <iostream>    
#include"456.h"    
using namespace std;  
void Salary::read_data( )  //读取文件  
{  
    int s;  
    ifstream infile("salary.txt",ios::in);  //以输入的方式打开文件  
    if(!infile)  //测试是否成功打开文件  
    {  
        cerr<<"open error!"<<endl;  
        exit(1);  
    }  
    s=0;  
    while(infile>>salarys[s])  
    {  
        s++;  
    }  
    number=s;  
    infile.close();  
}  
void Salary::write_data( )  保存文件  
{  
    int s;  
    ofstream outfile("salary_ordered.txt",ios::out);  //以输入的方式打开文件  
    if(!outfile)  //测试是否成功打开文件  
    {  
        cerr<<"open error!"<<endl;  
        exit(1);  
    }  
    for(s=0;s<number;++s)  
    {  
        outfile<<salarys[s]<<endl;  
    }  
    outfile.close();  
}  
  
void Salary::add_salarys(int m)  //涨工资m元  
{  
    int s;  
    for (s=0;s<number;s++)  
        salarys[s]+=m;  
}  
  
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]<<"\t";  
}  
3.main()函数  
  
#include <iostream>    
#include"456.h"    
using namespace std;  
int main( )  
{  
    Salary s;  
    s.read_data( );  
    s.add_salarys(500);  
    s.sort_salarys();  
    s.write_data( );  
    s.show_salarys( );  
    return 0;  
}  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: