c++的这个有什么问题 该怎样解决 20
#include<string>#include<iostream>usingnamespacestd;classWorker{intId;stringname;char...
#include <string>
#include <iostream>
using namespace std;
class Worker
{ int Id;
string name;
char gender;
int age;
float salary;
static int sum;
public:
Worker ();
Worker (Worker & p);
void setName(string
na){name=na;}
void setgender(char m){
gender=m;}
void setAge(int a){age=a;}
void setSalary (float x) {
salary=x;}
string getName() const { return name;}
float getSalary () { return salary;}
char getgender () { return gender;}
void show(){cout<< Id
<<'\t'<< name <<'\t'<< gender<<'\t'
<<age<<'\t'<< salary <<endl;}
};
Worker:: Worker ()//构造函数
{
Id=sum++;
}
Worker:: Worker (Worker
& p)//复制构造函数
{
Id=p.Id;
name= p.name;
gender=p.gender;
age=p.age;
salary=p.salary;
}
int Worker::sum=100;
Worker w[4];
void SortBysalary ()
{
//按工资从高到低冒泡排序
Worker
t;
for(int i=0; i<4; i++)
for(int j=0; j<4-i-1; j++)
if(w[j].getSalary()<w[j+1].getSalary())
{ t=w[j];
w[j]=w[j+1]);w[j+1]=t;}
}
float avg(char x)//按性别计算平均工资
{
int i,n=0;
float sum=0;
for(i=0;i<4;i++)
{
if(w[i].getgender==x)
{sum+=w[i].getSalary;n++;}
}
return sum/n;
}
main()
{
int i,age,m=0;
string n;
char s;
float salary,sum=0,max,min;
for(i=0;i<4;i++)
{
cin>>n>>age>>s>>salary;
w[i].setAge(age);
w[i].setName(n);
w[i].setgender(s);
w[i].setSalary(salary);
}
for(i=0;i<4;i++)
w[i].show();
max=min=w[0];
for(i=0;i<4;i++)//计算平均工资及最大、最小工资
{
if(max<w[i])max=w[i];
if(min>w[i])min=w[i];
sum+=w[i].getSalary;
n++;
}
cout<<"平均工资"<<sum/n<<endl;
} 展开
#include <iostream>
using namespace std;
class Worker
{ int Id;
string name;
char gender;
int age;
float salary;
static int sum;
public:
Worker ();
Worker (Worker & p);
void setName(string
na){name=na;}
void setgender(char m){
gender=m;}
void setAge(int a){age=a;}
void setSalary (float x) {
salary=x;}
string getName() const { return name;}
float getSalary () { return salary;}
char getgender () { return gender;}
void show(){cout<< Id
<<'\t'<< name <<'\t'<< gender<<'\t'
<<age<<'\t'<< salary <<endl;}
};
Worker:: Worker ()//构造函数
{
Id=sum++;
}
Worker:: Worker (Worker
& p)//复制构造函数
{
Id=p.Id;
name= p.name;
gender=p.gender;
age=p.age;
salary=p.salary;
}
int Worker::sum=100;
Worker w[4];
void SortBysalary ()
{
//按工资从高到低冒泡排序
Worker
t;
for(int i=0; i<4; i++)
for(int j=0; j<4-i-1; j++)
if(w[j].getSalary()<w[j+1].getSalary())
{ t=w[j];
w[j]=w[j+1]);w[j+1]=t;}
}
float avg(char x)//按性别计算平均工资
{
int i,n=0;
float sum=0;
for(i=0;i<4;i++)
{
if(w[i].getgender==x)
{sum+=w[i].getSalary;n++;}
}
return sum/n;
}
main()
{
int i,age,m=0;
string n;
char s;
float salary,sum=0,max,min;
for(i=0;i<4;i++)
{
cin>>n>>age>>s>>salary;
w[i].setAge(age);
w[i].setName(n);
w[i].setgender(s);
w[i].setSalary(salary);
}
for(i=0;i<4;i++)
w[i].show();
max=min=w[0];
for(i=0;i<4;i++)//计算平均工资及最大、最小工资
{
if(max<w[i])max=w[i];
if(min>w[i])min=w[i];
sum+=w[i].getSalary;
n++;
}
cout<<"平均工资"<<sum/n<<endl;
} 展开
2个回答
展开全部
错误比较多 下面改的没有语法错误了 可能还有逻辑错误
#include <string>
#include <iostream>
using namespace std;
class Worker
{ int Id;
string name;
char gender;
int age;
float salary;
static int sum;
public:
Worker ();
Worker (Worker & p);
void setName(string
na){name=na;}
void setgender(char m){
gender=m;}
void setAge(int a){age=a;}
void setSalary (float x) {
salary=x;}
string getName() const { return name;}
float getSalary () { return salary;}
char getgender () { return gender;}
void show(){cout<< Id
<<'\t'<< name <<'\t'<< gender<<'\t'
<<age<<'\t'<< salary <<endl;}
};
Worker:: Worker ()//构造函数
{
Id=sum++;
}
Worker:: Worker (Worker
& p)//复制构造函数
{
Id=p.Id;
name= p.name;
gender=p.gender;
age=p.age;
salary=p.salary;
}
int Worker::sum=100;
Worker w[4];
void SortBysalary ()
{
//按工资从高到低冒泡排序
Worker
t;
for(int i=0; i<4; i++)
for(int j=0; j<4-i-1; j++)
if(w[j].getSalary()<w[j+1].getSalary())
{ t=w[j];
w[j]=w[j+1];w[j+1]=t;}
}
float avg(char x)//按性别计算平均工资
{
int i,n=0;
float sum=0;
for(i=0;i<4;i++)
{
if(w[i].getgender()==x)
{sum+=w[i].getSalary();n++;}
}
return sum/n;
}
main()
{
int i,age,m=0;
string n;
char s;
float salary,sum=0,max,min;
for(i=0;i<4;i++)
{
cin>>n>>age>>s>>salary;
w[i].setAge(age);
w[i].setName(n);
w[i].setgender(s);
w[i].setSalary(salary);
}
for(i=0;i<4;i++)
w[i].show();
max=min=w[0].getSalary();
int num;
sum=0;
for(i=0;i<4;i++)//计算平均工资及最大、最小工资
{
if(max<w[i].getSalary())max=w[i].getSalary();
if(min>w[i].getSalary())min=w[i].getSalary();
sum+=w[i].getSalary();
num++;
}
cout<<"平均工资"<<sum/num<<endl;
}
#include <string>
#include <iostream>
using namespace std;
class Worker
{ int Id;
string name;
char gender;
int age;
float salary;
static int sum;
public:
Worker ();
Worker (Worker & p);
void setName(string
na){name=na;}
void setgender(char m){
gender=m;}
void setAge(int a){age=a;}
void setSalary (float x) {
salary=x;}
string getName() const { return name;}
float getSalary () { return salary;}
char getgender () { return gender;}
void show(){cout<< Id
<<'\t'<< name <<'\t'<< gender<<'\t'
<<age<<'\t'<< salary <<endl;}
};
Worker:: Worker ()//构造函数
{
Id=sum++;
}
Worker:: Worker (Worker
& p)//复制构造函数
{
Id=p.Id;
name= p.name;
gender=p.gender;
age=p.age;
salary=p.salary;
}
int Worker::sum=100;
Worker w[4];
void SortBysalary ()
{
//按工资从高到低冒泡排序
Worker
t;
for(int i=0; i<4; i++)
for(int j=0; j<4-i-1; j++)
if(w[j].getSalary()<w[j+1].getSalary())
{ t=w[j];
w[j]=w[j+1];w[j+1]=t;}
}
float avg(char x)//按性别计算平均工资
{
int i,n=0;
float sum=0;
for(i=0;i<4;i++)
{
if(w[i].getgender()==x)
{sum+=w[i].getSalary();n++;}
}
return sum/n;
}
main()
{
int i,age,m=0;
string n;
char s;
float salary,sum=0,max,min;
for(i=0;i<4;i++)
{
cin>>n>>age>>s>>salary;
w[i].setAge(age);
w[i].setName(n);
w[i].setgender(s);
w[i].setSalary(salary);
}
for(i=0;i<4;i++)
w[i].show();
max=min=w[0].getSalary();
int num;
sum=0;
for(i=0;i<4;i++)//计算平均工资及最大、最小工资
{
if(max<w[i].getSalary())max=w[i].getSalary();
if(min>w[i].getSalary())min=w[i].getSalary();
sum+=w[i].getSalary();
num++;
}
cout<<"平均工资"<<sum/num<<endl;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询