C++&QT day2

作业

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

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

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

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

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

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

cpp 复制代码
#include <iostream>

using namespace std;
struct Stu
{
private:
    int *p=new int[128];
private:
    int stu_count;
public:
    //设置学生个数函数
    void setNum(int num)
    {
       stu_count=num;
       cout<<"学生人数是:"<<stu_count<<endl;
    }
public:
    //输入学生成绩函数
    void input()
    {
        for(int i=0;i<stu_count;i++)
        {
            cout<<"请输入学生成绩:"<<endl;
            cin>>p[i];
        }
    }
public:
    //学生成绩降序排序函数
    void sort()
    {
        int temp;
        for(int i=1;i<stu_count;i++)
        {
            for(int j=0;j<stu_count-i;j++)
            {
                if(p[j]<p[j+1])
                {
                    temp=p[j];
                    p[j]=p[j+1];
                    p[j+1]=temp;
                }
            }
        }
    }
public:
    //输出学生成绩函数
    void show()
    {
        cout<<"学生成绩是:";
        for(int i=0;i<stu_count;i++)
        {
            cout<<p[i]<<" ";
        }
        cout<<endl;
    }
};
int main()
{
    struct Stu stu;
    int num;
    cout<<"请输入学生个数:";
    cin>>num;
    stu.setNum(num);
    stu.input();
    stu.sort();
    stu.show();
    return 0;
}

2> 思维导图

相关推荐
神仙别闹3 分钟前
基于Java+MySQL实现(GUI)医院管理系统
java·mysql·oracle
wangjialelele7 分钟前
【SystemV】基于建造者模式的信号量
linux·c语言·c++·算法·建造者模式
吴声子夜歌35 分钟前
Java——显示条件
java·开发语言
AC赳赳老秦40 分钟前
OpenClaw与WPS宏联动:批量执行WPS复杂操作,解决办公表格批量处理难题
java·前端·数据库·自动化·需求分析·deepseek·openclaw
朔北之忘 Clancy1 小时前
2026 年 3 月青少年软编等考 C 语言一级真题解析
c语言·开发语言·c++·学习·青少年编程·题解·一级
bupt_011 小时前
Hermes深入理解及源码解析(二):Hermes的记忆机制
java·服务器·前端
Ting-yu1 小时前
Spring AI Alibaba零基础速成(1) ---- 项目创建与配置
java·人工智能·spring
喜欢coding的谢同学1 小时前
ArthasClaw:用自然语言诊断 JVM 的 AI 助手,告别繁琐的 Arthas 命令
java·人工智能·arthas
信奥胡老师2 小时前
B3930 [GESP202312 五级] 烹饪问题
开发语言·数据结构·c++·学习·算法
许长安2 小时前
Redis 跳表实现详解
数据库·c++·经验分享·redis·笔记·缓存