对参赛结果分数进行分析C++

上传人:工**** 文档编号:507487784 上传时间:2023-07-30 格式:DOC 页数:31 大小:291KB
返回 下载 相关 举报
对参赛结果分数进行分析C++_第1页
第1页 / 共31页
对参赛结果分数进行分析C++_第2页
第2页 / 共31页
对参赛结果分数进行分析C++_第3页
第3页 / 共31页
对参赛结果分数进行分析C++_第4页
第4页 / 共31页
对参赛结果分数进行分析C++_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《对参赛结果分数进行分析C++》由会员分享,可在线阅读,更多相关《对参赛结果分数进行分析C++(31页珍藏版)》请在金锄头文库上搜索。

1、课程设计报告课程设计题目:对参赛结果分数进行分析学生姓名: 专 业: 班 级:指导教师: 2011年11月25日东华理工大学课程设计评分表学生姓名:朱秀刚 班级:10211303 学号:1021130326课程设计题目:对参赛结果分数进行分析项目内容满分实 评选题能结合所学课程知识、有一定的能力训练。符合选题要求(5人一题)10工作量适中,难易度合理10能力水平能熟练应用所学知识,有一定查阅文献及运用文献资料能力10理论依据充分,数据准确,公式推导正确10能应用计算机软件进行编程、资料搜集录入、加工、排版、制图等10能体现创造性思维,或有独特见解10成果质量总体设计正确、合理,各项技术指标符合

2、要求。10说明书综述简练完整,概念清楚、立论正确、技术用语准确、结论严谨合理;分析处理科学、条理分明、语言流畅、结构严谨、版面清晰10设计说明书栏目齐全、合理,符号统一、编号齐全。格式、绘图、表格、插图等规范准确,符合国家标准10有一定篇幅,字符数不少于500010总 分100指导教师评语: 指导教师签名: 年 月 日目录一、问题分析二、结构分析三、实现流程分析四、个性功能介绍五、课程设计小结一、问题描述及分析1、问题描述参赛选手n人(n1),评委m人(m2),评委给每一选手打一个分数score(分数scor为小于等于10的一个正实数)。选手的最后得分lastScore计算方法为(1)m9时,

3、去掉一个最高分和一个最低分后另m-2个得分的平均值。(2)m9时,去掉两个最高分和两个最低分后另m-4个得分的平均值。假设事先已经建立了text型的数据文件f1.txt,其中依次记录着n个选手的编号(一个正整数)、姓名(一个字符串)以及m个评委给出的得分。请编制程序,依次从数据文件f1.txt中读入n个选手的有关信息,而后按上述规定方法计算出每一个选手的最后得分,而且往屏幕上以及另一个text型文件f2.txt中同时输出如下形式的结果信息。假设参赛选手人数n=5,评委人数m=7,磁盘文件f1.txt中的初始数据为:1 zhangjin 8.8 9.3 7.9 8.7 8.9 9.7 9.22

4、lintao 8.9 8.2 8.6 8.8 8.5 9.1 9.33 guojian 8.9 8.4 8.7 8.6 8.6 8.4 8.64 maling 7.9 8.3 8.5 8.6 8.5 8.9 8.35 liuyifan 9.5 9.1 9.8 9.2 9.0 9.5 8.9那么,程序执行后,屏幕显示结果以及磁盘文件f2.txt中的结果均应该为:-参赛号 姓 名 最高分 最低分 累积分最后得分- 1 zhangjin9.77.944.9 8.982 lintao 9.38.2 43.9 8.783 guojian 8.98.4 42.9 8.584 maling 8.97.9 4

5、2.28.445 liuyifan 9.8 8.9 46.3 9.26-思考:可进一步考虑找出比赛的第1至第k名,也在屏幕以及f2.txt中同时输出相关的结果信息(k小于等于n,并规定若多个选手最后得分相同时,则有效分(即已删除原来的最高分后)中最高分高者名次优先)。2、问题分析(1)、要对参赛结果的数据进行分析,首先要有数据的来源,在面向对象的设计中,数据来源于对象,在这里我们可以构建一个类Competition(参赛选手),作为数据的来源,建一个Competition的友元类Judge(评委)通过其成员函数给Competition的数据成员初始化,这就有了数据的来源。 (2)、对数据的处理

6、可以通过对Competition类设计功能函数来实现,其数据处理功能有:对每个选手的得分按从高分到低分排序、求最高分、最低分、累计得分、最后得分和对所有选手进行名次排序等。(3)、因为题目要求把原始数据和处理后的结果分别存放到f1.txt,f2,txt文件,因此可建立一个Competition的基类Compbase(选手基类)其数据成员只有number(编号),name(姓名),max_score(最高分),min_score(最低分),sum_score(累计得分),last_score(最后得分),用来存储处理后的结果,这样就可以方便地把处理后的结果存入到f2.txt文件。二、结构分析1.

7、通过以上的分析可以得出系统类Compbase,Competition,Judge之间的关系如下UML图:Competition是Compbsae的派生类Compbase-number:int-name:string-max_score:double-min_score:double-last_score:double-sun_score:double+Compbase()+Compbase()+Compbase_input(*p:Compebase,n:int):void +operator=(&p:Compbase):voidCompetition-number:int-name:strin

8、g-*score:double-max_score:double-min_score:double-lase_score:double-sum-score:double-n:int+Competition(); +Competition(number1:int,name1:string, *score1:double,n1:int)+Competition() +Comp_input(*p:Competition,n:int):void +Comp_set(number1:int,name1:string,*score1:double,n1:int):viod+Score_order():vo

9、id +Max_score():double +Min_score():double +Sum_score():double +Last_score():double +Comp_order(*p,const:Competition,n1:int):void+Comp_show():void +classJudge:frind +Score_set():void+operator=(&p:Competition):voidJudge是Competition的友元Judge-number:int -name:string+Judge()+Judge(number1:int,name1:strin

10、g)+Give_score(*x:Competition,*y:Judge,z:int,h:int):void+Judge()+class Competition:friend三、函数实现流程分析1、Compbase类函数的流程图(1).信息输入函数i=0in false truecout请输入第i+1pi.number; coutendl请输入第i+1pi.name; coutendl;i+(2). 符号重载实现对象的拷贝number=p.number;name=p.name;max_score=p.max_score;min_score=p.min_score;last_score=p.last_score;sum_score=p.sum_score; 2、Competition类函数的流程图(1).无参数的构造函数number=0; name=无; score=new double0; max_score=0; min_score=0; sum_score=0; last_score=0;(2).含参数的构造函数n=n1; number=number1; name=name1; score=new doublen; score=score1;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号