/*
*Copyright (c)2016,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:main.cpp
*作 者:刘涛
*完成日期:2016年4月18号
*版 本 号:v1.0
*
*问题描述:数组做数据成员
*/
文件一:
#include <iostream>
#include<fstream>
#include<cstdlib>
#include "Salary2.h"
using namespace std;
int main()
{
Salary Money;
Money.readDate();
Money.add_salarys(500);
Money.sort_salarys();
Money.show_salarys();
return 0;
}
文件二:
#ifndef SALARY2_H_INCLUDED
#define SALARY2_H_INCLUDED
class Salary
{
public:
void add_salarys(int x); //给每个人涨x元工资
void sort_salarys(); //对工资由大到小排序
void show_salarys( ); //显示工资信息
void readDate();//读出数据
private:
double salarys[50]; //多人的工资
int number; //实际人数
};
#endif // SALARY2_H_INCLUDED
#endif // SALARY2_H_INCLUDED
文件三:
#include <iostream>
#include<fstream>
#include<cstdlib>
#include"Salary2.h"
using namespace std;
void Salary::readDate()
{
double *p;
p=salarys;
int i;
ifstream infile("salary.txt",ios::in);
if(!infile)
{
cerr<<"open error!"<<endl;
exit(1);
}
i=0;
while(infile>>*(p+i))
i++;
number=i;
infile.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 m;
double *p3;
p3=salarys;
for(m=0;m<number;m++)
cout<<"第"<<m+1<<"位"<<"员工工资为:"<<*(p3+m)<<endl;
}