/*
*Copyright (c)2016,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:main.cpp
*作 者:郭永恒
*完成日期:2016年4月18日
*版 本 号:v1.0
*
*问题描述:设计一个工资类
*(1):实现类的成员函数,并且给每个涨工资500元
*(2):从文件读入工资,增加两个函数,分别从文件读入数据和将数据写入文件
*(3):多文件组织程序
*/
(1):
#include <iostream>
#include <algorithm>
using namespace std;
class Salary
{
public:
Salary():number(0){fill(salarys,salarys+50,0);}
~Salary(){}
void set_salarys();
void add_salarys(int x);
void sort_salarys();
void show_salarys();
private:
double salarys[50] = {0};
int number = 0;
};
void Salary::set_salarys()
{
cout << "please input the number of workforces(the number <= 50)" << endl;
cin >> number;
cout << "please input the salary:" << endl;
for(int i = 0; i < number; ++i)
cin >> salarys[i];
}
void Salary::add_salarys(int x)
{
for(int i = 0; i < number; ++i)
salarys[i] += x;
}
void Salary::sort_salarys()
{
sort(salarys,salarys+number);
}
void Salary::show_salarys()
{
for(int i = 0; i < number; ++i)
cout << i << "'s salary: " << salarys[i] << endl;
}
int main()
{
Salary labourder;
labourder.set_salarys();
labourder.add_salarys(500);
labourder.sort_salarys();
labourder.show_salarys();
return 0;
}
运行结果:
(2):
#include <iostream>
#include <fstream>//包含此头文件
#include <algorithm>
using namespace std;
class Salary
{
public:
Salary():number(0){fill(salarys,salarys+50,0);}
~Salary(){}
void finput(ifstream &fin);//从文件读取
void foutput(ofstream &fout);//写入文件
void set_salarys();
void add_salarys(int x);
void sort_salarys();
void show_salarys();
private:
double salarys[50] = {0};
int number = 0;
};
void Salary::finput(ifstream &fin)
{
cout << "please input the number of workforces(the number <= 50)" << endl;
cin >> number;
for(int i = 0; i < number; ++i)
fin >> salarys[i];
}
void Salary::foutput(ofstream &fout)
{
for(int i = 0; i < number; ++i)
fout << salarys[i] << endl;
}
void Salary::set_salarys()
{
cout << "please input the number of workforces(the number <= 50)" << endl;
cin >> number;
cout << "please input the salary:" << endl;
for(int i = 0; i < number; ++i)
cin >> salarys[i];
}
void Salary::add_salarys(int x)
{
for(int i = 0; i < number; ++i)
salarys[i] += x;
}
void Salary::sort_salarys()
{
sort(salarys,salarys+number);
}
void Salary::show_salarys()
{
for(int i = 0; i < number; ++i)
cout << "i's salary: " << salarys[i] << endl;
}
int main()
{
Salary labourder;
ifstream fin("insalarys.txt");//定义ifstream对象
ofstream fout("outsalarys.txt");//定义ofstream对象
labourder.finput(fin);
labourder.add_salarys(500);
labourder.foutput(fout);
return 0;
}
运行结果:
(3):