第八周项目1 数组做类的数据成员(3)(多文件)

来源:互联网 发布:安德烈波切利 知乎 编辑:程序博客网 时间:2024/04/29 17:36
/*    *Copyright(c) 2016,烟台大学计算机学院    *All rights reserved.    *作    者:刘金石    *完成日期:2016年4月17日    *版本  号:v1.0    *问题描述: 打开一个工资数据的文本文件,排序后再把数据存入另一个文件(多文件) *输入描述:无。    *输出描述:输排序后的工资。   */  

Salary.h     //头文件

#ifndef SALARY_H_INCLUDED#define SALARY_H_INCLUDEDusing namespace std;const int N=500;class Salary{public:    void read_sadate();    void write_sadate();    void add_salary(int x);//给每个人涨x元工资    void sort_salary();//对工资由大到小排序    void show_salary();private:    double salarys[N];//多人的工资    int number;//实际人数};#endif // SALARY_H_INCLUDED
sal.cpp       //类的函数文件

#include<iostream>#include <fstream>#include <cstdlib>#include"Salary.h"using namespace std;void Salary::read_sadate(){    int i=0;    ifstream infile("salary.txt",ios::in);    if(!infile)//是否打开成功    {        cout<<"can't open the file!"<<endl;        exit(0);    }    while(infile>>salarys[i])        i++;    number=i;    infile.close();}void Salary::write_sadate(){    int i=0;    ofstream outfile("salary_write.txt",ios::out);//以输入的方式打开    if(!outfile)//是否打开成功    {        cout<<"can't open the file!"<<endl;        exit(0);    }    for(i=0;i<number;i++)        outfile<<salarys[i]<<endl;    outfile.close();}void Salary::sort_salary(){    int i,j;    double t;    for(i=0;i<number-1;i++)    {        for(j=i+1;j<number;j++)        {            if(salarys[i]<salarys[j])            {                t=salarys[i];                salarys[i]=salarys[j];                salarys[j]=t;            }        }    }}void Salary::add_salary(int x){    for(int i=0;i<number;i++)        salarys[i]+=x;}void Salary::show_salary(){    int i;    cout<<"排序后的工资为:"<<endl;    for(i=0;i<number;i++)    {         cout<<salarys[i]<<" ";        if((i+1)%5==0)            cout<<'\n';    }}
main.cpp       //测试文件

#include <iostream>#include <fstream>#include <cstdlib>#include"Salary.h"using namespace std;int main(){    Salary sa;    sa.add_salary(500);    sa.sort_salary();    sa.show_salary( );    return 0;}



0 0
原创粉丝点击