/*
* Copyright (c) 2013, 烟台大学计算机学院
* All rights reserved.
.* 作 者:纪丽娜
* 完成日期:2014 年 3 月 18 日
.* 版 本 号:v1.0
.* 问题描述:数组作数据成员
类中的数组,
运用文件输入输出
*/
#include <iostream>
#include <fstream>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <iomanip>
using namespace std;
class Salary
{
public:
void set_salarys( ); //(1)
void add_salarys(int x); //(2)
void sort_salarys(); //(3)
void show_salarys( ); //(4)
private:
double salarys[501]; //工资
int numble;
};
int main()
{
Salary a;
a.set_salarys();
a.add_salarys(500);
a.sort_salarys();
a.show_salarys();
return 0;
}
void Salary::set_salarys()
{
int i=1;
numble=0;
ifstream infile("as.txt",ios::in); //文件目标
if(!infile)
{
cout<<endl<<"open error!"<<endl<<endl;
exit(1);
}
while(infile>>salarys[i]) //依次检索文件
{numble++;i++;}
infile.close();
}
void Salary::add_salarys(int x)
{
int i;
for(i=1;i<=numble;i++)
{
salarys[i]=salarys[i]+x;
}
}
void Salary::sort_salarys()
{
int i,j;
double t;
for(j=1;j<numble-1;j++)
for(i=1;i<numble-j+1;i++)
if(salarys[i]>salarys[i+1])
{t=salarys[i];salarys[i]=salarys[i+1];salarys[i+1]=t;}
}
void Salary::show_salarys()
{
ofstream outfile("ast.txt",ios::out);
if(!outfile)
{
cout<<endl<<"open error!"<<endl;
exit(1);
}else
{
for(int i=1;i<=numble;i++) //依次写入文件
{
outfile<<salarys[i]<<endl;
}
outfile.close();
}
}