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;
}
展开
 我来答
百度网友26ad406
2012-10-11 · TA获得超过1611个赞
知道大有可为答主
回答量:1506
采纳率:100%
帮助的人:1046万
展开全部
错误比较多 下面改的没有语法错误了 可能还有逻辑错误
#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;
}
烦精
2012-10-11
知道答主
回答量:32
采纳率:0%
帮助的人:9.9万
展开全部
main函数没返回值也没返回类型
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式