欢迎来到天天文库
浏览记录
ID:52797272
大小:90.00 KB
页数:8页
时间:2020-03-30
《程序设计报告 对参赛结果分数进行处理.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、(一)需求和规格说明对参赛结果分数进行处理:参赛选手n人(n>1),评委m人(m>2),评委给每一选手打一个分数score(分数score为小于等于10的一个正实数)。选手的最后得分lastScore计算方法为(1)m<9时,去掉一个最高分和一个最低分后另m-2个得分的平均值。(2)m≥9时,去掉两个最高分和两个最低分后另m-4个得分的平均值。假设事先已经建立了text型的数据文件f1.txt,其中依次记录着n个选手的编号(一个正整数)、姓名(一个字符串)以及m个评委给出的得分。请编制程序,依次从数据文件f1.txt中读入n个选手的有关信息,而后按上述规
2、定方法计算出每一个选手的最后得分,而且往屏幕上以及另一个text型文件f2.txt中同时输出如下形式的结果信息。假设参赛选手人数n=5,评委人数m=7,磁盘文件f1.txt中的初始数据为:1zhangjin8.89.37.98.78.99.79.22lintao8.98.28.68.88.59.19.33guojian8.98.48.78.68.68.48.64maling7.98.38.58.68.58.98.35liuyifan9.59.19.89.29.09.58.9那么,程序执行后,屏幕显示结果以及磁盘文件f2.txt中的结果均应该为:-----
3、-----------------------------------------------------参赛号姓名最高分最低分累积分最后得分----------------------------------------------------------1zhangjin9.77.944.98.982lintao9.38.243.98.783guojian8.98.442.98.584maling8.97.942.28.445liuyifan9.88.946.39.26-----------------------------------------
4、-----------------思考:可进一步考虑找出比赛的第1至第k名,也在屏幕以及f2.txt中同时输出相关的结果信息(k小于等于n,并规定若多个选手最后得分相同时,则有效分(即已删除原来的最高分后)中最高分高者名次优先)。(二)设计根据题目,建立结构体player,其成员如下:类型成员名描述intnumber选手序号charname选手名字double*score选手得分然后建立函数,如下表:类型函数名描述doublemax_score求最大分数doublemin_score求最小分数doublemax_score2求第二大分数doublemin
5、_score2求第二小分数doubleget_totalscore求选手总分doubleget_tscore求选手累计得分doubleget_lastscore求选手最后得分(三)用户手册用户只需将f1.txt放入文件夹中,运行程序,然后会在屏幕输出文件f1.txt和文件f2.txt中的内容。文件f2.txt保存在文件夹中。(四)调试及测试打开文件程序,运行计算各位选手的得分情况。(1)运行实例:(2)进一步改进:无论评委几人,程序都会找出第二高分和第二低分,可以改为只有在评委人数大于9人时执行。(3)附录¾¾源程序#include#
6、includeusingnamespacestd;structplayer//结构体player{intnumber;charname[40];double*score;//成员表列};doublemin_score(doubles[],intn);//求最低分数doublemax_score(doubles[],intn);//求最高分数doubleget_totalscore(doubles[],intn);//求总分doublemin_score2(doubles[],intn);//求第二低分数doublemax_score2(
7、doubles[],intn);//求第二高分数doubleget_tscore(doubles[],intn);//求累计分数doubleget_lastscore(doubles[],intn);//求最后得分doublemin_score(doubles[],intn)//最低分{doublemin_score=s[0];for(inti=0;i=s[i])min_score=s[i];}returnmin_score;}doublemax_score(doubles[],intn)//最高分{double
8、max_score=s[0];for(inti=0;i
此文档下载收益归作者所有