第八周项目1-数组做数据成员(2)

来源:互联网 发布:mac系统复制粘贴快捷键 编辑:程序博客网 时间:2024/05/16 10:21

问题及代码:

/* *Copyright (c) 2016,烟台大学计算机学院 *All rights reserved. *文件名称:zwj.cpp *作    者:张伟晶 *完成日期:2016年4月17日 *版 本 号:v1.0 * *问题描述:增加一个成员函数,用于从文件中读出数据,再增加一个成员函数,将排序后的结果保存到一个文件中 *输入描述: *程序输出:文件中工资排序后输出 */#include<iostream>#include<fstream>#include<cstdlib>using namespace std;const int N=500;class Salary{public:    void read_data();    void write_data();    void sort_salarys();    void show_salarys();    void save_salarys();private:    double salarys[N];    int number;};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::save_salarys(){    int i;    ofstream outfile("salary2.txt",ios::out);    if(!outfile)    {        cerr<<"save error!"<<endl;        exit(1);    }    for(i=0;i<number;i++)        outfile<<salarys[i]<<" ";    outfile.close();    cout<<"已经将数据存入文件"<<endl;}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 gongzi;    gongzi.read_data();    gongzi.sort_salarys();    gongzi.show_salarys();    gongzi.save_salarys();    return 0;}

运行结果:


知识点总结:

文件的写入和写出

学习心得:

头文件:#include<ofstream>

0 0