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)(略)
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。如果你想了解更多相关内容请查看下面相关链接