第八周项目一(3) 数组作数据成员(多文件)

来源:互联网 发布:淘宝免费推广的方法 编辑:程序博客网 时间:2024/05/01 09:45

文件1 main.cpp

/*copyright(c)2016.烟台大学计算机学院 * All rights reserved, * 文件名称:text.Cpp * 作者:舒文超 * 完成日期:2016年4月17日 * 版本号:vc++6.0 * * 问题描述: 用多文件组织多个类的程序 */#include <iostream>#include <fstream>#include <cstdlib>#include "Salary.h"using namespace std;int main( ){    Salary sa;    sa.read_data( );    sa.add_salarys(500);    sa.sort_salarys();    sa.write_data( );    sa.show_salarys( );    return 0;}

文件2  salary.h   对类进行声明

#ifndef GAME_H_INCLUDED#define GAME_H_INCLUDEDusing namespace std;class Salary{public:    void read_data( );    void write_data();    void add_salarys(int x);    void sort_salarys();    void show_salarys( );private:    double salarys[500]; //工资, 用指针更好    int number;        //人数};#endif // GAME_H_INCLUDED

文件3 salary.cpp   对类进行定义

#include <iostream>#include "salary.h"using namespace std;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(0);    }    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 money;    for (i=0; i<number-1; i++)        for(j=0; j<number-i-1; j++)            if (salarys[j]<salarys[j+1])            {                money=salarys[j];                salarys[j]=salarys[j+1];                salarys[j+1]=money;            }}void Salary::show_salarys( ){    int i;    for (i=0; i<number; i++)        cout<<salarys[i]<<"\t";}


0 0