【C++】day2学习成果:引用、结构体等等。。。

1.封装一个结构体,结构体中包含一个私有数组,用来存放学生的成绩,包含一个私有变量,用来记录学生个数,

提供一个公有成员函数,void setNum(int num)用于设置学生个数

提供一个公有成员函数:void input(),用来对所有学生的成绩进行输入工作

提供一个公有成员函数:void sort(),用来实现对存储的学生成绩进行降序排序

提供一个公有的成员函数:void show(),用于将所有学生的成绩展示出来

在主程序中,完成相关函数的调用

代码:

c 复制代码
#include <iostream>

using namespace std;

#define MAXs 100    //宏定义最大学生数量

struct Student
{
private:
    int num;
private:
    double *score=new double[MAXs];
public:
    void setNum(int num1)
    {
        num=num1;
    }
public:
    void input()
    {
        //setNum(num);
        for(int i=0;i<num;i++)
        {
            cout<<"请输入学生成绩:";
            cin>>score[i];
        }
        cout<<"输入完毕!"<<endl;

    }
public:
    void sort()
    {

        for(int i=1;i<num;i++)
        {
            for(int j=0;j<num-i;j++)
            {
                if(score[j]<score[j+1])
                {
                    double temp=score[j];
                    score[j]=score[j+1];
                    score[j+1]=temp;
                }
            }
        }
        cout<<"降序排序完毕!"<<endl;
    }
public:
    void show()
    {

        for(int i=0;i<num;i++)
        {
            cout<<score[i]<<" ";
        }
        cout<<endl<<"展示完毕!"<<endl;
    }
};

int main()
{
    Student stu;
    int num;
    cout<<"请输入学生个数:";
    cin>>num;
    stu.setNum(num);
    stu.input();
    stu.sort();
    stu.show();
    return 0;
}

运行结果:

2.思维导图

相关推荐
爱写代码的刚子2 分钟前
C++知识总结
java·开发语言·c++
martian6652 分钟前
QT开发:基于Qt实现的交通信号灯模拟器:实现一个带有倒计时功能的图形界面应用
开发语言·qt
冷琴199610 分钟前
基于java+springboot的酒店预定网站、酒店客房管理系统
java·开发语言·spring boot
缘友一世18 分钟前
macOS .bash_profile配置文件优化记录
开发语言·macos·bash
tekin21 分钟前
macos 中使用macport安装,配置,切换多版本php,使用port 安装php扩展方法总结
开发语言·macos·php·port·mac多版本php安装管理·port-select
人工智能技术咨询.28 分钟前
张雪峰谈人工智能技术应用专业的就业前景!
人工智能·学习·计算机视觉·语言模型
s_little_monster30 分钟前
【QT】QT入门
数据库·c++·经验分享·笔记·qt·学习·mfc
CSXB9930 分钟前
一、Python(介绍、环境搭建)
开发语言·python·测试工具·集成测试
Yingye Zhu(HPXXZYY)37 分钟前
洛谷 P11045 [蓝桥杯 2024 省 Java B] 最优分组
c++·蓝桥杯
火红的小辣椒39 分钟前
PHP反序列化7(字符串逃逸)
开发语言·web安全·php