C++对参赛选手的得分进行处理源程序
1需求分析
对参赛结果分数进行处理:参赛选手n人(n>1),评委m人(m>2),评委给每一选手打一个分数score(分数score为小于等于10的一个正实数)。选手的最后得分lastScore为去掉一个最高分和一个最低分后另m-2个得分的平均值。
 假设事先已经建立了text型的数据文件f1.txt,其中依次记录着n个选手的编号(一个正整数)、姓名(一个字符串)以及m个评委给出的得分。
程序运行截图
6.2  概要设计
流程图:
函数sort
 
函数total
 
函数average
 
Main函数
6.3  详细设计与编码
见上传程序。
6.4  调试分析
程序比较复杂,在编写之前要对文件操作的类容要复习下,花的时间多看看相关类容,然后编写就容易些了。
6.5  用户使用说明
根据界面提示,输入想要的数据。
  6.6  设计心得
这是一道关于文件的读写操作的题目,通过这道题对文件的操作更加熟悉了。
#include <iostream> 
#include <fstream>
#include <iomanip> 
using namespace std; 
struct player{            //参赛者
     int number; 
     char name[40]; 
     double * score; 
}; 
void Sort(double * s, int n) // 选择排序 
{ 
      double temp; 
      int pos; 
      for (int i=0;i<n-1;i++) 
   { 
          temp=s[i]; 
          pos=i; 
        for (int j=i+1;j<n;j++) 
  { 
           if (s[j]<temp) 
     { 
              temp=s[j]; 
              pos=j; 
     } 
  } 
        s[pos]=s[i]; 
        s[i]=temp; 
   } 
} 
double Total(double * s, int n) 
{ 
      double sum=0;   
      for (int i=1; i<n-1;i++)     //去掉第一个数(即最小数)和最后一个数(即最大数)
      sum += s[i]; 
      return sum; 
} 
  
double Average(double * s, int n) 
{  
  return (Total(s, n) / (n - 2)); 
} 
int main() 
{ 
原文请找腾讯752018766辣.文-论'文;网http://www.751com.cn 
    if(!infile) 
 { 
       cout << "Can't open f1.txt!" <<endl; 
       exit(0);  } 1821