/*
*程序的版权和版本声明部分:
*Copyright(c)2014,烟台大学计算机学院学生
*All rights reserved.
*文件名称:
*作者:田成琳
*完成日期:2014 年 3月 18 日
*版本号:v1.0
*对任务及求解方法的描述部分:
*输入描述: 工资
*问题描述:输入工资,进行运算
*程序输出:工资
*问题分析:
*算法设计:
*/
#include<iostream>
#include<fstream>
#include<cstdlib>
using namespace std;
class Salary
{
public:
void set_salarys( );
void add_salarys(int x);
void sort_salarys();
void show_salarys( );
void write_salarys();
private:
double salarys[500]; //工资
int number; //实际人数
};
int main()
{
Salary money;
double x;
money.set_salarys();
cout<<"请输入增加的工资:"<<endl;
cin>>x;
money.add_salarys(x);
cout<<"根据工资排序为:"<<endl;
money.sort_salarys();
money.show_salarys();
money.write_salarys();
return 0;
}
void Salary::set_salarys( )
{
int num=0;
ifstream infile("D:\\salary.txt",ios::in);
if(!infile)
{
cerr<<"open error!"<<endl;
exit(1);
}
while(!infile.eof())
{
infile>>salarys[num];
num++;
}
infile.close();
number=num;
}
void Salary::add_salarys(int x)
{
for(int i=0;i<number;i++)
{
salarys[i]+=x;
}
}
void Salary::sort_salarys()
{
int i,j;
double t;
for(i=0;i<number-1;i++)
{
for(j=i+1;j<number;j++)
{
if(salarys[i]>salarys[j])
{
t=salarys[i];
salarys[i]=salarys[j];
salarys[j]=t;
}
}
}
}
void Salary::write_salarys()
{
ofstream outfile("D:\\money.txt",ios::out);
if(!outfile)
{
cerr<<"open error!"<<endl;
exit(1);
}
for(int i=number-1;i>=0;i--)
{
outfile<<salarys[i]<<"\t\t";
}
outfile.close();
}
void Salary::show_salarys()
{
for(int i=0;i<number;i++)
{
cout<<salarys[i]<<"\t\t";
}
cout<<endl;
}
运行结果:
心得体会: