第二周项目5——数组做数据成员(3)(4)

来源:互联网 发布:北京软件开发设计公司 编辑:程序博客网 时间:2024/06/06 09:05

问题及代码:

/**Copyright (c)2015,烟台大学计算机与控制工程学院*All rights reserved.*文件名称:salary.cpp*作    者:赵敏*完成日期:2015年3月25日*版 本 号:v1.0*问题描述:(3)手工输入工资?!太让人不能忍受了。现给出包含了不足500个职工工资的文件salary.txt(下载),从文件中读数据,完成上面的工作。(4)增加一个成员函数,将排序后结果保存到一个文件中。*/#include <iostream>#include <fstream>#include <cstdlib>using namespace std;class Salary{public:    void read_salarys();    void add_salarys(int x);    void sort_salarys();    void show_salarys( );private:    double salarys[500]; //多人的工资    int number;  //实际人数};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::add_salarys(int x) {     int i;     for(i=0;i<number;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;}}void Salary::show_salarys( ){    int i;    for(i=0;i<number;i++)    {        cout<<salarys[i]<<'\t';    }}int main(){    Salary s;    s.read_salarys();    s.add_salarys(500);    s.sort_salarys();    s.show_salarys();}


运行结果:

知识点总结:

从文件中输入数据。

 

0 0
原创粉丝点击