自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 问答 (1)
  • 收藏
  • 关注

原创 Netty分布式聊天室 - 语音视频聊天

基于Netty的分布式聊天室的项目到此结束,这只是一个示例项目,还需要丰富一下细节, 但正常的使用已经没有问题了dftdla/NettyChatCloud - 码云 - 开源中国 (gitee.com)

2023-12-05 18:05:50 718

原创 Netty分布式聊天室 - 群聊功能

群聊功能如下:创建群聊、加入群聊、退出群聊、获取群聊成员、在群聊中发送消息基于我们之前对于私聊的完善,实际上群聊功能对于我们目前的系统而言只是crud的重复操作。

2023-12-03 18:07:59 536

原创 Netty分布式聊天室 - 单聊缓存消息优化

前文提到我们的单聊只缓存了一条数据,这只是测试整个流程用的中间状态对于实际的聊天室,这显然是不合理的我们只需要把redis缓存的数据类型改为List,如此一来,不论是什么类型的消息,只需添加到缓存List里就可以,当用户登录上线或消息队列处理数据时,抢夺分布式锁成功后,将缓存的消息返回给用户端即可。

2023-12-02 19:10:30 259

原创 Netty分布式聊天室 - 私聊功能实现

如果直接渲染,实际上为了匹配到数据,我们还需要添加对聊天数据添加一个由前端来生成的唯一值(针对同一个用户即可,可以使用userId + 时间戳的形式),sql数据库中不需要保存,只用于ws服务端和客户端的交互即可,这里可以在message中新增一个tempId,然后在ChatMsg实体类中新增一个同类型tempId即可。如果有一个服务器寻到了,并且数据发送成功,这时候其他服务器不用再执行,那么我们就需要用到redis进行服务间通信,如果服务器发现数据不在redis中,则直接跳出操作。

2023-12-02 16:18:33 555

原创 Netty分布式聊天室 - 登录功能实现

如此一来,后续handler接收到的请求都是合法请求,不需要验证权限,但指令数据是否合法还需判断,如果不嫌麻烦可以对Message添加一个自检方法,在WebSocketHandler这里运行一次自检也可以,我们后续默认指令数据合法。这里有一个登录时拉取消息的问题:对于离线消息,我们存储在Redis中,如果Redis执行淘汰策略,把数据清空了,我们该如何判断离线消息?这里我的思路是:在数据发送时存储数据,缓存离线消息,如果离线消息被删除,则用户通过漫游查询消息(类似微信太久没登陆会导致消息丢失)

2023-12-02 15:28:00 203

原创 Netty与SpringBoot的初步整合

当运行启动类时,我们要异步加载ChatServer.run(),这里使用之前文章提过的初始化接口的方式:CommandLineRunner,重写它的run方法,然后运行ChatServer.run即可,这里将运行方式写为一个接口,方便我们调用接口检查是否执行。以上就是对项目的初步改造,目前已经写完了私聊,剩下的就是业务完善,把思路构思地差不多才来开始做记录,难免会有些细节没有提到,需要了解的同学可以留言或者私信我。右键选择MybatisX-Generator。对于指令处理延用原本的方式,不得不说很巧妙。

2023-12-02 15:03:00 192

原创 监听邮件转发飞书机器人(webhook)

定时执行邮件列表过滤流程,当检测到是未读的告警日志邮件时,将邮件富文本转为普通文本,经过post json方式推送至webhook地址(这里使用飞书机器人)

2023-08-22 16:52:43 1289 1

原创 Azure的tts文本转语音服务使用

解决azure的tts服务播报导致的音频数据获取太慢的问题

2023-07-07 15:21:58 1199 3

原创 SpringBoot重启后首次接口请求慢的问题

我们可以配置一个Bean,在服务创建之后请求服务的某个接口,来完成服务的预热。首次请求接口时 响应时间经常会达到 1-2秒。项目上线后影响不大,但解决了总不是坏事。

2023-04-25 22:28:17 1362 1

原创 简单整理SpringCloudAlibaba+SpringSecurity+JWT

各部分的使用请直接按照REDME文档的介绍,League-core中配置的yml文件只作为使用各组件时的配置参考,是不生效的。耗时两星期整理出了这个十分简易的微服务使用项目。

2023-04-01 14:56:52 409

原创 ThreadLocal获取不到值

首先确定整个流程下来,线程Id一致,以此排除非同线程而导致的存储空间为空。

2023-03-30 13:36:58 1084

原创 An expected CSRF token cannot be found

