本来想让程序根据用户输入的工资数自己计算出员工人数,但实际在主函数调用中只运行到void set_salary()就不在往下运行,后面计算员工个数,排序,什么的都没有,只能做到输入,麻烦老师看看问题出在哪?
#include <iostream>
using namespace std;
class Salary
{
private:
int salary[50];//
int number;//
public:
void set_salary();//输入工资
void set_number();//计算有多少员工
void salary_up();//工资加一百
void salarylist();//制作工资表
void show_salarylist();//输出工资表
};
int main ()
{
Salary s1;
cout<< "请输入工资:";
s1.set_salary();
s1.set_number();
cout << endl;
s1.salarylist();
cout<< "所输入工资数排序为:"<< endl;
s1.show_salarylist();
cout << endl;
s1.salary_up();
s1.salarylist();
cout << "升工资后的排序为:"<<endl;
s1.show_salarylist();
cout << endl;
system("PAUSE");
return 0;
}
void Salary::set_salary()//输入工资
{
int i;
for ( i = 0; i < 50; i++)
cin >> salary[i];
number = i + 1;
}
void Salary::set_number()//计算有多少员工
{
cout << "共有"<<number<<"个员工";
}
void Salary::salary_up()//工资加100
{
int i;
for ( i = 0; i < number; i++)
{
salary[i] = salary[i] + 100;
}
}
void Salary::salarylist()//制作工资表
{
int j,i,t;
for ( j = 0; j < number; j++)
for( i = 0; i < number - j -1; i++)
if(salary[i] > salary[i+1])
{
t = salary[i];
salary[i] = salary[i+1];
salary[i+1] = t;
}
}
void Salary::show_salarylist()//输出工资表
{
int i;
for( i = 0; i <number; i++)
{
{cout << salary[i] <<" ";}
}
}