/*
*程序的版权和版本声明部分:
*Copyright(c)2013,烟台大学计算机学院学生
*All rights reserved.
*文件名称:
*作者:尚振伟
*完成日期:2014年3月20日
*版本号:v0.1
*对任务及求解方法的描述部分:
*输入描述:无
*问题描述:
*程序输入:
*程序输出:
*问题分析:
*算法设计:
*我的程序:
*/
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <Cmath>
using namespace std;
class Salary
{
public:
void read();
void add_salarys(double x);
void sort_salarys();
void show_salarys();
void write();
private:
double salarys[500];//保存工资
int number; //保存人数
};
void Salary::read()
{
int i;
ifstream infile("D:\\work\\qwe\\f1.txt",ios::in);
//测试是否成功打开,打开失败时(如要读的数据文件不存在)退出
if(!infile)
{
cerr<<"open error!"<<endl;
exit(1);
}
i=0;
while(infile>>salarys[i])
{
i++;
}
number=i;
infile.close();
}
void Salary::add_salarys(double x)
{
int i;
for(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=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]<<" ";
}
}
int main()
{
Salary s;
s.read();
s.add_salarys(500); //每人的工资增加500
s.sort_salarys();
cout<<"工资增加500后并按升序排列的结果为:"<<endl;
s.show_salarys();
return 0;
}
结果展示:
心得体会:打开的路径错了,老是输出open error,低级的错误。