数组做数组成员 2
2016-05-10 16:12
260 查看
/*
*Copyright(c)2016,烟台大学计算机与控制工程学院
*All rights reserved
*文件名称:123.cpp
*作 者:隋宗涛
*完成日期:2016年5月9日
*版 本 号:v1.0
*
*问题描述:现给出包含了不足500个职工工资的文件,增加一个成员函数,用于从文件中读出数据,再增加一个成员函数,将排序后结果保存到一个文件中。编写main函数,测试你扩充的功能。
*输入描述:
*程序输出:
*/
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
const int N=500;
class Salary
{
public:
void read_data( );
void write_data();
void add_salarys(int x);
void sort_salarys();
void show_salarys( );
private:
double salarys
;
int number;
};
void Salary::read_data( )
{
int s;
ifstream infile("salary.txt",ios::in);
if(!infile)
{
cerr<<"open error!"<<endl;
exit(1);
}
s=0;
while(infile>>salarys[s])
{
s++;
}
number=s;
infile.close();
}
void Salary::write_data( )
{
int s;
ofstream outfile("salary_ordered.txt",ios::out);
if(!outfile)
{
cerr<<"open error!"<<endl;
exit(1);
}
for(s=0;s<number;s++)
{
outfile<<salarys[s]<<endl;
}
outfile.close();
}
void Salary::add_salarys(int m)
{
int s;
for (s=0;s<number;s++)
salarys[s]+=m;
}
void Salary::sort_salarys()
{
int s,j;
double t;
for (s=0;s<number-1;s++)
for(j=0; j<number-s-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 s;
for (s=0; s<number; s++)
cout<<salarys[s]<<"\t";
}
int main( )
{
Salary s;
s.read_data( );
s.add_salarys(500);
s.sort_salarys();
s.write_data( );
s.show_salarys( );
return 0;
}
/*
*Copyright(c)2016,烟台大学计算机与控制工程学院
*All rights reserved
*文件名称:123.cpp
*作 者:隋宗涛
*完成日期:2016年5月9日
*版 本 号:v1.0
*
*问题描述:现给出包含了不足500个职工工资的文件,增加一个成员函数,用于从文件中读出数据,再增加一个成员函数,将排序后结果保存到一个文件中。编写main函数,测试你扩充的功能。
*输入描述:
*程序输出:
*/
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
const int N=500;
class Salary
{
public:
void read_data( );
void write_data();
void add_salarys(int x);
void sort_salarys();
void show_salarys( );
private:
double salarys
;
int number;
};
void Salary::read_data( )
{
int s;
ifstream infile("salary.txt",ios::in);
if(!infile)
{
cerr<<"open error!"<<endl;
exit(1);
}
s=0;
while(infile>>salarys[s])
{
s++;
}
number=s;
infile.close();
}
void Salary::write_data( )
{
int s;
ofstream outfile("salary_ordered.txt",ios::out);
if(!outfile)
{
cerr<<"open error!"<<endl;
exit(1);
}
for(s=0;s<number;s++)
{
outfile<<salarys[s]<<endl;
}
outfile.close();
}
void Salary::add_salarys(int m)
{
int s;
for (s=0;s<number;s++)
salarys[s]+=m;
}
void Salary::sort_salarys()
{
int s,j;
double t;
for (s=0;s<number-1;s++)
for(j=0; j<number-s-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 s;
for (s=0; s<number; s++)
cout<<salarys[s]<<"\t";
}
int main( )
{
Salary s;
s.read_data( );
s.add_salarys(500);
s.sort_salarys();
s.write_data( );
s.show_salarys( );
return 0;
}
相关文章推荐
- java 数据装箱及练习-对一个字符串中的数字进行排序
- java类
- nyoj543遥控器
- Android应用界面开发(一)
- jeesite 显示select选中的文字会消失不见
- 《java入门第一季》之Arrays类前传(排序案例以二分查找注意的问题)
- IO
- 剑指offer 面试题 (二进制中 1 的个数)(4)
- 《java入门第一季》之Arrays类前传(排序案例以二分查找注意的问题)
- 基于建立模板的消除水下扭曲成像
- Python全局变量
- nodemailer发送邮件遇到的一些问题
- c bash 代码遍历文件夹下所有文件
- Linux下MySQL安装与操作
- Jvm工作原理学习笔记
- Android 自定义view --圆形百分比(进度条)
- HTTP状态码查询
- 怎么实现iMindMap中的流程图的快速运用
- Linux 命令大全
- DetachedCriteria详细使用