C++走向远洋——37(工资类,2)
2016-04-21 09:17
375 查看
*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:salarly.cpp * 作者:常轩 * 微信公众号:Worldhello * 完成日期:2016年4月20日 * 版本号:V1.4 * 问题描述:对数组内的工资进行一系列的操作 * 程序输入:工资 * 程序输出:见运行结果 */ #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 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::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::add_salarys(int 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]<<"\t\t"; } int main( ) { Salary s; s.read_data( ); s.add_salarys(500); s.sort_salarys(); s.write_data( ); s.show_salarys( ); return 0; }
运行结果:
心得:
无
相关文章推荐
- C++上机实验4项目1-利用循环求和
- C++中函数调用时的三种参数传递方式
- c++实验4-百钱白鸡问题
- C++实验4—【项目1:利用循环求和】求1000以内所有偶数的和
- C++课堂实验4
- 用对象数组操作长方柱类
- 用对象数组操作长方柱类
- 用对象数组操作长方柱类
- 用对象数组操作长方柱类
- 用对象数组操作长方柱类
- c++上机实验四——分数的累积求和
- C++实验4-项目7穷举
- C++实验4——项目3:乘法口诀表
- C++实验4—输出星号图
- c++上机实验4项目1-利用循环求和
- C++实验4-循环求和
- c++第四次实验——分数的累加
- C++实验4-输出星号图
- 第七周项目-用多文件组织多个类的程序3.weapon.cpp:武器类的成员函数的实现
- c++第4次实验项目1