C++第4周项目5 - 数组作数据成员(扩展2、3引入文件)
2013-03-23 08:20
483 查看
课程首页地址:/article/1353502.html,本周题目链接:/article/1353391.html
【项目5 - 数组作数据成员】阅读教材P255例8.4,注意到类中的数据成员可以是数组。设计一个工资类(Salary),其中的数据成员有:double型数组salary[50](实际人数可以少于50,固定取50可能造成空间浪费),整型值number表示的职工人数。在main函数中调用你自己设计好的成员函数完成下面的功能:(1)输入职工工资,工资保存到salary数组中,实际人数保存到number中(输入-1标志着工资输入结束);
(2)给每个人涨100元工资;
(3)对涨后的工资进行排序;
(4)输出排序后的工资。【项目5扩展2(选做)】手工输入工资?!太让人不能忍受了。现给出包含了500个职工工资的文件salary.txt,从文件中读数据,完成上面的工作。(salary.txt可以从BB平台下载)
【项目5扩展3(选做)】增加一个成员函数,将排序后结果保存到一个文件中。
参考解答:
【项目5 - 数组作数据成员】阅读教材P255例8.4,注意到类中的数据成员可以是数组。设计一个工资类(Salary),其中的数据成员有:double型数组salary[50](实际人数可以少于50,固定取50可能造成空间浪费),整型值number表示的职工人数。在main函数中调用你自己设计好的成员函数完成下面的功能:(1)输入职工工资,工资保存到salary数组中,实际人数保存到number中(输入-1标志着工资输入结束);
(2)给每个人涨100元工资;
(3)对涨后的工资进行排序;
(4)输出排序后的工资。【项目5扩展2(选做)】手工输入工资?!太让人不能忍受了。现给出包含了500个职工工资的文件salary.txt,从文件中读数据,完成上面的工作。(salary.txt可以从BB平台下载)
【项目5扩展3(选做)】增加一个成员函数,将排序后结果保存到一个文件中。
参考解答:
#include <iostream> #include <fstream> using namespace std; const 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 ; //工资 }; void Salary::read_data( ) { int i; ifstream infile("salary.txt",ios::in); //以输入的方式打开文件 if(!infile) //测试是否成功打开 { cerr<<"open error!"<<endl; exit(1); } for(i=0;i<N;++i) { infile>>salarys[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<N;++i) { outfile<<salarys[i]<<endl; } outfile.close(); } void Salary::add_salarys(int x) { int i; for (i=0;i<N;i++) salarys[i]+=x; } void Salary::sort_salarys() { int i,j; double t; for (i=0;i<N-1;i++) for(j=0;j<N-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<N;i++) cout<<salarys[i]<<"\t"; } int main( ) { Salary s; s.read_data( ); s.add_salarys(100); s.sort_salarys(); s.write_data( ); s.show_salarys( ); system("PAUSE"); return 0; }
相关文章推荐
- C++第4周项目5 - 数组作数据成员(扩展1动态开辟空间)
- 第四周(项目四扩展2)——数组做数据成员<读取文件>
- C++第4周项目5 - 数组作数据成员
- C++第4周(春)项目4 数组作数据成员
- 第四周(项目四扩展三)——数组做数据成员<数据存入文件>
- 2013级C++第4周(春)项目——再和对象找感觉【项目4 - 数组作数据成员】
- 第三周项目五 数组做数据成员(文件读取+多文件)
- 第八周项目一(2) 数组做数据成员(工资类 数组 文件)
- 第二周项目5——数组做数据成员(5)(多文件组织)
- 第三周项目5-3:数组作数据成员-文件读取
- 第八周项目一(3) 数组作数据成员(多文件)
- 2015-第3周项目5-数组做数据成员(3)&(4)(读文件)
- 第三周项目五(4):数组做数据成员(3的多文件方式组织)
- 第八周项目一(2)-数组作数据成员(文件读取)
- 第三周项目五 数组作数据成员(含指针、读入、读出文件)
- 第4周项目5:数组做数据成员
- 第三周 项目五-数组做数据成员(三)文件操作-数组
- 第2周-项目5-数组作数据成员-工资类(多文件组织)
- 第8周项目1(2)数组做数据成员文件的读取和保存
- 第八周项目1—数组做数据成员(工资类 数组 文件)