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

来源:互联网 发布:淘宝卖食品三证多少钱 编辑:程序博客网 时间:2024/05/22 00:10
</pre><pre class="cpp" name="code">/*  * Copyright (c) 2014, 烟台大学计算机学院  * All rights reserved.  * 文件名称:test.cpp  * 作    者:呼亚萍  * 完成日期:2015年 3月 25日  * 版 本 号:v1.0  *  * 问题描述:增加一个成员函数,将排序后结果保存到一个文件中。 * 程序输入:相应的程序 * 程序输出:每个人涨500元工资,排序后工资数据 */#include <iostream>#include <fstream>#include <cstdlib>using namespace std;class 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;//实际人数};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';    }}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;}

运算结果:


知识点总结:

从文件中读取数据,又将文件保存到一个文件中

学习心得:

还是不太明白从文件中读取数据以及保存数据,保存的文件也没有找到!

0 0
原创粉丝点击