注册这个bean即可解决问题。

2023-03-25 13:23:11 2426

原创 boot打包 项目导入配置无效

今天自己制作了几个jar包,导入坐标后无法读取配置,总结了以下两点。yml配置无效,无法导入包中的yml配置。

2023-03-23 14:26:56 54

原创 maven install无效的发行版本:11

maven运行的jdk保持和项目一致,即可解决问题,不要轻易更改哈。

2023-02-23 20:41:04 295

原创 idea半天搭建属于自己的个人博客,支持二次开发,springboot+vue+mysql

一文教你部署一个轻量级博客项目,本项目针对初学者,支持二次开发

2022-11-07 18:09:03 1358

原创 Mysql连接报错1045 springboot yml create connection SQLException errorCode 1045, state 28000

idea打包问题是网上常见的,阿新一直用package打包,对于多模块项目是可行的,但是本博客项目只有一个模块,打包出现了一些问题,换成install就行了,本地正常运行,部署到服务器之后却出现了问题,数据库一直连不上。阿新搜了大半天,各种解决方案五花八门,还是没有解决问题,最后在一篇文章的配置下,大胆尝试了给密码加个引号的重大解决方案,没想到就这么解决了。你永远也不知道bug在哪儿,它或许在你脸上,淦。

2022-11-07 09:07:20 464

原创 博客进入尾声

博客的设计已进入尾声,阿新接下来将优化一下文章显示,添加评论区,丰富一下管理后台,然后项目开源,再深入到后续的学习中,目前用到的还是SpringBoot+MybatisPlus+Vue+Element-Plus+V-md-editor,整理了一下他们的使用方法后,很多地方受益匪浅,有些解决方案可以直接用在开发中充实自己,大步向前。

2022-11-04 14:45:44 285

原创 v-md-editor插入本地图片

v-md-editor并没有给我们实现在editor中插入本地图片,这需要我们自己手动实现,最近两天考虑多种情况,还是决定采取很经典的解决方案:在数据库存储图片的从属关系以及其保存路径和图片名称,然后通过访问后端服务器来获取图片,这两天都在折腾其他事情,今天才来得及解决,下面是具体实施:首先我们结合官方文档说明来思考方案。

2022-10-28 15:30:15 1943

原创 关于引入MD编辑器的前后端方案

这里需要注意的是pojo文件对应的Article的time数据类型应是LocalDateTime,否则在更改数据时会报错,其次label的使用方式应为“多个标签集中”如:"标签1 标签2",以某种符号连接起来(这里使用空格)到此为止,有关个人博客的比较棘手的问题已经解决一半了,在前端的布局与路由调整之后,下面的重点就是评论区、后台管理,主题与背景图等需要审美的东西,就在本项目开源后留给各位小伙伴了。早上看了很多不同的编辑器,最后选择了这个比较简单便捷的。使用方法很简单,具体请看我的这篇博客。

2022-10-25 16:44:46 920

原创 前端全局方式与后端SQL冲突

