第8周项目1 - 数组作数据成员 (2)
来源:互联网 发布:sqlserver 当前时间 编辑:程序博客网 时间:2024/05/22 17:28
/*
All rights reserced.
文件名称:main.cpp
作者:李鑫
完成日期:2016.5.10
问题描述: 实现Salary类中的成员函数,在main函数定义Salary类的对象,输入工资,再给每个人涨500元工资,排序后工资数据,然后输出结果。
*/
#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[N]; //工资, 用指针更好 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";}int main( ){ Salary s; s.read_data( ); s.add_salarys(500); s.sort_salarys(); s.write_data( ); s.show_salarys( ); return 0;}
运行结果:
学习心得:这个文件真是好难用!
0 0
- 第8周项目1-数组作数据成员(2)
- 第8周项目1 - 数组作数据成员 (2)
- 第8周项目:【项目 1 -数组作数据成员】
- 第8周项目1 - 数组作数据成员 (1)
- 第8周项目1- 数组作数据成员
- 第8周项目1:数组作数据成员(2)
- C++第8周项目 数组和指针 【项目1 - 数组作数据成员】(复习新版)
- 第8周项目1:数组作数据成员(1)
- 第8周项目1-数组作数据成员(1)
- 第8周项目1:数组作数据成员(3)
- C++第4周项目5 - 数组作数据成员
- 第3周项目5数组作数据成员
- 第3周项目5数组作数据成员
- 第八周 【项目1 - 数组作数据成员】2
- 第2周-项目5-数组作数据成员-工资类(动态数组)
- C++第4周项目5 - 数组作数据成员(扩展2、3引入文件)
- 第2周-项目5-数组作数据成员-工资类(手动输入)
- 第2周-项目5-数组作数据成员-工资类(文件读取)
- spring rest风格编程
- PVS-Studio 静态代码分析工具推荐
- 12家上市银行的准备金比总不良资产增长更快
- Hive分析窗口函数(四) LAG,LEAD,FIRST_VALUE,LAST_VALUE
- js 胡思乱想
- 第8周项目1 - 数组作数据成员 (2)
- 数据结构:串的存储结构
- 浅析C++中引用与指针的区别
- Win7系统上配置使用Intellij Idea 13的SVN插件
- C++第五次实验
- iOS swift学习之入门详解(可选类型错误处理)
- 领导理论
- 迅雷下载Android Studio最新版本(Android Studio 2.1.2.0)
- redhat 6 root无法登陆用户图形界面