C++ 类 歌手打分程序

2020-04-14 00:44

新疆农业大学计算机与信息工程学院

班 级 名 称: 电科112 指 导 老 师: 吴艳 实 验 名 称: 类 实 验 成 绩: 实 验 日 期: 5月30日—6月24日 学 号: 114633244 实 验 学 时: 8学时 姓 名: 周巾逸 一、实验目的

利用所学习的C++知识,完成功能相应完整的系统的设计开发。运用面向对象的编程思想开发设计程序。

二、准备内容

1. 完成小型系统的设计开发,将主要部分进行注释。 2. 演示系统,演示过程中必须讲解出模块思想。 3. 回答老师的提问。

三、实验内容

自已编写类的:写代码,得分点处要用注释标注

做实验指导书的:写代码,每个功能模块用注释标注,每个类用注释标注,循环、判断、SWITCH语句用注释标注出来

做游戏的:写代码,每个类用注释标注,循环、判断、SWITCH语句用注释标注出来。将自己修改的地方标注出来。

四、实验结论

制作系统的心得体会

1

新疆农业大学计算机与信息工程学院

班 级 名 称: 电科112 指 导 老 师: 吴艳 实 验 名 称: 类 实 验 成 绩: 实 验 日 期: 5月30日—6月24日 学 号: 114633244 实 验 学 时: 8学时 姓 名: 周巾逸 一、实验目的

利用所学习的C++知识,完成功能相应完整的系统的设计开发。运用面向对象的编程思想开发设计程序。

二、准备内容

1. 完成小型系统的设计开发,将主要部分进行注释。 2. 演示系统,演示过程中必须讲解出模块思想。 3. 回答老师的提问。

三、实验内容

1. 实验题目:歌手打分程序(实验指导书)

N名裁判给M名歌手打分,评分原则是去掉一个最高分,去掉一个最低分,剩下的分数的平均值为该歌手的最终得分。裁判给分的范围是60≤分数≤100。裁判人数N=5。编写一个程序,每个裁判所给的分数由键盘输入,要求屏幕按一定格式输出四项内容:歌手的姓名、他的最终得分、去掉的最高分、最低分;假如有4名歌手参加比赛,按得分由高到低输出全部歌手姓名和得分。 2.实验代码

#include #include

const int jn=5; // 评委人数 //常成员函数 const int pn=4; // 选手人数 class cr //定义一个比赛结果类 {

private:

short num; // 选手号码 char name[10]; // 选手姓名

float score[jn]; // 记录各评委给选手的打分 float average; // 选手最后得分

2

新疆农业大学计算机与信息工程学院

班 级 名 称: 电科112 指 导 老 师: 吴艳 实 验 名 称: 类 实 验 成 绩: 实 验 日 期: 5月30日—6月24日 学 号: 114633244 实 验 学 时: 8学时 姓 名: 周巾逸 public:

~cr();//定义析构函数 cr( );// 无参数构造函数

cr(short n, char * ps); // 一般构造函数

float MaxScore( ); // 成员函数求评委打的最高分 float MinScore( ); // 成员函数求评委打的最低分 void SetAvg(); // 成员原函数求选手的最后得分

float GetAvg() { return average; } // 成员函数读选手的最后得分 short GetNo( ) { return num; } // 读选手的编号的成员函数 void setNo (int i) { num = i; } // 设置选手的编号成员函数 char * GetName( ) { return name;} // 读选手的姓名的成员函数

float GetScore(int j){ return score[j];} // 读第j个评委的打分的成员函数

void SetScore(int k, float av){ score[k] = av;} // 记录第j个评委的打分成员函数

friend void Sort(cr * pr, int n); // 按最后得分由高到低排序 //友元函数 };

cr::~cr(){

cout<<\本轮结束\<

cr::cr( ) // 无参数构造函数 {

num = 0; //选手号码赋初值 strcpy(name, \); //姓名赋初值

for(int i = 0; i < jn; i++)//循环语句 score[i] = 0;//裁判的打分赋个初值 }

cr::cr(short n, char * ps) // 一般构造函数含有选手的号码和姓名

3

新疆农业大学计算机与信息工程学院

班 级 名 称: 电科112 指 导 老 师: 吴艳 实 验 名 称: 类 实 验 成 绩: 实 验 日 期: 5月30日—6月24日 学 号: 114633244

实 验 学 时: 8学时 姓 名: 周巾逸 {

num = n;//输入选手号码

strcpy(name, ps);//输入选手姓名

for(int i = 0; i < jn; i++)//循环语句 score[i] = 0; }

float cr::MaxScore( )//自定义成员函数求最高分 {

float max;

max = score[0];

for( int i = 1; i < jn; i++ )//循环语句 if(score[i] > max) max = score[i]; return max; }

float cr::MinScore( )//自定义成员函数求最低分 {

float min;

min = score[0];

for( int i = 1; i < jn; i++ )//循环语句 if(score[i] < min) min = score[i]; return min; }

void cr::SetAvg() // 自定义成员函数求选手的最后得分 {

float total = 0;

for( int i = 0; i < jn; i++)//循环语句 total += score[i];

4

新疆农业大学计算机与信息工程学院

班 级 名 称: 电科112 指 导 老 师: 吴艳 实 验 名 称: 类 实 验 成 绩: 实 验 日 期: 5月30日—6月24日 学 号: 114633244 实 验 学 时: 8学时 姓 名: 周巾逸 total -= MaxScore()+MinScore(); average=total/(jn-2); }

void Sort(cr * pr, int n) //自定义成员函数按最后得分由高到低排序 {

int i, j,k;

cr temp;//temp的初值为0

for (i=0;i

k=i;

for (j=i+1;j

if ((pr[j].average) > (pr[k].average))//判断语句 k=j;

if (k!=i)//判断语句 {

temp=pr[i]; pr[i]=pr[k]; pr[k]=temp; } } }

int main( ) {

cr r[pn] = {cr(1, \一号\), cr(2, \二号\), cr(3, \三号\), cr(4, \四号\)};

float temp,min,max;

cout << \采用100分制,裁判给分的范围是60≤分数≤100精确到小数点后两位,得分间用'TAB'键分隔\<

for( int i =0; i

5


C++ 类 歌手打分程序.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:加强家校互动 实现家校双赢

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: