需求分析:
对参赛结果分数进行处理:参赛选手n人(n>1),评委m人(m>2),评委给每一选手打一个分数score(分数score为小于等于10的一个正实数)。选手的最后得分lastScore为去掉一个最高分和一个最低分后另m-2个得分的平均值。
假设事先已经建立了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.2
2 lintao 8.9 8.2 8.6 8.8 8.5 9.1 9.3
3 guojian 8.9 8.4 8.7 8.6 8.6 8.4 8.6
4 maling 7.9 8.3 8.5 8.6 8.5 8.9 8.3
5 liuyifan 9.5 9.1 9.8 9.2 9.0 9.5 8.9
那么,程序执行后,屏幕显示结果以及磁盘文件f2.txt中的结果均应该为:
----------------------------------------------------------
参赛号 姓 名 最高分 最低分 累积分 最后得分
----------------------------------------------------------
1 zhangjin 9.7 7.9 44.9 8.98
2 lintao 9.3 8.2 43.9 8.78
3 guojian 8.9 8.4 42.9 8.58
4 maling 8.9 7.9 42.2 8.44
5 liuyifan 9.8 8.9 46.3 9.26
----------------------------------------------------------
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
程序执行的结果:
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////
7.2 概要设计
找出比赛的第1至第k名,也在屏幕以及f2.txt中同时输出相关的结果信息(k小于等于n,并规定若多个选手最后得分相同时,f1.txt中初始数据在前者名次优先)。依次从数据文件f1.txt中读入n个选手的有关信息。通过几个for语句等整理xuanshou成绩,先排序,后计算,最后输出到文件f2.txt。
///////////////////////////////本文来自辣.文,论-文·网原文请找腾讯752018766
7.3 程序流程图(如下图)
///////////////////////////////
7.4 详细设计与编码:
见上传程序。
///////////////////////////////
7.5 调试分析:
先从f1文件输入数据,然后整理xuanshou成绩,先排序,后计算,最后输出到文件f2.txt
///////////////////////////////
7.6 用户使用说明:
用户只要运行本程序就可以得到想要的结果。文件f2.txt建立成功。只要这句话显示在屏幕上就说明这个程序运行成功了。
///////////////////////////////
7.7 设计心得:
在本次的实验过程中,遇到的困难是前所未有的,但是在同学老师的帮助下最终还是解决了问题,感觉c++确实是一个比较难的语言,以前还感觉比较容易,现在遇到大的题了就感觉很难了,以后还是要多多的练习啊。2587