懂VC++的朋友进
我刚学VC.有一个作业想请各位高手指教一下.谢谢啦!shikouhuoding@126.com 这是我的邮箱 .请发到我的邮箱.我一定再多加分.
课题名称:现场分数统计系统
设计内容:设计一个小型的分数统计系统,用VC++实现,具体要求如下:
1) 有n个选手,m(m>=2)个评委,最高分为10分,最低分为0分。统分规则为:每个选手所得m个分数中,去掉一个最高分,去掉一个最低分后取平均分为该选手的最后得分;
2) 根据n个选手的最后得分,从高到低排出名次表,以确定获奖名单;
3) 根据各选手的最后得分与各评委给分的差距,对评委评分的准确性给出一个定量的评价
设计要求:
1. 说明系统对计算机软、硬件环境的基本要求;
2. 对总体设计方案进行分析、比较和论证;
3. 用VC++实现,要求界面简洁美观;
4. 编写代码、上机输入、调试、修改并运行通过;
5. 撰写程序设计报告。程序设计是总结性的技术文件,应全面叙述整个设计的内容及过程,包括程序流程图,发现的问题及解决方法等。
参考答案:#include <iostream.h>
int max(int[],int);
int min(int[],int);
void maopao(float[],int);
float ave(int[],int);
void ve(int[],int,float,int);
int main()
{
const int m=4,n=5; //修改评委人数则在初始化m里修改,修改选手数则在初始化n里修改
int grade[m];
float player[n];
cout<<"评委的人数:\t"<<m<<endl;
cout<<"选手的人数:\t"<<n<<endl;
for (int i =0; i<n ; i++){
cout<<"现在是评选第"<<i+1<<"个选手的最后得分——"<<endl;
player[i]=ave(grade,m);
cout<<"第"<<i+1<<"个选手的最后得分为:"<<player[i]<<endl<<endl;
ve(grade,m,player[i],i);
}
maopao(player,n);
return 0;
}
float ave(int p[],int size)
{
for(int sum=0,i=0; i<size ; i++){
cout<<"输入第"<<i+1<<"个评委的评分,最高分为10,最低分为0,超出范围内无效:";
cin>>p[i];
if ( p[i] < 0 || p[i] > 10 ){
cout<<"输入的评分超出范围!"<<endl;
i--;
}
else
sum+=p[i];
}
return (sum-min(p,size)-max(p,size))/(size-2.00);
}
int max(int Max[],int size)
{
for(int MAX=0,i = 0; i<size; i++)
if ( MAX < Max[i] )
MAX = Max[i];
return MAX;
}
int min(int Min[],int size)
{
for(int MIN=11,i = 0; i<size; i++)
if ( MIN > Min[i] )
MIN = Min[i];
return MIN;
}
void maopao(float play[],int size)
{
float temp=0;
for(int i=0; i<size ; i++)
for(int j=0; j < size-i ; j++)
if ( play[j] < play[ j+1 ] )
{
temp = play[j];
play[j] = play[j+1];
play[j+1] = temp;
}
for ( i=0;i<size;i++){
cout<<"-------------------------第"<<i+1<<"名的得分是 "<<play[i]<<"!-------------------------\n";
}
}
void ve(int grade[],int m,float play,int i)
{
float x;
for (int j=0; j<m; j++)
{
x=grade[j]-play;
cout<<"第"<<j+1<<"位评委对第"<<i+1<<"名选手的评分为 "
<<grade[j]<<",而该选手的最后得分为"
<<play<<",其中差距为"
<<x<<",该评委评分的准确性评价:\n";
if(x<3&&x>-3)
cout<<"良好,该评委评分比较公平客观。\n\n";
else
cout<<"一般,该评委评分过于主观。\n\n";
}
}
我也是初学者,为了试炼自己的能耐,花了3小时做这题
几乎用上所学到的知识了..给点辛苦分吧