人人范文网 范文大全

模拟裁判给比赛选手打分参考程序1

发布时间:2020-03-01 20:32:38 来源:范文大全 收藏本文 下载本文 手机版

/*

以下为模拟裁判经给比赛选手打分参考程序1(实验二中的程序设计实验),供同学们参考,请请各位同学认真阅读后分析后,自己重新编写并调试通过(分步调试)后上交。

类的定义放在头文件“result.h”中,处理程序放在“exp206.cpp”中,

*/

//以下为类的定义:

#include

#include

using namespace std;

const int UMPIRE=10;//裁判人数,最多为10人

cla result

{ private:

int num;//运动员编号

char name[11];//运动员姓名

int m;//裁判实际人数

double score[UMPIRE+1];

/*运动员得分,score[0]-score[m-1]为裁判打分,

score[m]为平均得分*/

public:

result(void);//无参构造函数

result(int n,char *ps,int k,double x[]);

//构造函数重载,初始化运动员编号、姓名、裁判人数

void set(int n,char *ps,int k);

//写入运动员编号、姓名、裁判人数

void set_score(double x[]);//写入运动员得分

void input_name(int k);

//输入运动员编号、姓名、裁判人数

void input_score(void);//输入运动员得分

double maxrow(void);//求裁判打的最高分

double minrow(void);//求裁判打的最低分

double avg(void);//求平均分

int read_num(void)//读运动员编号

{return num;}

char *read_name(void)//读运动员姓名

{return name;}

double read_score(int i)//读运动员得分

{ return score[i];}

int read_m(void)//读裁判人数

{ return m;}

};

result::result(void)

{ int i;

num=0;m=0;strcpy(name,\"\");

for(i=0;i

score[i]=0;

}

result::result(int n,char *ps,int k,double x[])

{ int i;

num=n;m=k;strcpy(name,ps);

for(i=0;i

score[i]=x[i];

}

void result::set(int n,char *ps,int k)

{ num=n;m=k;strcpy(name,ps);}

void result::set_score(double x[])

{ int i;

for(i=0;i

score[i]=x[i];

}

double result::maxrow(void)

{ double ma;int i;

ma=score[0];

for(i=0;i

if(ma

return ma;

}

double result::minrow(void)

{ double mi;int i;

mi=score[0];

for(i=0;i

if(mi>score[i]) mi=score[i];

return mi;

}

double result::avg(void)

{ double sum=0;int i;

for(i=0;i

sum+=score[i];

score[m]=(sum-maxrow()-minrow())/(m-2);

return score[m];

}

void result::input_name(int k)

{ char ch;

int i;

m=k;

cout>num;

cin.get();

cout

while((ch=cin.get())!=\'\\n\')

{ name[i]=ch;i++;}

name[i]=\'\\0\';

}

void result::input_score(void)

{ int i;

for(i=0;i

{ cout

cin>>score[i];

}

}

//以下为处理程序:

#include

#include

#include

#include\"hresult.h\"

using namespace std;

void input_name(result *s,int n,int m);

void input_score(result *s,int n,int m);

void print(result *s,int n);

void sort(result *s,int n);

void main(void)

{ int n,m;result *p;

cout

cin>>n;

cout

cin>>m;

p=new result[n];

cout

cout

input_name(p,n,m);

cout

input_score(p,n,m);

cout

print(p,n);

sort(p,n);

cout

print(p,n);

delete []p;

}

void input_name(result *s,int n,int m)

for(i=0;i

{ cout

s[i].input_name(m);

}

}

void print(result *s,int n)

{ int i,m;

m=s[0].read_m();

cout

for(i=0;i

{ cout

cout

cout

}

}

void input_score(result *s,int n,int m)

{ int i;

for(i=0;i

{ cout

cout

cout

cout

}

}

//插入法排序方法1——直接在原数组中排序

void sort(result *s,int n)

{ int i,j,k,m; result temp;

m=s[0].read_m();//获取裁判人数

//以下为插入法排序

for(i=1;i

{ temp=s[i];

for(j=0;j

if(s[i].read_score(m)>s[j].read_score(m))//read_score(m)为平均成绩

{k=j;break;}//找到插入点即结束循环

if(j

{ for(j=i;j>k;j--)//将插入点及以下的元素后移一位

s[j]=s[j-1];

s[k]=temp;

}

}

}

/*

void sort(result *s,int n)

{ int i,j,k,m; result *p;

m=s[0].read_m();

p=new result[n];

//以下为插入法排序

p[0]=s[0];

for(i=1;i

{ for(j=0;j

if(s[i].read_score(m)>p[j].read_score(m)){k=j;break;}//找到插入点即结束循环

if(j

{ for(j=i;j>k;j--)//将插入点及以下的元素后移一位p[j]=p[j-1];

p[k]=s[i];

}

else//未找到插入点位置,则插入到对应位置p[i]=s[i];

}

for(i=0;i

s[i]=p[i];

delete []p;

}

*/

裁判、选手誓词

裁判、选手誓词

比赛选手自荐书

比赛选手保证书

比赛选手保证书

比赛选手须知

非专业人士如何给歌唱比赛活动打分

竞赛选手和裁判代表发言稿

给自己打分 作文

如何给作文打分

模拟裁判给比赛选手打分参考程序1
《模拟裁判给比赛选手打分参考程序1.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档