- 博客(226)
- 收藏
- 关注
原创 C++二进制读写(ifstream,ofstream,write函数,read函数)
【代码】C++二进制读写(ifstream,ofstream,write函数,read函数)
2026-03-01 11:53:43
129
原创 ifstream和ofstream分别是什么
它们都继承自基础的类,遵循 C++ 流操作的统一规则,是处理文件最常用的工具。使用这两个类前,必须包含头文件:2. ofstream(写文件)示例用于创建 / 打开文件并写入内容,常见模式:3. ifstream(读文件)示例(逐行读,getline)用于打开文件并读取内容,常见读取方式:逐行读、逐个字符读、按类型读。 是输入文件流,核心作用是从文件读取数据,常用操作:打开文件、逐行读、按类型读、关闭文件。 是输出文件流,核心作用是向文件写入数据,常用操作:打开文件(可
2026-02-28 14:35:25
357
原创 已知一模板的不完整声明是:template<class T,int SIZE> T valueOf(T sq[ ][SIZE]):其中valueOf计算并返回SIZExSIZE的行列式sq的值。
【代码】已知一模板的不完整声明是:template<class T,int SIZE> T valueOf(T sq[ ][SIZE]):其中valueOf计算并返回SIZExSIZE的行列式sq的值。
2026-02-27 21:38:20
218
原创 写一个函数模板,其功能是计算并返回数组d中size个元素的平方和,试设计这个函数模板
【代码】写一个函数模板,其功能是计算并返回数组d中size个元素的平方和,试设计这个函数模板。
2026-02-27 17:56:11
392
原创 设计函数模板SWAP,它可以用来交换任意两个类型相同对象变量的值
摘要:本文展示了一个使用C++模板实现的通用交换函数SWAP。该函数通过模板参数T支持任意数据类型的交换操作,包括int、float和char等。程序通过三个测试案例验证了函数的通用性,分别交换了整数、浮点数和字符类型变量,并输出交换前后的值以验证结果。代码结构清晰,包含必要的注释说明,展示了模板函数在实现类型无关操作时的优势。
2026-02-27 17:32:06
243
原创 核心匹配规则:普通函数,模板函数(隐式),模板函数(显式),以及模板特化
C++函数调用优先级规则解析:普通函数优先级高于模板函数,显式模板参数强制调用模板版本。当调用MAX(a,b)时优先匹配普通函数,而MAX<float>(a,b)则强制调用模板实例化。使用模板特化可统一逻辑,避免普通函数与模板的匹配混淆。核心在于理解普通函数>隐式模板>显式模板的调用顺序,这是C++重载解析的重要规则。
2026-02-27 15:10:36
490
原创 类通用模板与类的部分特化和全特化模板
类模板特化分为通用版和全特化版:通用模板通过template<typename T>定义,适配所有未特化的类型;全特化版通过template<>标记,针对特定类型(如float)定制实现。实例化时,编译器优先匹配特化版本,未找到则使用通用模板。特化版可完全独立修改成员函数和构造方法,但必须与通用模板参数匹配。示例中Array<int>调用通用模板,而Array<float>调用特化版本,体现"特化版>通用版"的优先级原则。
2026-02-27 15:10:15
681
原创 设计并实现日期类Date,它至少包含下列特性:
本文实现了一个Date类,主要功能包括:1)支持默认日期(1949.10.1)和指定日期初始化;2)支持从输入流读取日期(格式为"年.月.日");3)支持日期输出;4)实现日期比较运算符(==, !=, <, <=, >, >=);5)支持日期增减操作(++, --, +=, -=);6)支持日期与天数相加减运算(+,-)。类中还包含日期合法性校验、闰年判断等功能,并通过调整函数处理跨月跨年的日期计算。main函数演示了各类功能的使用方法。
2026-02-23 12:39:03
253
原创 大学有这样几类人员:学生、教师、职员和在职读书的教师。给出这几类人员的类描述。
本文展示了一个C++类层次结构的设计实现,包含Person基类和多个派生类。基类Person封装了人员基本信息(年龄、姓名、身份),并定义了虚函数show()以支持多态。派生类Student、Teacher、Employee和TeacherWithStudy分别扩展了学历、教学科目、工作单位等特有属性,并重写show()方法展示完整信息。代码优化包括:1) 使用英文命名提高可读性;2) 字符串默认值设为空字符串;3) 添加override关键字明确虚函数重写;4) 增加参数合法性检查。main函数通过基类指
2026-02-05 14:21:39
108
原创 建立普通的基类Building,用来存储一座楼房的层数、房间数以及它的总平方米数。建立派生类House,继承Building,并存储下面的内容:卧室与浴室的数量。另外,建立派生类Office,继承Bu
该代码实现了一个建筑类的继承体系,包含基类Builing和两个派生类House(住宅)和Office(办公室)。Builing类包含层数、房间数和总面积属性,并提供数据验证和显示功能。House类新增卧室和浴室数量,Office类新增灭火器和电话数量,两者都重写了show()方法以显示各自特有属性。主函数通过基类指针调用虚函数show(),实现多态性输出不同建筑类型的完整信息。程序展示了面向对象的封装、继承和多态特性。
2026-02-05 13:49:13
394
原创 编写一个程序输入一个n×n的矩阵,求出两条对角线的元素值之和
该程序实现了一个计算n×n二维矩阵两条对角线元素之和的功能。首先动态分配内存创建n×n矩阵,然后通过用户输入填充矩阵元素。程序分别计算正对角线(mat[i][i])和反对角线(mat[n-1-j][j])的元素和,最后输出两者之和。该代码展示了动态内存分配、二维数组操作和基本算法实现。
2025-12-11 09:27:22
135
原创 雪景艺术绘制
这段代码使用Python的turtle模块绘制了一个冬季雪景图。程序首先绘制100个随机分布、不同颜色和大小的雪花图案,每个雪花由8-12个花瓣组成。接着绘制地面效果,用随机大小和深浅的灰色线条模拟积雪。整个场景以黑色为背景,通过随机坐标和颜色变化创造出自然的视觉效果。代码利用了turtle的绘图功能和随机数生成,最终呈现出一个生动的数字雪景画面。
2025-11-19 17:12:29
127
原创 体育竞技分析实例
该程序模拟两个选手A和B的竞技比赛,通过输入各自能力值(0-1之间)和比赛场次进行胜负分析。程序包含两种实现方式:第一种使用概率比值计算得分概率,第二种直接使用能力值作为获胜概率。改进版本增加了比赛结束条件(需领先2分以上)和百分比显示功能。主要函数包括单场比赛模拟(sinOneGame)、多场模拟(sinNGame)和结果输出(printWin)。程序最终会输出选手的胜场数和获胜比例。
2025-11-13 11:52:14
158
原创 编写一个程序,读取一个Python源代码文件,将文件中所有除保留字外的小写字母换成大写字母,生成后的文件要能够被Python解释器正确执行。
本文介绍了一个Python脚本功能,该脚本能够读取输入文件中的代码,识别并转换其中的关键字。程序首先读取文件内容,然后使用keyword.kwlist检测Python关键字,将非关键字的标识符转换为大写形式。通过示例演示了转换效果:保留关键字(如def、return)原样输出,而将非关键字(如hello、message)转为大写。最后将处理结果写入输出文件,并展示了转换前后的代码对比。该功能可用于代码格式化或语法分析场景。
2025-11-12 18:21:27
333
原创 编写一个程序,生成一个10x10的随机矩阵并保存为文件(空格分隔行向量、换行分隔列向量),再写程序将刚才保存的矩阵文件另存为CSV格式,用Excel或文本编辑器打开看看结果对不对。
本文演示了如何生成随机矩阵并转换文件格式。首先使用Python随机模块生成10×10的0-99随机整数矩阵,保存为空格分隔的txt文件。随后将txt文件转换为逗号分隔的CSV格式。代码实现了两种矩阵存储格式的转换,可作为数据处理的基础示例。
2025-11-12 16:12:17
143
原创 假设有一个英文文本文件,编写一个程序读取其内容并将里面的大写字母变成小写字母,小写字母变成大写字母。
这段Python代码演示了如何读取并处理文本文件中的英文字符大小写转换。程序首先打开"new_b.txt"文件,读取内容后遍历每个字符:将小写字母转为大写,大写字母转为小写,其他字符保持不变。最后将所有处理后的字符重新组合成字符串并输出。代码使用了文件上下文管理(with语句)确保资源释放,以及列表推导式进行高效的字符处理,实现了对英文字符的大小写互换功能。
2025-11-12 15:10:47
178
原创 输入一个文件和一个字符,统计该字符在文件中出现的次数。
这段Python代码实现了一个简单的字符统计功能。程序首先提示用户输入文件名和要统计的字符,然后读取文件内容并计算指定字符出现的次数。代码使用了try-except块来处理文件不存在等异常情况,并提供了两种统计方法:直接使用count()函数或通过循环逐个字符比较。最后程序会输出统计结果或错误信息。该脚本适用于快速统计文本文件中特定字符的出现频率。
2025-11-12 14:46:22
124
原创 重复元素判定。编写一个函数,接收列表作为参数,如果一个元素在列表中出现了不止一次,则返回True,但不要改变原来列表的值。同时编写调用这个函数和输出测试结果的程序。
本文展示了一个检测列表中重复元素的Python程序。通过定义text_set()函数,利用集合(set)特性判断列表是否存在重复元素,同时保留原列表不变。测试用例包含数字和字符串列表,分别输出检测结果和原列表完整性验证。程序运行后会打印每个测试列表的重复检测结果,并确认原列表未被修改。该实现简洁高效,时间复杂度为O(n),适用于各种类型元素的列表检测。
2025-11-10 22:42:50
147
原创 随机密码生成。编写程序在26个字母大小写和9个数字组成的列表中随机生成10个8位密码。
这段Python代码实现了一个随机密码生成器。程序使用string模块的字母和数字组合作为字符池,通过random模块的choice方法随机选取字符,生成指定数量和长度的密码。默认生成10个8位随机密码,每个密码由大小写字母和数字组成。密码生成后使用enumerate函数为每个密码编号(从1开始),并按格式输出显示。该工具可快速创建多个安全随机密码,适用于需要批量生成密码的场景。
2025-11-10 21:40:42
127
原创 英文字符频率统计。编写一个程序,对给定字符串中出现的a~z字母频率进行分析,忽路大小写,采用降序方式输出。
这篇文章介绍了一个Python程序,用于统计字符串中各字符的出现频率。程序先将输入字符串转换为小写,然后通过字典统计每个字符的出现次数。统计完成后将结果转换为列表并按出现频率降序排列,最后格式化输出每个字符及其对应的出现次数。该程序演示了字符串处理、字典操作和排序等Python基础功能。
2025-11-10 21:00:10
120
原创 实现 isNum()函数,参数为一个字符串,如果这个字符串属于整数、浮点数或复数的表示,则返回 True,否则返回 False。
该Python代码定义了一个判断字符串是否为数字的函数isNum()。函数首先去除字符串两端空格,然后依次判断是否为复数(包含j/J)、浮点数(包含./e/E)或整数,通过尝试转换类型来验证。若转换失败则返回False和"非数字",成功则返回True和相应数字类型。主程序从用户输入获取字符串并调用该函数输出结果。
2025-11-06 09:35:01
104
原创 UDP实现客服与客户的咨询对话
本文展示了一个基于UDP协议的简单客服系统实现代码。客服端通过socket绑定8888端口接收客户消息,当收到"bye"时结束会话;客户端通过输入发送消息到客服端,同样以"bye"作为结束对话的信号。该示例演示了基本的UDP网络通信流程,包括socket创建、绑定、消息收发等核心操作,实现了一个简单的双向文字对话功能。
2025-10-22 16:55:05
258
原创 UDP的一次双向通信
本文展示了一个基于UDP协议的简单网络通信程序,包含发送方和接收方两个部分。发送方通过socket创建UDP套接字,向指定IP和端口(127.0.0.1:8888)发送用户输入的数据,并等待接收回复;接收方绑定相同端口,接收数据并显示后,再发送回复消息给发送方。两方都使用UTF-8编码进行数据传输,最后关闭socket连接。代码实现了基本的双向UDP通信功能。
2025-10-22 15:51:58
229
原创 TCP多次通信服务器端与客户端代码编写
本文展示了Python实现的TCP服务器端和客户端通信代码。服务器端创建socket套接字并绑定IP和端口(127.0.0.1:8888),设置最大连接数为5,通过accept()等待客户端连接。通信采用轮询方式,服务器与客户端互发消息直到收到"bye"为止。客户端通过connect()连接服务器,实现双向通信。代码中服务器和客户端都遵循创建套接字→建立连接→收发数据→关闭连接的流程,使用utf-8编解码处理数据,演示了基本的TCP网络通信实现。
2025-10-22 14:23:30
195
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