第三周 项目5-数据做数据成员(5)

来源:互联网 发布:java语句种类 编辑:程序博客网 时间:2024/06/05 06:38
/*  * Copyright (c) 2014, 烟台大学计算机学院  * All rights reserved.  * 文件名称:test.cpp  * 作    者:呼亚萍  * 完成日期:2015年 3月 26日  * 版 本 号:v1.0  *  * 问题描述:增加一个成员函数,将排序后结果保存到一个文件中,用多文件的方式组织最后的程序 * 程序输入:相应的程序 * 程序输出:每个人涨500元工资,排序后工资数据 */ main.cpp:#include <iostream>#include "salary.h"using namespace std;int main(){    Salary s1;    s1.read_salarys();    cout<<endl;    cout<<"为每位职工增加500元工资后工资为:"<<endl;    s1.add_salarys(500);    cout<<endl;    cout<<"从小到大对工资排序:"<<endl;    s1.sort_salarys();    s1.show_salarys();    return 0;}salary.cpp:#include <iostream>#include "salary.h"#include <fstream>#include <cstdlib>using namespace std;void Salary::read_salarys(){    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_salarys(){    int i;    ofstream outfile("salary_ordered.tex",ios::out);    if(!outfile)    {        cout<<"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;//为每一个工人加工资        cout<<Salarys[i]<<'\t';    }}void Salary::sort_salarys()//用冒泡法给工资排序{    int i,j;    double t;    for(i=0; i<number; 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';    }}salary.h:#ifndef SALARY_H_INCLUDED#define SALARY_H_INCLUDEDclass Salary{public:    void read_salarys();//读入职工工资    void write_salarys();  //保存数据    void add_salarys(int x);//给每人涨工资    void sort_salarys();//对工资排序    void show_salarys();//显示工资信息private:    double Salarys[500];    int number;//实际人数};#endif // SALARY_H_INCLUDED

运算结果:

知识点总结:

多文件的方式组织文件。

学习心得:

将一个大的程序分开,有助于检查与理解!

0 0
原创粉丝点击