您的位置:首页 > 其它

14周课后自主-项目3-版本2-记录成绩(含名字)

2014-12-01 13:36 363 查看
/*
*Copyright (c) 2014,烟台大学计算机学院
*All right reserved.
*文件名称:main.cpp
*作    者:臧云吉
*完成时间:2014年11月18日
*版 本 号:v1.0
*描    述:现在还要记录每个人的名字以及列出取得最高分的人
*/
#include<iostream>
#include<string>
using namespace std;
string course[4]={"Math","English","C++","Total"};
void input(string na[],double s[][4],int n);
void output(string na[],double s[][4],int n);
double max(double s[][4],int n,int i);
double min(double s[][4],int n,int i);
double avg(double s[][4],int n,int i);
void max_list(string na[],double s[][4],int n,int i,double m);
int main()
{
string name[100];
double score[100][4];
int n,i;
int max_stroe[100];
cin>>n;
input(name,score,n);
output(name,score,n);
max_list(name,score,n,3,max(score,n,3));
for(i=0;i<4;i++)
{
cout<<course[i]<<"'s maximal score is : "<<max(score,n,i)<<",";
cout           <<"minimum score is : "   <<min(score,n,i)<<",";
cout           <<"and the average is : " <<avg(score,n,i)<<"."<<endl;
}
return 0;
}
void input(string na[],double s[][4],int n)
{
for(int i=0;i<n;i++)
{
cin>>na[i];
for(int j=0;j<3;j++)
{
cin>>s[i][j];
}
s[i][3]=s[i][0]+s[i][1]+s[i][2];
}

}
void output(string na[],double s[][4],int n)
{
cout<<"name\t"<<course[0]<<'\t'<<course[1]<<'\t'<<course[2]<<'\t'<<course[3]<<'\t'<<endl;
for(int i=0;i<n;i++)
{
cout<<na[i]<<'\t';
for(int j=0;j<4;j++)
{
cout<<s[i][j]<<'\t';
}
cout<<endl;
}
}
double max(double s[][4],int n,int i)
{
int max_=s[0][i];
for(int x=0;x<n;x++)
{
if(s[x][i]>max_)
{
max_=s[x][i];
}
}
return max_;
}
double min(double s[][4],int n,int i)
{
int min_=s[0][i];
for(int x=0;x<n;x++)
{
if(s[x][i]<min_)
{
min_=s[x][i];
}
}
return min_;

}
double avg(double s[][4],int n,int i)
{
double sum=0;
double avg_;
for(int x=0;x<n;x++)
{
sum+=s[x][i];
}
avg_=sum/n;
return avg_;
}
void max_list(string na[],double s[][4],int n,int i,double m)
{
int r=0;
int store[100];
for(int j=0;j<n;j++)
{
//		cout<<"inloop"<<s[j][i]<<"**"<<m<<endl;
if(s[j][i]==m)
{
store[r]=j;
r++;
//			cout<<r<<"*\n";

}
}
cout<<"The students who get the best  grade of "<<course[i]<<" is :\n";
for(int x=0;x<r;x++)
{
cout<<na[x]<<'\t'<<s[x][i]<<endl;
}
cout<<endl;
}


运行结果

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: