第三周项目五数组作数据成员(5)

来源:互联网 发布:淘宝名词解释大全 编辑:程序博客网 时间:2024/04/30 11:30

问题及代码:

/*  * Copyright (c) 2014, 烟台大学计算机与控制工程学院  * All rights reserved.  * 文件名称:test.cpp  * 作    者:郝俊宇   * 完成日期:2015年 3 月26 日  * 版 本 号:v1.0  *  * 问题描述:设计一个工资类(Salary)(5)用多文件的方式组织最后的程序。 * 输入描述:无 * 程序输出:对应的工资 */ 


main.cpp

#include <iostream>#include "salary.h"using namespace std;int main(){    Salary salary;    salary.read();    salary.add_salarys(500);    salary.sort_salarys();    salary.write();    return 0;}


salary.h

#ifndef SALARY_H_INCLUDED#define SALARY_H_INCLUDEDconst int N=500;class Salary{private:    double salarys[N]; //工资    int number;  //人数public:    void read();    void write();    void add_salarys(int x);//给每个人涨x元工资    void sort_salarys();//对工资排序};#endif // SALARY_H_INCLUDED


salary.cpp

#include <iostream>#include <fstream>#include <cstdlib>#include "salary.h"using namespace std;void Salary::read(){    int i=0;    ifstream infile("salary.txt",ios::in);   //以输入的方式打开文件    if(!infile)                 //测试是否成功打开    {        cerr<<"open error!"<<endl;        exit(1);    }    while(infile>>salarys[i])        i++;    number=i;    infile.close();}void Salary::write(){    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]=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;            }        }    }}


运行结果:

知识点总结:

多文件组织的应用

学习心得:

对于多文件组织的应用更加熟练了。

0 0
原创粉丝点击