/*
* 作 者: 霍雨佳
* 完成日期:2014 年3月4日
* 版 本 号:v1.0
* 问题描述:利用结构体数组等知识对学生的成绩进行统计。
* 样例输入:
* 样例输出:
* 问题分析:建立结构体,分析运用数组对学生的成绩进行统计。
*/
#include <iostream>
#include <iomanip>
using namespace std;
struct Student
{
char num[13]; //学号
char name[10];
int cpp;
int math;
int english;
int grade;//总成绩
double average;//均值
};
void calculate(Student stu[]);
const int N=3;//3名学生信息
int main( )
{
int i,k,maxgrade=0;//所有同学的均值
//定义结构体数组
Student stu[N];
cout<<setw(13)<<"请输入学号"<<setw(5)<<"姓名"<<setw(5)<<"C++"<<setw(8)<<"高数"<<setw(10)<<"英语成绩"<<endl;
for(i=0;i<N;i++)
{
cin>>stu[i].num>>stu[i].name>>stu[i].cpp>>stu[i].math>>stu[i].english;
}
cout<<endl;
calculate(stu);
cout<<"所有同学的均值是:";
for(k=0;k<N;k++)
{
maxgrade+=stu[k].grade;
}
cout<<maxgrade/9<<endl;
return 0;
}
void calculate(Student stu[])
{
int j;
cout<<setw(13)<<"学号"<<setw(13)<<"姓名"<<setw(13)<<"总分"<<setw(13)<<"均分"<<endl;
for(j=0;j<N;j++)
{
stu[j].grade=stu[j].cpp+stu[j].math+stu[j].english;
stu[j].average=stu[j].grade/3;
cout<<setw(13)<<stu[j].num<<setw(13)<<stu[j].name<<setw(13)<<stu[j].grade<<setw(13)<<stu[j].average<<endl;;
}
return;
}
运行结果:
看似简单的问题却用了很长的时间才编出来,并且很多代码可能用的也不是最简单快捷的
总体就是学的还是不够扎实,对知识运用不够熟练,加油加油!!!