- 博客(47)
- 收藏
- 关注
原创 学生成绩管理系统
使用结构体组织学生数据,将不同数据类型(学号、姓名、各科成绩)组合成单一的数据结构。使用malloc/realloc/free进行内存动态分配。实现学生记录的动态增减,避免固定数组大小的限制。使用二进制文件读写(fread/fwrite)采用"wb"和"rb"模式保证跨平台兼容性。增加输入验证(成绩范围检查、学号查重等)实现排序功能(按总分/单科成绩排序)使用链表代替数组实现更高效的数据操作。添加统计功能(平均分、最高分等)便于数据的整体管理和操作。使用内存拷贝进行数据移动。实现数据的持久化存储。
2025-02-25 17:09:29
147
原创 算法思想—枚举、递推、迭代、递归、分治、贪心、动态规划、回溯、模拟、分支定界
算法思想—枚举、递推、迭代、递归、分治、贪心、动态规划、回溯、模拟、分支定界
2024-01-15 10:22:03
2197
原创 设计模式——简单工厂模式
简单工厂模式属于类的创建型模式,又叫做静态工厂方法模式。通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。
2024-01-13 22:07:47
604
原创 设计模式—— 单例设计模式
单例模式是一种对象创建型模式,使用单例模式,可以保证为一个类只生成唯一的实例对象。也就是说,在整个程序空间中,该类只存在一个实例对象。
2024-01-13 22:04:14
573
原创 设计模式设计原则——依赖倒置原则(DIP)
高层(稳定)不依赖低层(变化),两者依赖抽象(稳定)。高层模块不应该直接依赖于底层模块的具体实现,而应该依赖于底层的抽象。换言之,模块间的依赖是通过抽象发生,实现类之间不发生直接的依赖关系,其依赖关系是通过接口或抽象类产生的。抽象(稳定)不依赖细节(变化),细节依赖抽象(稳定)。接口和抽象类不应该依赖于实现类,而实现类依赖接口或抽象类。这一点其实不用多说,很好理解,“面向接口编程”思想正是这点的最好体现。官方翻译:高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象。
2024-01-01 21:55:22
882
原创 VMware Tools安装——以Ubuntu为例
对于 Windows 快捷安装或 Linux 快捷安装,Fusion 在完成操作系统安装后立即安装 VMware Tools。在使用其他方法在新虚拟机中安装完操作系统后(在出现提示时,重新引导虚拟机),请安装 VMware Tools。您可以使用 Windows 简易安装或 Linux 简易安装功能在安装完操作系统后立即安装 VMware Tools。虽然也可以在未安装 VMware Tools 的情况下运行客户机操作系统,但您无法获得很多重要功能和便利性。并非在所有客户机上支持所有功能。
2023-09-25 01:43:03
487
原创 python的pandas库绘制南丁格尔玫瑰图
用南丁格尔玫瑰图展示各个国家新冠疫情死亡人数变化的情况,记录和展现了历史,非常直观。类似地,各个国家每年GDP数据的变化也可以这样展现。请任意选择上面两种数据中的某一年中的部分国家数据,绘制出南丁格尔玫瑰图进行表示(即极坐标上画柱状图)。
2023-09-11 16:00:31
845
原创 python的matplotlib库实现饼状图
1.2022年1月11日,“郑州市新冠肺炎疫情防控”第29场新闻发布会在市政府新闻发布厅召开,通报郑州市新冠肺炎疫情防控工作最新进展情况。统计显示,截至1月10日24时,全市累计报告本土确诊病例103例(其中,二七区47例,中原区27例,管城区14例,高新区6例,航空港区4例,金水区4例,郑东新区1例)请用饼状图表示上面这组数据。
2023-09-11 15:53:11
152
原创 python的numpy和matplotlib库相结合,实现雷达图、柱状图、正余弦曲线图和三维图像
python的numpy和matplotlib库相结合,实现雷达图、柱状图、正余弦曲线图和三维图像
2023-09-11 15:50:55
93
原创 排序算法——冒泡排序
由于每轮比对都会比出一个最大值,下一轮再比对时就不需要对最大值进行比对,所以可以对代码进行优化:第1轮时,内层循环可以少比对0次;第2轮,内层循环可以少比对1次。依此类推,len-1次时,可以少比对len-1-1次。由于外层循环的 i 刚好是从0开始递增一直到len-1,所以直接利用现有变量进行优化。每一轮从a[0]开始逐一与后面比对,a[0]与a[1],a[1]与a[2] ······,一直到a[7]与a[8],总共len-1轮,每一轮len-1次。
2023-09-04 23:15:48
94
1
转载 Win32双缓冲绘图和位图的绘制
为什么需要使用双缓冲技术?可能很多朋友会问,不知道你们有没有发现,当屏幕刷新的时候会有闪烁,这样让人的体验感极差。原因是绘图与显示器刷新不同步,有时间差,为解决这一问题,这就需要用到双缓冲技术来绘图了。双缓冲技术是相对单缓冲而言的,单缓冲就是直接在设备DC上绘图;而双缓冲就是先在一个与设备DC相兼容的内存缓冲区里进行绘图,然后再一次性复制到设备DC上。一次性在屏幕上显示就不会出现闪烁的现象。
2023-07-22 22:01:03
296
原创 QT常用基础类型
因为Qt是一个C++框架, 因此C++中所有的语法和数据类型在Qt中都是被支持的, 但是Qt中也定义了一些属于自己的数据类型, 下边给大家介绍一下这些基础的数类型。
2023-06-03 00:37:54
411
原创 QT:使用VS搭建qt环境
使用 Visual Studio 搭建基于 CMake 的 QT 开发环境可以让开发者更加灵活地控制和管理 QT 项目的构建和配置,从而提高代码的可移植性和可维护性。通过配置 CMakeLists.txt 文件,可以添加 QT 组件库、自定义编译选项、定义编译器路径等,从而更好地控制 QT 项目的构建过程。使用 Visual Studio 搭建 CMake 项目可以让 QT 开发者专注于应用程序开发,从而更加高效地构建、测试和发布 QT 应用程序。
2023-05-22 07:40:33
9579
原创 QT6.2.4的安装指导
Qt是一个跨平台的 C++ 开发库,主要用来开发图形用户界面(Graphical User Interface,GUI)程序,当然也可以开发不带界面的命令行(Command User Interface,CUI)程序。
2023-04-12 16:56:43
4896
2
原创 解引用的骚操作--经典类型练习题
与中储存的都是 “'1','2','3','4','\0'”字符所占用内存空间的内存段的首地址,区别在于:指针变量pStr (类型为char*) 与 指针变量p (类型为int*) 的类型不同。对 指针变量pStr 解引用:文章末尾有说明。
2023-03-30 00:08:55
142
1
原创 Windows编程-001
Windows编程就是在Windows平台上开发,并且运行于Windows平台上的程序,当然,开发的时候运用的东西是Windows API或者封装之后的Windows API。
2023-03-01 22:41:15
216
原创 数组和指针
字符指针: char* p 指针变量 保存的指针 是 char类型的内存段的 首地址。整型指针: int* p 指针变量 保存的指针 是 int类型的内存段的 首地址。&arr 的类型 是 int (*)[5] 不是 int**sizeof &arr 获取的 是 数组指针的大小 4。动态内存分配去申请二维数组的内存段 应该是 一维数组方式去申请!数组指针: int (*p)[7] 指向数组的指针变量。1. 数组名的返回值 是数组的首地址。
2022-11-14 04:35:42
149
原创 C++初学习02
const成员、static成员、友元、this指针与explicit、小练习(string创建、实现data()和c_str()打印字符串、实现append()字符串链接、实现字符串比较、手写析构函数释放内存)
2022-11-06 21:56:09
563
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人