/*
*Copyright (c)2016,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:main.cpp
*作 者:刘涛
*完成日期:2016年4月18号
*版 本 号:v1.0
*
*问题描述:数组做数据成员
*/
#include <iostream>
#include<fstream>
#include<cstdlib>
using namespace std;
class Salary
{
public:
void add_salarys(int x); //给每个人涨x元工资
void sort_salarys(); //对工资由大到小排序
void show_salarys(); //显示工资信息
void readData();//读出数据
void saveData();
private:
double salarys[500]; //多人的工资
int number; //实际人数
};
void Salary::readData()
{
double *p;
p=salarys;
int i;
ifstream infile("D://salary.txt",ios::in);
if(!infile)
{
cerr<<"open error!"<<endl;
exit(0);
}
i=0;
while(infile>>*(p+i))
i++;
number=i;
infile.close();
}
void Salary::saveData( )
{
int i;
double *p;
p=salarys;
ofstream outfile("D://sss.txt",ios::out);
if(!outfile)
{
cerr<<"open error!"<<endl;
exit(1);
}
for(i=0; i<number; i++)
{
outfile<<*(p+i)<<endl;
}
outfile.close();
}
void Salary::add_salarys(int x)
{
int j;
double *p1;
p1=salarys;
for(j=0;j<number;j++)
*(p1+j)+=x;
}
void Salary::sort_salarys()
{
int i,j;
double money;
double *p2;
p2=salarys;
for(i=0;i<number-1;i++)
{
for(j=0;j<number-i-1;j++)
if(*(p2+j)>*(p2+j+1))
{
money=*(p2+j);
*(p2+j)=*(p2+j+1);
*(p2+j+1)=money;
}
}
}
void Salary::show_salarys()
{
int a;
double *p3;
p3=salarys;
for(a=0;a<number;a++)
cout<<*(p3+a)<<endl;
}
int main()
{
Salary Money;
Money.readData();
Money.add_salarys(500);
Money.sort_salarys();
Money.saveData();
Money.show_salarys();
return 0;
}
运行结果: