struct结构体项目1

//三个教室
//每个教室5个学生
//每个学生包含 姓名 年龄 成绩
//1.求一个教室内学生总成绩
//2.输出一个教室所有学生信息
//3.输出一个教室根据学生成绩排序后的所有信息
#include<iostream>
using namespace std;
struct Student{
		string stu_name;
		int stu_age;
		double stu_grade;
		void get_Name_Age_Grade(){
			cout<<stu_name<<" "
			<<stu_age<<" "
			<<stu_grade<<endl; 
		}
};
struct Class{
	string cla_name;
	Student stu[5];
};
int  main(){
	Class cla[3];
	for(int i=0;i<3;i++){
		cin>>cla[i].cla_name;
		for(int j=0;j<5;j++){
			cin>>cla[i].stu[j].stu_name
			>>cla[i].stu[j].stu_age
			>>cla[i].stu[j].stu_grade;
		}
	}
	cout<<"输入教室名称:"<<endl;
	string name;
	int n;
	cin>>name;
	for(int i=0;i<3;i++){
		if(cla[i].cla_name==name){
			cout<<"请选择功能:"<<endl;
			cout<<"1.求一个教室内学生总成绩" <<endl;
			cout<<"2.输出一个教室所有学生信息"<<endl;
			cout<<"3.输出一个教室根据学生成绩排序后的所有信息"<<endl;
			cin>>n;
			switch(n){
				case 1:{
					int sum_Grade=0;
					for(int j=0;j<5;j++){
						sum_Grade+=cla[i].stu[j].stu_grade;
					}
					cout<<sum_Grade<<endl;
					break;
				}
				case 2:{
					for(int j=0;j<5;j++){
						cla[i].stu[j].get_Name_Age_Grade();
					}
					break;
				}
				case 3:{
					for(int m=0;m<5;m++){
						for(int j=4;j>=0;j--){
							if(cla[i].stu[j].stu_grade>cla[i].stu[j-1].stu_grade){
								swap(cla[i].stu[j],cla[i].stu[j-1]);
							}
						}
					}
					for(int j=0;j<5;j++){
						cla[i].stu[j].get_Name_Age_Grade();
					}
					break;
				}
			}
		}
	}
	return 0;
}  

  

posted @ 2024-12-08 09:54  最后一个还有我  阅读(14)  评论(0)    收藏  举报