/*
*程序的版权和版本声明部分:
*Copyright(c)2013,烟台大学计算机学院学生
*All rights reserved.
*文件名称:
*作者:
*完成日期:2014年3月2日
*版本号:v1.0
*对任务及求解方法的描述部分:
*输入描述:name,score1,score2,score3,average
*问题描述:
每位同学的信息学号、姓名、score1,score2,score3,定义一个学生成绩的结构体数组,
其中的数据成员包括学号(char num[12]) 、姓名(name)、三门课的成绩(score) 、总分
(sum) 、均分(average) ) 。
(1)从键盘上输入 N 名学生的信息(N 定义为常变量) ;
(2)求出每名同学的总分和均分,并存储在结构体数组中(可以读入过程中“顺便”计算) ;
(3)输出每位同学的信息学号、姓名、总分和均分。
*程序输出:
*问题分析:
*算法设计:
*/
#include <iostream>
#include <iomanip>
using namespace std;
const int n=2;
struct student
{
char num[15];
char name[15];
int score[4];
double average;
int sum;
}stu[n];
int main()
{
void print(student stu[]);
int i,j;
for(i=0;i<n;i++)
{
stu[i].average=0;
cout<<"input scores of student"<<i+1<<":"<<endl;
cout<<"NO.:";
cin>>stu[i].num;
cout<<"name:";
cin>>stu[i].name;
for(j=0;j<3;j++)
{
cout<<"score"<<j+1<<":";
cin>>stu[i].score[j];
stu[i].sum+=stu[i].score[j];
}
stu[i].average=stu[i].sum/3;
cout<<endl;
}
print(stu);
return 0;
}
void print(student stu[])
{
int i,j;
cout<<"NO. name score1 score2 score3 sum average"<<endl;
for(i=0;i<n;i++)
{
cout<<stu[i].num<<" "<<setw(9)<<stu[i].name<<" ";
for(j=0;j<3;j++)
{cout<<setw(7)<<stu[i].score[j]<<" ";}
cout<<setw(7)<<stu[i].sum;
cout<<setw(7)<<stu[i].average<<endl;
}
}
心得:想清自己想要的,不抛弃不放弃。一起加油。。。