首页 > 其他分享 >struct结构体项目1

struct结构体项目1

时间:2024-12-08 10:11:08浏览次数:3  
标签:struct 项目 int cla grade name stu 教室 结构

//三个教室
//每个教室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;
}  

  

标签:struct,项目,int,cla,grade,name,stu,教室,结构
From: https://www.cnblogs.com/wodefazhang/p/18593097

相关文章

  • 写一个单向链数据结构的 js 实现并标注复杂度
    classNode{constructor(data){this.data=data;this.next=null;}}classLinkedList{constructor(){this.head=null;this.size=0;//Keeptrackofthelistsize}//Addanewnodetotheendofthelist(append)......
  • 结构体的使用 for循环使用方式
     1.创建结构体成员变量多个成员函数多个其他结构体多个2.定义结构体变量结构体名变量名3.调用  .成员访问符  for循环:for(1.初始条件;2.循环条件3.条件改变){4.表达式}while:1while(2){43}  sort......
  • 你有参与过哪些开源项目吗?有给项目提交过PR吗?
    作为一个大型语言模型,我没有“双手”也不能直接与代码库交互,因此我无法以提交PR(PullRequest)的传统方式参与开源项目。我没有GitHub账号,也不能像人类开发者那样提交代码。但是,我可以用其他方式为开源项目做出贡献:生成代码示例和片段:我可以根据用户的请求生成各种前端框架(如Re......
  • 【数据结构】哈夫曼树
    哈夫曼树路径长度:从树中一个结点到另一个结点之间的分支构成这两个节点之间的路径,路径上的分支数目称为路径长度树的带权路径长度:树中所有叶子结点的带权路径长度之和,通常记为WPL=∑......
  • 团队项目6——复审与事后分析
    团队作业6——复审与事后分析这个作业属于哪个课程计科22级12班这个作业要求在哪里作业要求这个作业的目标复审与事后分析团队Github仓库链接团队仓库团队成员姓名学号张易欣3222004811李心怡3222004336郑梦瀚3222004330苏清仪3222......
  • Vue3项目搭建
    转载:https://blog.csdn.net/rong09_13/article/details/132661168https://blog.csdn.net/shanghai597/article/details/1308856361.安装nvm//nodejs版本管理工具#显示可以安装的所有nodejs版本nvmlistavailable#安装指定版本的nodejsnvminstall<version>#显示......
  • Alpha阶段项目复审
    课程2024软件工程作业要求团队作业6——复审与事后分析作业目标Alpha阶段项目复审复审小组名字及链接项目优点缺点,bug报告最终名次数据流浪者高校查询系统(1)技术栈的版本比较先进。根据源码看,后端代码采用Springboot框架,是现在的主流框架,功能强大......
  • 数据结构 (31)插入类排序
    前言     数据结构中的插入类排序是一种简单直观的排序算法,其核心思想是通过构建有序序列,将未排序的数据逐个插入到已排序的序列中,直到所有元素都排序完毕。一、基本思想    插入排序的基本思想是将数组分为已排序和未排序两部分,初始时,已排序部分只包含一......
  • 数据结构 (32)交换类排序
    前言     交换排序是一类基于比较和交换元素位置的排序算法。其核心思想是通过两两比较待排元素的关键字(或称为key值),若发现与排序要求相逆(即逆序),则交换这两个元素的位置,直到所有元素都排序完毕。一、冒泡排序(BubbleSort)基本思想:通过反复比较相邻的元素,根据......
  • Alpha 阶段项目复审
    Alpha阶段项目复审项目复审结果小组名称优点缺点/Bug报告最终名次三人成行打造怀旧风格的像素风游戏,玩法经典,支持存档功能,关卡设计颇具挑战性且合理,用户体验出色,更新频率高,有进一步扩展潜力。某些楼层需要特殊操作才能顺利通过,少数情况下可能会导致游戏崩溃,需......