第八周项目一-数组做数据成员(3)
2016-04-19 17:11
369 查看
/* *Copyright(c)2016,烟台大学计算机与控制工程学院 *All rights reserved *文件名称:123.cpp *作 者:王蕊 *完成日期:2016年4月19日 *版 本 号:v1.0 * *问题描述:实现Salary类中的成员函数,在main函数定义Salary类的对象,用多文件的方式组织最后的程序。 *输入描述:无 *程序输出:无 */ 1.类声明 #ifndef 456_H_INCLUDED #define 456_H_INCLUDED using namespace std; const int N=500; class Salary { public: void read_data( ); //读取文件 void write_data(); //保存文件 void add_salarys(int x); <span style="font-family: Arial, Helvetica, sans-serif;">//涨工资x元</span> void sort_salarys(); //对工资由大到小排序 void show_salarys( ); //显示工资信息 private: double salarys ; //工资, 用指针更好 int number; //人数 }; #endif // 456_H_INCLUDED 2.salary.cpp #include <iostream> #include"456.h" using namespace std; 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) //涨工资m元 { int s; for (s=0;s<number;s++) salarys[s]+=m; } 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"; } 3.main()函数 #include <iostream> #include"456.h" using namespace std; int main( ) { Salary s; s.read_data( ); s.add_salarys(500); s.sort_salarys(); s.write_data( ); s.show_salarys( ); return 0; } 学习心得:用多文件组织程序。
相关文章推荐
- 首发|创业3年半,做8款App全部扑街;转做公众号5个月,零成本吸粉12万还拿了百万天使轮
- easyui,datagrid获得总行数,无视分页
- Android 驱动开发系列四
- 【在MVC中应用百度富文本编辑器】
- 各种计算机语言的经典书籍(C/C++/Java/C#/VC/VB等)
- 使用springmvc后事物不起作用的原因
- 各种计算机语言的经典书籍(C/C++/Java/C#/VC/VB等)
- codeforces 664C C. International Olympiad(数学)
- ViewPager -- Fragment 切换卡顿 性能优化
- 自己实现String类
- Redis-3.0.7主从简单复制的配置
- bootstrap得动态进度条
- Go 数据库连接方法,配置独立
- 《C++primer》读书笔记三
- spring 不同注解的使用场景
- MediaPlayer
- 内部类的使用以及抽象类的实现
- 更新到android studio2.0后,运行时出现一个问题:Error running app: Instant Run requires 'Tools | Android | Enable AD
- JAVA虚拟机之六:虚拟机性能监控和故障处理工具
- NYOJ 30 Gone Fishing(贪心)(个人理解笔记)