C++ 每个学生的数据包括:学号、姓名、3门课的成绩...

1、每个学生的数据包括:学号、姓名、3门课的成绩、3门课的平均分、3门课的总分是(学生类的数据成员),实现以下功能:
(1)从键盘输入10个学生数据
(2)打印出10个学生各课程的平均分
(3)输出总分最高分同学的所有信息

Student.h

#include <iostream>
using namespace std;
class Student{
	private:
		int num;
		string name;
		float average;
		float sum;
		float score[3];
	public:
		Student();
		~Student();
		void showinfo();
		void input(int i);
		float getMath();
		float getEnglish();
		float getChina();
		float getSum();

};

Student.cpp

#include "Student.h"
#include <iostream>
using namespace std;

Student::Student(){
		num=0;
		name="";
		sum=0;
		average=0;
}
Student::~Student(){}
void Student::showinfo(){
	cout<<"学号:"<<num<<"姓名:"<<name<<endl;
		cout<<"语文成绩"<<score[0]<<endl; 
		cout<<"数学成绩"<<score[1]<<endl; 
		cout<<"英语成绩"<<score[2]<<endl; 
		sum=score[0]+score[1]+score[2];
		average=sum/3;
		cout<<"三门课的总分"<<sum; 
		cout<<"三门课的平均分"<<average<<endl; 
}
void Student::input(int i)
{
		int j=i+1;
   		cout<<"输入第"<<j<<"学生的学号" <<endl; 
		cin>>num;
		cout<<"输入第"<<j<<"学生的姓名" <<endl; 
		cin>>name;
		cout<<"输入第"<<j<<"学生的三门分数" <<endl; 
		for(int i=0;i<3;i++){
			cin>>score[i];
		}
}

float Student::getChina(){
	return score[0];
}
float Student::getMath(){
	return score[1];
}
float Student::getEnglish(){
	return score[2];
}

float Student::getSum(){
	for(int i=0;i<3;i++){
		sum+=score[i];
	}
	return sum;
}

Student_main.cpp

#include <iostream>
#include "Student.cpp"
using namespace std;

int MaxScore(float sumSort[],int n){
	float max=sumSort[0];
	int counter=0;
	for(int i=0;i<n;i++){
		if(max<sumSort[i]){
			max=sumSort[i];
			counter=i;
		}
	}
	return counter;
	
}

int main() {
	const int size=10;
	Student stu[size];
	float SumChina=0,SumMath=0,SumEnglish=0;
	float sumScore[3];
	float sumSort[size]; 
	int counter=0;
	for(int i=0;i<size;i++){
	        stu[i].input(i);
	   		stu[i].showinfo();
	   		//所有学生的课程成绩 
	   		SumChina+=stu[i].getChina();
	   		SumMath+=stu[i].getMath();
	   		SumEnglish+=stu[i].getEnglish();
	   		//将所有的学生的总分放入数组中 
	   		sumSort[i]=stu[i].getSum();
   	}

   int index=MaxScore(sumSort,4);
	cout<<"成绩最高的学生信息为:";
	stu[index].showinfo();
   	cout<<"语文平均分:"<<SumChina/size<<" "<<"数学平均分:"<<SumMath/size<< " "<<"英语平均分:"<<SumEnglish/size<<endl;
	system("pause"); 
	return 0;
}
  • 20
    点赞
  • 102
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值