数组作数据成员(拓展2)
来源:互联网 发布:java微信公众号开发pdf 编辑:程序博客网 时间:2024/06/07 03:59
/** 作 者: 霍雨佳* 完成日期:2014 年3月19日* 版 本 号:v1.0* 问题描述:数组做数据成员。* 样例输入:* 样例输出:* 问题分析:(1)输入职工工资,工资保存到salary数组中,实际人数保存到number[]中(输入-1标志着工资输入结束); (2)给每个人涨500元工资(add_salarys是有参函数,在调用时,500当实参); (3)对涨后的工资进行排序; (4)输出排序后的工资。 (5)在main函数定义Salary类的对象,调用你自己设计好的成员函数,完成相关的工作。 (6)从文件中读取数据。*/#include <iostream>#include <fstream>#include <cstdlib>using namespace std;class Salary{public: void set_salarys(); //(1) void add_salarys(double x); //(2) void sort_salarys(); //(3) void show_salarys(); //(4)private: double salarys[500]; //工资 int number;//实际人数};void Salary::set_salarys() //(1){ 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(double x)//(2){ for(int i=0; i<number; i++) { salarys[i]=salarys[i]+x; }}void Salary::sort_salarys() //(3)对涨后的工资进行排序;{ int i=0,j=0; double t; for(i=0; i<number-1; i++) { for(j=0; j<number-j-1; j++) { if (salarys[j]<salarys[j+1]) { t=salarys[j]; salarys[j]=salarys[j+1]; salarys[j+1]=t; } } }}void Salary::show_salarys( ) //(4){ cout<<"排序后的工资为:"<<endl; for(int m=0; m<number; m++) { cout<<salarys[m]<<endl; }}int main(){ Salary salary; salary.set_salarys(); salary.add_salarys(500); salary.sort_salarys(); salary.show_salarys(); return 0;}
运行结果:
文件的读入,写的还不够熟练,加油!
0 0
- 数组作数据成员(拓展2)
- 数组作数据成员(2)
- 数组作数据成员2
- 数组作数据成员2
- 数组作数据成员
- 数组作数据成员
- 数组作数据成员
- 数组作数据成员
- 数组作数据成员
- 数组作数据成员
- 数组作数据成员
- 数组作数据成员
- 数组作数据成员
- 数组作数据成员
- 数组作数据成员
- 数组作数据成员
- 第八周项目2-数组作数据成员(2)
- 第二周 项目五:数组作数据成员(2)
- dll创建中,遇到WARN:inconsistent dll linkage. dllexport assumed.
- Win7中自带截图工具
- Datamatrix二维码开源解码库libdmtx
- USACO1.2.2 - transform
- 正则表达式的贪婪与非贪婪
- 数组作数据成员(拓展2)
- 一身黑色超短裙亮相的全智贤空降上海代言
- 利用快速排序求解k-th小数
- hdu2097
- oc中将CGRect、CGSize、CGPoint等结构体转换为字符串
- 代码说明生成工具doxygen的使用
- 关于hmtl5的Views的一些知识
- 51单片机中断学习
- cocos2dx:数据存储-UserDefault