自定义的错误处理可以像下面被注释掉的代码一样,我们可以通过getMessage获取错误信息的字符串,以此判断错误类型并做出反馈,错误CODE要遵守result包下的CODE类哈,全局SQL冲突处理设置之后,我们注册用户的代码可以非常简洁。首先解决前端方面的全局方法挂载,这里阿新使用了插件的方式为vue添加了一个全局混入,后端SQL使用了全局SQL错误处理的方式进行解决。public int setByUser(User user) {//service层 返回insert新增数据的id。

2022-10-24 12:15:13 536

原创 个人博客前后端设计

前后端分离项目最核心的问题就是跨域访问以及数据交互问题,因此继博客BGM之后,阿新决定先搭建好后端项目的框架,目前仅使用了SpringBoot和MybatisPlus,导入了redis的坐标,后续需要用到其他jar包会继续在博客中更新。只创建了一个user表,目前先把登录测试成功即可,至于项目的配置文件和坐标就不在此赘述了,下面是部分代码仅供参考。在vue.config.js中添加如下配置,解释:'/api/user'会将地址重写为'host/user'虽然只是我的一小步,但是项目的一大步!

2022-10-23 17:34:37 306

原创 关于博客的音频BGM

在网上找了很久没有找到合适又简单的,逛网易云的时候发现它有个外链播放器,复制一下链接就能用,很方便。不太会用的同学可以访问一下我的博客文章。

2022-10-22 18:00:57 533

原创 No converter for [class XXX] with preset Content-Type ‘null‘

这玩意是真坑,Junit测试的时候要注释掉才能测试service,在Tomcat上部署时得打开才行。在网上找了半天都没解决,最后才发现是springMvc配置类。@EnableWebMvc这个注解被我注释掉了。

2022-08-08 11:52:56 1599

原创 AcWing 4398. 查询字符串

不得不说,本周的周赛都比较简单,第三题和第二题不太符合它的难度定级。这题我们可以用哈希表unordered_map来解决,做法很简单,只需把每个字符串的字串全部遍历一遍,然后给哈希表对应的值增一就行了,需要注意的只有一点,每个字符串的字串可能会有重复,我们需要加一个去重操作,如此一来,一个困难级的问题就解决了。

2022-04-10 19:04:41 203

原创 AcWing 4397. 卡牌

本题相比于其他周赛第二题是简单得多的,就是开个数组存储卡牌正反面的数之差,然后排一下序就行了。我采取的是反面减去正面,如果是负值则说明反面的值可以让总数值变小,反之则变大。在录入正面数值的时候,将正面数值依次加入到res(答案)中,然后再加上上述存储差值数组中的负值即可(同时我们要保证正面的牌数量至少有k张)

2022-04-10 16:30:07 368

原创 蓝桥杯 子串分值和

看到题目就想暴力求解,但是数据比较大,只能过50分,剩下的数据直接超时了,想拿满分那就只能另辟蹊径了。

2022-04-08 17:59:29 1071 1

原创 蓝桥杯 砝码称重(dp)

每个砝码我们都可以选择取或不取,是放在左边还是右边,首先我第一时间想到的是状态压缩,但是N太大了,数组开不出来,所以就用dp做了开一个布尔类型数组,其所代表的意义是:dp[i]=1,目前输入进来是砝码可以组合成重量i其状态变化为:a为本次输入的砝码重量;dp[a]=1;dp[a+i]=1;dp[a-i]=1;//与下面i-a取一个即可dp[i-a]=1;

2022-04-07 19:55:56 655

原创 AcWing 1904. 奶牛慢跑

题目并不难,我们只需要录入一下每头牛的信息,然后从坐标最大的牛开始操作,后面的牛如果速度比前面的牛快,那就把后面的牛的信息删除掉(因为他们最终会变成一个点),如果和前面的牛的速度一样或速度小于前牛,则保留,最终返回数组大小即可 一开始会想到用pair<int,int>,但是数据比较大,这样写会超时

2022-03-25 16:30:52 117

原创 AcWing 1913. 公平摄影

题目农夫约翰的NN头奶牛站在一维长围栏的不同位置。第ii头牛位于位置xixi,其所属品种为bibi(根西岛牛或荷斯坦牛)。所有奶牛的位置各不相同。约翰想给一段连续区间内的奶牛拍摄一张照片,用来在乡村集市上展览。但是我们希望他所有品种的奶牛都能在照片中得到公平的展示。因此,他希望确保无论照片中出现哪些品种的奶牛,每种品种的奶牛在照片中的数量都必须相等。例如,一张照片中只包含荷斯坦牛是可以的,包含荷斯坦牛和根西岛牛各2727头也没问题,但是包含1010头荷斯坦牛和...

2022-03-25 15:51:39 222

原创 AcWing 1922. 懒惰的牛

x的最大取值是1e6,开数组的话会导致内存过大,那就开个map,省事多了贝茜只能吃到离自己k距离草地中的草,那我们可以把这个范围看做一个滑动窗口,窗口的容量为2*k+1,而窗口中最大的坐标减去最小的坐标值应该小于2*k,即Xmax-Xmin<=2*k,每次只计算窗口内的青草数量,然后跟目前最大青草数做比较,最后即可得出答案AcWing 难度评定为:简单

2022-03-24 19:10:49 144

原创 AcWing 1929. 镜子田地

贝茜可以从任何角度(水平或垂直)发射激光,那我们就对数组的四条边分别搜索一遍,用一个变量储存最大折射次数,AcWing给的难度是中等,但实际上是比较简单,话不多说,直接上代码

2022-03-24 18:04:52 416

原创 scanf 和 cin 的读取效率

刚开始学习动态规划,提交HDU1231的题目时,发现两种不同的读取方式耗时差将近是一个数量级!!

2021-07-19 18:43:43 134

原创 ZZNUOJ 1230 : 亚里士多德的麦穗 C++

题目描述径直经过一片麦田,不能回头,选出你认为最大的麦穗,但是当你选择一个麦穗后,就不能选第二次。现在 surfacedust 准备经历一次亚里士多德老师很久以前给出的难题,surfacedust 有一个标准来评判这个麦穗是不是足够好。如果一个麦穗达到这个标准分,就认为这是他要选择的那个。 输入每组实例三行,第一行是surfacedust的标准分,第二行为一个整数N(N < 100000),第三行是N个整数,依次表示了每个麦穗的分数。 输出surfacedust需要

2021-07-14 08:10:37 472

Java 课程设计 高校公寓管理系统

<artifactId>standard</artifactId> <version>1.1.2</version> <artifactId>jstl</artifactId> <version>1.2</version> <artifactId>jsp-api</artifactId> <version>2.2</version> <artifactId>mysql-connector-java</artifactId> <version>8.0.28</version> <artifactId>mybatis</artifactId> <version>3.5.5</version> <artifactId>commons-io</artifactId> <version>2.11.0</version> <artifactId>javax.servlet-api</artifactId>

2023-04-26

Java 登录注册案例实例

<artifactId>junit</artifactId> <version>4.11</version> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <artifactId>commons-io</artifactId> <version>2.11.0</version> <artifactId>mybatis</artifactId> <version>3.5.5</version> <artifactId>mysql-connector-java</artifactId> <version>8.0.28</version> <artifactId>jsp-api</artifactId> <version>2.2</version>

2023-04-26

Java 学生籍贯信息.txt

//1) 创建信息并以磁盘文件保存; //2) 读取磁盘文件并显示输出所有学生的籍贯信息; //3) 按学号或姓名查询其籍贯; //4) 按籍贯查询并输出该籍贯的所有学生; //5) 能添加、删除和修改学生的籍贯信息; //备注:每个学生信息包括:学号、姓名、籍贯。

2023-04-26

Java小学计算题课程设计.txt

//1) 10以内加法的得数在不大于10的范围内; //2) 20以内加法的得数在不大于20的范围内; //3) 100以内加法的得数在不大于100的范围内; //4) 10以内减法的两个运算数在不大于10的范围内并且差为非负数; //5) 20以内减法的两个运算数在不大于20的范围内并且差为非负数; //6) 100以内减法的两个运算数在不大于100的范围内并且差为非负数; //7) 100以内乘法的得数在不大于100的范围内; //8) 100以内除法的两个运算数在不大于100的范围内并且被除数应该是除数的整数倍; //每次用户选择类型和数量后,生成符合用户选择的题目,用户可在线答题,回答完毕后,计算用户的最终成绩。

2023-04-26

Java 课程设计 万年历程序设计.zip

程序主要实现3个功能,功能选择用菜单如下实现: 1 显示某一年的日历 2 显示某年某一月的日历 3 显示某一天是星期几 0 退出 具体要求: 用户通过点击不同的按钮进入不同的菜单。 每一月以日历表格的形式显示,表格的第一行显示星期,表格的内容是每一天。 用户可以很容易看到每一天是星期几。 利用输入输出函数和循环控制语句,实现一个简单的人机交互界面。 利用逻辑表达式,使用控制语句,判断闰年,某年某月某日是星期几。 实现对显示结果进行控制。 将结果保存到以一定格式命名的文件中

2023-04-26

C++ 课程设计 对称黑白棋.zip

“Symmetry” is a new abstract strategy board game. The game rules are very simple, use the concept of symmetry, and result in a very challenging gameplay! “Symmetry” is an abstract 2-player game. Players need to create symmetrical patterns on the board to gain territory, while simultaneously preventing the opponent from creating symmetrical patterns on the board. The excact rules of Symmetry are as follows: -Black and White take turns putting stones on an NxN board (White starts). -When a stone p

2023-04-24

C++实现对称黑白棋.zip

Step 1 000 010 000 White: 1 Black: 0 Step 2 000 012 000 White: 1 Black: 1 Step 3 000 012 010 White: 2 Black: 1 Step 4 000 022 022 White: 0 Black: 4 Step 5 100 022 022 White: 1 Black: 4 Step 6 100 222 022 White: 1 Black: 5 Step 7 110 112 022 White: 4 Black: 3 Step 8 122 122 022 White: 2 Black: 6 Step 9 111 111 111 White: 9 Black: 0 White wins

2023-04-24

Java 课设 干洗店管理系统.zip

1.系统应具有功能 系统应包括模块:操作员信息管理、顾客存衣信息管理、顾客取衣信息管理、会员基本信息管理等。 (1)操作员信息管理:维护操作员信息,操作员的权限等; (2)顾客存衣信息:顾客信息录入、顾客衣物信息、收费等; (3)顾客取衣信息 (4)会员基本信息管理。 2.系统架构可以选择采用C/S结构或B/S结构;数据库系统可采用Access, SQL Server 2000等;开发工具自选。 3.系统的分析和描述中,可采用系统流程图、业务流程图、数据流程图、状态转换图、功能模块图能、E-R图、数据字典、PAD图和盒图等图形进行描述。

2023-04-24

C++实现时间显示.zip

课程设计的主要内容 (问题描述] 小蓝要和朋友合作开发一个时间显示的网站。在服务器上,朋友已经获取了当前的时间,用一个整数表示,值为从1970年1月1日00:00:00到当前时刻经过的毫秒数。 现在,小蓝要在客户端显示出这个时间。小蓝不用显示出年月日,只需要显示出时分秒即可,毫秒也不用显示,直接舍去即可。 给定一个用整数表示的时间,请将这个时间对应的时分秒输出。 [输入格式] 输入一行包含一个整数,表示时间 [输出格式] 输出时分秒表示的当前时间,格式形如HH:MM:SS,其中 HH 表示时,值为0到 23,MM 表示分,值为 0到 59,SS 表示秒,值为 0到 59。时、分、秒不足两位时补前导 0。 [样例输入1] 46800999 [例1] 3:00:00 [2 1618708103123 [样例输出2] 01:08:23 [评测用例规模与约定 对于所有评测用例,给定的时间为不超过1018的正整数。 (功能要] (1)用两个记事本文件分别保存输入样例数据和输出样例结果。 (2) 设计操作提示菜单,至少有2个功能选择:开始测试和退出。 (3)在操作界面可以循环进行多次测试,选择退出

2023-04-24

C++实现图形管理.zip

根据所学知识,编写指定题目的C++语言程序,并规范地完成课程设计报告。通过课程设计2加深对《C++面向对象程序设计》课程所学知识的理解,熟练掌握和巩固C++语言的基本知识和语法规范,掌握C++语言的基础知识,理解面向对象系统的封装性、继承性和多态性:熟练使用C语言中的函数、数组、指针、链表和字符串等基本知识:掌握类的定义、标准String类和向量; 理解掌握友元函数和重载操作符,动态数组,理解掌握继承和多态性:掌握模版的使用:能够进行程序调试过程中的异常处理:进一步掌握利用C++进行类的定义和操作方法:进一步掌握类的继承和派生方法:进一步理解虚函数和多态:综合利用上述知识,学习设计并编写面向对象的C++简单应用程序,培养解决复杂任务功能分解方法(自顶向下逐步求精、模块化设计、信息隐藏等)。 学会编制结构清晰、风格良好、数据结构适当的C++语言程序,从而具备利用计算机编程分析解决综合性实际问题的初步能力。 具体要求如下: 采取模块化方式进行程序设计,要求程序的功能设计、数据结构设计及整体结构设1计合理。学生也可根据自己对题目的理解增加新的功能模块 (视情况可另外加分)。 2、系统以菜单界

2023-04-24

C++书架书籍管理.zip

mDo s.ll “.ll 公 @o mo书组 56]16:43HD2 章节 讨论 12.1实习题目 1假设图书类CBook的属性信息包括 (书名,作者,书号,出版社,出版年月等),构建CBooks类,由CBook组成,存放文件名、不同书信息以及排序及查找功能。试用所学的面向对象技术编程实现类似实习3的功能,用一个以上cpp文件,将主调用函数和类实现功能放在不同的cpp文件中。 0在Excel表格中输入相关书名信息,一行一本书,然后输出CSV格式数据; 2)编写程序排序上述文件 3) 输出排序结果到文件中,与原文件Excel排序结果对比; 4)任意输入书名,进行查找。 5)(选做)如果有时间,可以试着使用 vector<CBook> books(10); sort(books.begin0,books.end0,compF un bool compFun(CBook book1,CBook book2) R if(book1.bookName==book2.bookl 写笔记 return(book1.author<boo2.author ); //升 DleD

2023-04-24

大数运算、单词统计、集合运算、几何运算、矩阵运算、日期运算

C++实现大数运算、单词统计、集合运算、几何运算、矩阵运算、日期运算等 内涵任务图片,可对比使用此代码,共6个文件夹 #include<bits/stdc++.h> using namespace std; string fname="大数运算.txt"; //保证 do1的参数是 s1的长度大于等于s2 string do1(string s1,string s2){//s1为前一个数 s2为后一个数 加法运算 + + int sl1=s1.size(),sl2=s2.size(); //2222333 // 19 int i=sl2,j=0;// j用于定位数字位置 i是余下需要处理的数据位数 while(i--&&++j){ bool ok=true;//判断是否超出长度 int k=j;//存储 j 方便进位 int sum1=s1[sl1-k]-'0',sum2=s2[sl2-k]-'0';//存储当前位上数字 if(sum1+sum2>=10){ s1[sl1-k]=(sum1+sum2)

2023-04-09

二叉树查关键值.cpp

#include<iostream> #include<vector> using namespace std; const int StackSize = 100; char target; class Stack { public: Stack() { top = -1; } void Push(char x) { if (top == StackSize - 1) throw "上溢"; data[++top] = x; } char Pop() { if (top == -1) throw "下溢"; char x=data[top]; top--; return x; } char GetTop() { if(top<0) return top; char x=data[top]; return x; } bool Empty() { return top == -1; } private: char data[StackSize]; int top; }; struct BiNode { cha

2023-04-09

ThingsBoard 3.4.4源码部署从零到落地

ThingsBoard 3.4.4源码部署从零到落地 包含Navicat Premuim 12数据库连接工具、PostGres数据库、Maven-3.8.5(包含部署ThingsBoard可能遇到的Jar包和pom坐标问题报错)、Node.js以及yarn安装方法、OpenJdk11以及各种环境变量的配置方法,IDea请手动装载,只能上传1000MB,带上IDea就超了哈,抱歉,各位可以在网上自行找到IDea的资源,如有需要也可留言获取 整合了ThingsBoard源码落地绝大部分(常见错误),带你避坑ThingsBoard基于源码的二次开发体验 如有新的问题,欢迎留言讨论

2023-04-05

素数、二维数组键入、奇数存入二进制、读取文件数据

京月3定义一个二维数组,并用键盘输入二维数组的元素值,将此二维数组的元素值存人文本文 件中。出2100的所有素数,将求出的素数分别送到文文件 prime.txt和二进制文件prime.dat中。送到文本文件中的结果,要求以表格形式输出,每一行输出5个素数,每一个数占用10个字符宽度。 用文本编辑器产生一个包含若实数的文本文件。编写程序,从该文本文件中依次读取每个数据,求出这批数的平均值和个数。 产生一个求出5~1000所有数的文件(二进制文件)将文件中第20个~第30个中的数读出后输出。要求通过移动文件的指针来实现文件的随机存取。

2023-04-03

C++实现大数运算,以字符形式进行数据运算

读取时将其放入字符中村粗 运算时按位运算 最后对结果处理 然后输出字符串即可 使用C++实现 解压然后使用编译器打开即可 在项目中可以直接调用 #include <iostream> #include <fstream> #include <algorithm> using namespace std; string res = ""; int borrow = 0; int i = a.size() - 1, j = b.size() - 1; while (i >= 0 || j >= 0) { int x = i >= 0 ? a[i] - '0' : 0; int y = j >= 0 ? b[j] - '0' : 0; int z = (x - borrow - y + 10) % 10; res += '0' + z; borrow = x - borrow - y < 0 ? 1 : 0; i--, j--; }

2023-04-03

C++实现书籍管理,以file格式存储信息

3,先编程实现书名升序排序输出,然后输入任意书名实现查询。 1)使用记事本编辑不少于10本书的书名,其中的书名包含有中文、英文等,最大长度不超过32字节,保存生成书名文件1。 2)程序中输入书名分隔符,读入文件1获取共有几本书M: 3)程序中动态申请存放M本书的数组,将文件1的书名装入内存中; 4)对书名进行升序排序,并保存到文件2中: 5)输入任意书名,使用折半查找算法实现查询功能: 注意: (1)用指针数组,实现书名定义的方法: const int M=10; *bookName[M]=(“书名1”.};char 1 char*a[]=(China",French",America"German》; // 初始化M本书本次实验也可以采用动态申请分配空间,如下: int M; //其中M是根据文件1得出的; char **bookName=NULL; 具体参见上传的实例11.3 TestPointer.cpp。

2023-04-03

C++链表实现简易基础功能

采用C++实现的简单链表,可按需要自行修改,编辑请使用Dev C++或Visual Code即可

2023-04-03

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除