您的位置:首页 > 其它

2014-03-18项目四-数组做数据成员

2014-03-18 17:15 197 查看
/*
*程序的版权和版本声明部分:
*Copyright(c)2014,烟台大学计算机学院学生
*All rights reserved.
*文件名称:
*作者:刘晓晓
*完成日期:2014年 03月18号
*版本号:v1.0
*对任务及求解方法的描述部分:
*输入描述: 无
*问题描述:
*程序输出:无
*问题分析:
*算法设计:
*/

#include <iostream>
using namespace std;
class Salary
{
public:
void set_salarys( );
void add_salarys(int x);
void sort_salarys();
void show_salarys( );
private:
double salarys[50]; //工资
int number;			//实际人数
};

void Salary::set_salarys( )
{
cout<<"输入职工工资:"<<endl;
int n,i=0;
cin>>n;
while(n>0)
{
salarys[i]=n;  //工资保存到数组数据成员中
++i;
cin>>n;
}
number=i;   //number是数据成员,记录下职工人数
}

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]<<" ";
}

int main( )
{
Salary salary1;
salary1.set_salarys( );
salary1.add_salarys(500);
cout<<" 增加工资后,按顺序输出为:"<<endl;
salary1.sort_salarys();
salary1.show_salarys( );
return 0;
}
一开始所有的错都是仅仅因为一个set_salarys()函数,后来看了解答才明白怎么回事。职工人数没被记录,而且工资存数组也出了点问题

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: