您的位置:首页 > 其它

第三周项目五 数组做数据成员(文件读取+多文件)

2015-03-23 16:28 495 查看
main.cpp

/*
*Copyright (c) 2014,烟台大学计算机学院void change(int a[8][8]);
*All rights reserved.
*文件名称:main.cpp
*作者:苏强
*完成日期:2015年3月23日
*版本号:v1.0
*
*问题描述:读取职工的工资,输入增加的工资,输出排序的增加后的工资
*输入描述:输入职工增加的工资
*程序输出:输出排序的增加后的工资
*/
#include <iostream>
#include"salary.h"
using namespace std;
int main()
{
Salary s;
int x;
s.read_data();
cout<<"输入增加的工资:";
cin>>x;
s.add_salarys(x);
s.sort_salarys();
s.write_data();
s.show_salarys();
return 0;
}


salary.h

#ifndef SALARY_H_INCLUDED
#define SALARY_H_INCLUDED
const int N=500;
class Salary
{
private:
double salarys
;
int number;
public:
void read_data();
void add_salarys(int x);
void sort_salarys();
void write_data();
void show_salarys();
};
#endif // SALARY_H_INCLUDED


salary.cpp

#include <iostream>
#include <fstream>
#include <cstdlib>
#include "salary.h"
using namespace std;
void Salary::read_data( )
{
int i;
ifstream infile("salary.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(int x)
{
int i;
for(i=0; i<number; i++)
salarys[i]+=x;
}
void Salary::sort_salarys()
{
int i,j;
double n;
for(i=0; i<number; i++)
for(j=0; j<number-i-1; j++)
if(salarys[i]>salarys[i+1])
{
n=salarys[i];
salarys[i]=salarys[i+1];
salarys[i+1]=n;
}
}
void Salary::write_data( )
{
int i;
ofstream outfile("salary_ordered.txt",ios::out);   //以输入的方式打开文件
if(!outfile)                 //测试是否成功打开
{
cerr<<"open error!"<<endl;
exit(1);
}
for(i=0; i<number; ++i)
{
outfile<<salarys[i]<<endl;
}
outfile.close();
}

void Salary::show_salarys()
{
int i=0;
while(i<number)
{
cout<<salarys[i]<<"   ";
if((i+1)%5==0)
cout<<endl;
i++;
}
}




数据读取还不太熟悉,多看多做
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: