• 博客园logo
  • 会员
  • 周边
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
guoliheng
博客园    首页    新随笔    联系   管理    订阅  订阅
结构体的使用 for循环使用方式 sort 使用

 

1.创建结构体

    成员变量 多个

    成员函数 多个

    其他结构体 多个

2.定义结构体变量

    结构体名 变量名

3.调用   .成员访问符

 

 

for循环:

for(1.初始条件;2.循环条件3.条件改变){

  4.表达式

}

while:

1

while(2){

  4  

  3

}

 

 

sort 使用

#include <bits/stdc++.h>

using namespac std;

int mian(){

  int a[5]={1,3,4,6,5};

  sort (a,a+5);

  for(int i=0;i<5;i++){

    cout<<a[i]<<" ";

  }

}

 

 

 

//三个教室
//每个教室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 on 2024-12-08 08:32  郭立恒  阅读(19)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3