一、目的和要求
1. 掌握结构体变量的基本使用方法
2. 掌握结构体数组的基本使用方法
二、实验内容
有n 个学生,每个学生的数据包括学号、姓名、3 门课的成绩。从键盘先输入数字n,然后依次输入n个学生数据,要求输出每个学生的各项数据及3 门课平均成绩,以及最高平均分的学生各项数据(包括学号、姓名、3 门课的成绩、平均分数)
三、算法思路
(简单的实验可以不写,比如这个实验)
四、源代码
#include<iostream>
using namespace std;
class Student
{
public:
int id; //学生学号
char name[20]; //学生姓名
float chinese; //语文成绩
float math; //数学成绩
float english; //英语成绩
float average; //平均成绩
void input(); //声明成员函数
void print(); //声明成员函数
void calavge(); //声明成员函数,计算平均分
};
void Student::input() //定义成员函数
{
cin>>id;
cin>>name;
cin>>chinese;
cin>>math;
cin>>english;
}
void Student::print() //定义成员函数
{
cout<<"student number:"<<id<<" student name:"<<name<<" chinese:"<<chinese<<" math:"<<math<<" english:"<<english<<" average score:"<<average<<endl;
}
void Student::calavge() //定义成员函数
{
average=(chinese+math+english)/3;
}
int main()
{
Student student[100]; //student用于存储学生信息
int n,i,j=-1; //n表示学生数量,i,j是下标
float temp=0; //中间变量
cout <<"please inter the number of students:"<<endl;
cin>>n; //输入学生人数
for(i=0;i<n;i++)
{
cout<<"please enter the information of NO."<<i+1<<" student in turn"<<endl;
student[i].input(); //调用输入函数
student[i].calavge(); //调用计算平均分的函数
if(student[i].average>temp) //找到平均分最高的学生下标
{
temp=student[i].average;
j=i;
}
}
cout<<"The student with the best average:"<<endl;
student[j].print(); //调用输出函数
return 0;
}
五、实验结果(截图)