struct結構體專案1

昵称就是最好的昵称發表於2024-12-08
//三個教室
//每個教室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;
}  

  

相關文章