C++实践数组作数据成员的参考
【项目-数组作数据成员】下面是设计好的一个工资类(Salary):
classSalary { public: voidset_salarys();//输入职工工资(输入-1标志着工资输入结束),工资保存到salary数组中,实际人数保存到number中; voidadd_salarys(intx);//给每个人涨x元工资 voidsort_salarys();//对工资由大到小排序 voidshow_salarys();//显示工资信息 private: doublesalarys[50];//多人的工资 intnumber;//实际人数 };
(1)实现Salary类中的成员函数,在main函数定义Salary类的对象,输入工资,再给每个人涨500元工资,排序后工资数据,然后输出结果。
(2)手工输入工资?!太让人不能忍受了。现给出包含了不足500个职工工资的文件salary.txt(下载),增加一个成员函数,用于从文件中读出数据,再增加一个成员函数,将排序后结果保存到一个文件中。编写main函数,测试你扩充的功能。
(3)用多文件的方式组织最后的程序。
参考解答:
(1)
usingnamespacestd; classSalary { public: voidset_salarys();//输入工资 voidadd_salarys(intx);//涨工资 voidsort_salarys();//排序工资 voidshow_salarys();//显示工资 private: doublesalarys[50];//工资 intnumber;//实际人数 }; voidSalary::set_salarys() { intx,i=0; cin>>x; while(x>0) { salarys[i]=x;//工资保存到数组数据成员中 ++i; cin>>x; } number=i;//number是数据成员,记录下职工人数 } voidSalary::add_salarys(intx) { inti; for(i=0;i(2)
#include#include #include usingnamespacestd; constintN=500; classSalary { public: voidread_data(); voidwrite_data(); voidadd_salarys(intx); voidsort_salarys(); voidshow_salarys(); private: doublesalarys[N];//工资,用指针更好 intnumber;//人数 }; voidSalary::read_data() { inti; ifstreaminfile("salary.txt",ios::in);//以输入的方式打开文件 if(!infile)//测试是否成功打开 { cerr<<"openerror!"< >salarys[i]) i++; number=i; infile.close(); } voidSalary::write_data() { inti; ofstreamoutfile("salary_ordered.txt",ios::out);//以输入的方式打开文件 if(!outfile)//测试是否成功打开 { cerr<<"openerror!"< (3)(略)
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。如果你想了解更多相关内容请查看下面相关链接