![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
你有什么超能力
这个作者很懒,什么都没留下…
展开
-
读取系统磁盘显示
读取系统磁盘显示Dialoge.cpp例子原创 2020-05-18 19:08:17 · 186 阅读 · 0 评论 -
电子钟
电子钟//实力原创 2020-05-08 15:58:24 · 233 阅读 · 0 评论 -
一个简单自定义动画控件
今天在Qt给大家实现一个简单的自定义动画控件, 在Qt中可以通过继承的手段去实现自定义的动画控件, 如图为一个继承QLabel的类, 通过Q_Property宏来规定继承后的类可通过动画修改的属性,图中类使QLabel实现颜色的改变在cpp文件中, 我们实现它的getColor和setColor方法, 并通过鼠标移入移出事件来改变QLabel的背景颜色以及字体颜色, 如图最后实现效果如图...原创 2020-04-27 22:49:31 · 191 阅读 · 0 评论 -
C++文件读写
使用c++的io对象, 可以实现对文件的读写, 读写分两种形式, 一种为文本形式读写, 一种为二进制读写, 文本读写时, 文件输入输出都以文本编码, 二进制读写时, 文件输入输出都以二进制编码.文本输入输出时, 一般使用重载后的操作符”<<”和”>>”, 二进制输入输出时, 一般使用write, read函数, 如图为实现一个文本形式的读入通过一个while循环读取文...原创 2019-06-27 20:16:43 · 110 阅读 · 0 评论 -
进库
今天给大家分享一下 如何进库, 如图为代码如图, 一个进库操作它首先提示输入, 并提示拥有的资金, 通过获取输入值对已有图书进行遍历, 找到要进货的图书后, 提示其进货价格, 并提示输入进货数量, 当进货需要的金额大于现有资金时, 则清空输入使其重新输入进货数量, 都输入无误后则更新要进货的图书库存, 并更新现有资金, 提示进货成功后跳出, 如图为根据图书编号或书名查找图书的方法...原创 2019-07-07 14:40:00 · 291 阅读 · 0 评论 -
售出
今天, 给大家分享一下如何售出图书, 如图为售出代码首先提示用户输入售出的图书编号或书名, 调用上篇进货所用到的查找方法, 若查找到则判断是否为销售类图书, 如不为销售类图书则提示用户该书不能销售并重新输入, 为销售类图书的话则提示用户输入要售出的数量, 若输入数量大于该书库存则提示库存不足并让用户重新输入, 成功售出后调用一个方法处理后续操作, 并提示用户售出成功, 如图为调用的后续操作方法...原创 2019-07-07 14:54:21 · 140 阅读 · 0 评论 -
借阅
今天, 给大家分享一下如何借阅图书, 如图为借阅代码首先提示用户输入售出的图书编号或书名, 调用上篇进货所用到的查找方法, 若查找到则判断是否 为借阅类图书, 如不为销售类图书则提示用户该书不能借阅并重新输入, 为借阅类图书的话则判断是否有库存, 如库存无图书则提示库存不足并让用户重新输入, 然后提示用户 输入要借阅的天数, 若输入数量为0则让用户重新输入, 成功输入后调用一个方法处理后续操作...原创 2019-07-17 14:49:42 · 194 阅读 · 0 评论 -
查询全部图书
今天给大家分享一下 如何查询图书, 如图为代码如图, 一个查询操作它首先提示输入, 若用户输入1则进入查询全部图书页面, 并加入一个bool变量用于跳出页面直接到主页面, 然后提示用户要选择的排序方式, 此处使用STL标准库中的排序算法, 写法为Lambda表达式, 通过该算法实现排序后, 调用一个处理输出流的函数将容器内的数据显示出来, 如图为处理输出流的函数...原创 2019-07-17 14:51:36 · 747 阅读 · 0 评论 -
查询部分图书
今天给大家分享一下 如何查询图书, 如图为代码 如图, 查询部分图书与上一篇中查询全部图书对接, 输入1则进入查询全部图书界面, 输入2则进入查询部分图书界面, 并加入一个bool变量用于跳出页面直接到主页面, 然后提示用户要查询的书名或编号, 此处调用之前进货售出借阅都使用过的查找方法, 查找到后就放入一个容器内, 然后调用一个处理输出流的函数将容器内的数据显示出来, 如图为处理输出流的函...原创 2019-07-26 10:03:07 · 126 阅读 · 0 评论 -
统计
今天, 给大家分享一下如何统计图书, 如图为统计代码该处使用了STL库中的累加算法, 写法为Lambda表达式, 即可以通过一个简单的语句实现一个统计,算法执行完后提示用户输入, 1为显示现存图书数量, 2为新增图书数量, 3为借出图书数量, 4为售出图书数量.在新买入的图书数量显示实现时, 我通过计算得到容器内的图书库存, 再得到文件中的图书库存, 将它们相减得到一个库存差再加上本次购入图...原创 2019-07-26 10:05:10 · 99 阅读 · 0 评论 -
图书导入
今天给大家分享一下 如何导入图书, 如图为代码如图, 提示用户输入1进行导入, 用户输入1后提示用户输入要导入的文件路径, 对文件进行文本形式读取, 并将系统原有的图书数据进行覆盖, 此时 判断是否有数据存在, 如有则提示用户导入成功, 否则提示用户导入失败, 下图为调用的读取文件函数部分的文本形式读入...原创 2019-08-07 17:01:05 · 315 阅读 · 0 评论 -
图书导出
今天, 给大家分享一下如何导出图书, 如图为导出代码如图提示用户输入2进入导出界面, 输入2后提示用户输入要导出的文件名, 导出结束后提示用户导出成功下图为导出调用的函数代码...原创 2019-08-07 17:05:09 · 437 阅读 · 0 评论 -
图书管理类设计
今天给大家分享一下图书管理类的设计, 如图为代码如图, 该类负责界面切换合各界面功能的实现, 它使用了单例模式, 以实现整个系统仅使用一个类对象, 且有一个静态的图书容器用于存放图书数据, 并实现了对金额和收益的存储.如图为对图书数据存放的文件进行读取数据, 以二进制方式,如图为文件内部分图书数据...原创 2019-08-17 20:05:10 · 215 阅读 · 0 评论 -
图书类设计
今天, 给大家分享一下如何设计图书类, 如图为图书类代码如图为图书类, 它具有自己的一些属性, 并且有两个分别为计算收益和获得图书类型的纯虚函数, 也就是说图书类被设计为用于被继承的抽象类下图为两种图书类型的枚举, 分别为借阅类和销售类下图为继承于图书类的借阅类图书类代码下图为继承于图书类的销售类图书类代码...原创 2019-08-17 20:07:06 · 330 阅读 · 0 评论 -
Makefile对文件分类打包
通过Makefile可以实现一次性编译多个cpp以及h文件, 相应的, 只需略加处理, 则可将编译好的.o文件存放到指定文件夹内.如图, 为一个简单的Makefile它对三个cpp文件进行编译, 分别是main.cpp, BookManger.cpp, Books.cpp, 在这个Makefile中, 首先声明了一个变量obj赋值为编译后的.o文件, 一个main目标, 依赖于变量obj, ...原创 2019-06-27 20:14:20 · 1100 阅读 · 0 评论 -
图书管理系统--新增图书
如图为新增图书的方法参数i用于判断用户是想新增的图书类型, 中间在用户输入书名时对容器遍历判断是否存在, 并在用户新增销售类图书时判断销售价格是否大于进货价格, 如不大于则让用户重新输入, 以上输入都无问题后才创建用户想新增的相应图书类型的对象, 并将其添加到书籍容器中, 此处数据还没有保存到文件中....原创 2019-06-17 08:09:56 · 1280 阅读 · 0 评论 -
图书管理系统--读取文件数据
实现一个简单的图书管理系统, 其数据保存在一个二进制文件中, 那么当要获取到所有的图书信息时, 就得对文件实行读取操作, 并且将其保存于一个容器内, 以方便之后对数据的操作, 具体实现如图在这个方法中, 首先声明了一个ifstream的对象in用于读取文件, 然后声明了图书编号, 库存, 书名等变量, 然后用一个while循环读取文件并保存到变量中, 在循环内部判断图书类型分别创建对象并保存...原创 2019-06-17 08:02:56 · 897 阅读 · 0 评论 -
C++外部变量定义与使用
不同于Java与C#, C++的变量与函数不一定存在于类中. 在C++中, 定义于函数外的变量称为外部变量, 函数内的变量称为局部变量, 也叫自动变量. 外部变量只能被定义一次, 而且在函数内对外部变量的引用必须进行声明, 可用extern语句进行显示声明, 也可以上下文隐式声明, 假如在函数内定义了与外部变量名称相同的变量, 则不会使用外部变量, 而是以当前定义变量使用.如图在main函数...原创 2019-04-26 19:54:49 · 11973 阅读 · 0 评论 -
C++在函数调用时实参求值顺序探讨
在C++中, 函数调用时实参的求值顺序并没有被规定, 也就是说不同编译器下, 产生的运算结果可能不同, 此处以VS为开发工具, 仅探讨在VS中C++在函数调用时对实参求值顺序的一个处理流程.首先如图定义了一个newtest函数用来输出main函数传递过来的值, 接受参数为三个, 在main函数中定义了i, j两个变量并初始化为1, 首先我们只用到i, 依次传递给newtest函数++i, i,...原创 2019-04-18 08:56:33 · 2010 阅读 · 2 评论 -
二进制与八, 十六进制的转换技巧
涉及到内存, 我们都知道计算机cpu进行储存运算的都是以二进制.在C++中, 指针类型作为一种指向内存地址的类型, 在32位系统中, 它的计算范围是0x0000 0000 – 0xFFFF FFFF, 也就是说, 在32位系统中指针类型的长度实际上是4个字节(32/8=4).那么, 0xFFFF FFFF转换为二进制该如何转换呢, 实际上非常简单, 对于八进制, 十六进制转换为二进制, 我们只需要...原创 2019-04-18 09:07:57 · 1054 阅读 · 0 评论 -
动态生成螺旋数组
利用二维数组, 实现一个如图的5x5螺旋数组并不难, 利用一个多层循环的嵌套即可, 根据这种生成5x5的螺旋数组原理, 实际上可以衍生出一个动态生成螺旋数组的方法.首先, 提示用户输入想生成的螺旋数组大小其次, 声明7个变量, 与一个动态二级指针和一个一级指针此处之所以不用指针数组而用二级指针的原因是指针数组不能被动态定义, 必须以{}形式初始化, 而二级指针实际上与指针数组的操作方...原创 2019-05-08 16:50:08 · 429 阅读 · 0 评论 -
字符数组与字符串
字符数组是 C++语言较常用的数组类型, 字符数组与字符串在本质上差异不大, 只是在用法与意义上有所不同, 如图定义一个字符串与字符数组也可以将一个字符串常量直接赋值给一个字符数组, 如图虽然字符串hello的长度不足10, 但编译器是可以通过此条语句的, 编译器会根据字符数组长度自动补’\0’, 且此处字符串hello虽然只包含5个字符, 但其长度为6, 编译器会对一个字符串后自动添加’...原创 2019-05-08 16:53:20 · 278 阅读 · 0 评论 -
C++中的操作符重载
在C++的类中, 我们可以对操作符重载, 何为操作符重载, 顾名思义, 即重写操作符的方法. 如, 在编译器中, 我们可以对两个整型进行加减乘除的运算, 但如果对两个类的对象进行加减乘除, 则会报错, 通过操作符重载, 我们可以实现对类对象的加减乘除以及其他各种操作, 最典型的如输入输出.如图为一个复数类.在它的声明部分, 有一个带两个参的构造函数, 以及对加减乘除的操作符重载, 以及前置后...原创 2019-05-16 19:49:22 · 263 阅读 · 0 评论 -
C++中的上溯造型体现
在所有面向对象语言中, 都隐含了上溯造型这一概念, 那么什么是上溯造型, 如声明一个基类A, 再声明一个类B继承于A, 声明一个函数, 使其参数为A类型, 那么即使我们在函数调用时传入B类型的对象, 也是可以被编译器通过的, 这其中就隐含了上溯造型这一概念. 上溯造型肯定是安全的,因为我们是从一个更特殊的类型到一个更常规的类型。换言之,衍生类是基础类的一个超集。它可以包含比基础类更多的方法,但它至...原创 2019-05-16 19:51:28 · 273 阅读 · 0 评论 -
实现一个简单等边多边形类
作为一种面向对象高级语言, 利用C++可以实现一些生活中常见的类, 如图实现了一个等边多边形类, 它包含了一部分等边多边形应有的方法.其中Polygon为多边形类, 它包含一个两个参的构造函数用于对边长与边数进行初始化, 一个用来显示周长的方法showC, 和一个显示面积的方法showArea, 其中显示面积的方法作为纯虚函数, 因此多边形类实际作为抽象类使用. Square为正方形类, Tr...原创 2019-05-27 09:54:59 · 1375 阅读 · 0 评论 -
C++中IO流的简单使用
在C++中, 有封装好的IO流类以供使用, 利用IO流类可以实现对文件的读写以及输入输出, 如图, 要使用IO流类首先要包含头文件其中iostream用于输入输出,fstream用于对文件的操作, 比较常用的如cout, cin都是iostream中的对象, 用于实现控制台输入输出. fstream中提供了ifstream类用于读文件, ofstream类用于写文件, 还有fstream用于读...原创 2019-05-27 10:01:59 · 410 阅读 · 1 评论 -
Generate_n算法
在C++的标准STL库中, 提供了容器与许多对容器操作的算法, 以及一些其他的东西, 因为不再本文献范畴内则不举例, 通过STL库中已经封装好的容器操作算法,我们可以省去很多要去实现一个容器操作的代码, 要应用STL中的算法, 首先需要引入算法头文件, 如图引入该头文件和我们需要的容器头文件, 就可以通过调用方法的方式实现一些对容器的操作了, 例如拷贝, 旋转, 插入, 排序等等, 该篇主要讲...原创 2019-06-09 11:38:13 · 527 阅读 · 0 评论 -
Partial_sort_copy算法
在C++的标准STL库中, 提供了容器与许多对容器操作的算法, 以及一些其他的东西, 因为不再本文献范畴内则不举例, 通过STL库中已经封装好的容器操作算法,我们可以省去很多要去实现一个容器操作的代码, 要应用STL中的算法, 首先需要引入算法头文件, 如图引入该头文件和我们需要的容器头文件, 就可以通过调用方法的方式实现一些对容器的操作了, 例如拷贝, 旋转, 插入, 排序等等. 该篇主要讲...原创 2019-06-09 11:40:17 · 215 阅读 · 0 评论 -
Makefile简单使用
大部分集成的IDE都实现了自己的make命令, 如我们常用的visual studio, 只不过visual studio已经帮助我们完成了make命令而已, 那么makefile到底是什么呢, 就我理解的来看, makefile其实相当于编译命令的集合, 只需一个make命令即可编译项目内所有文件, 日常我们使用visual studio可能没这种感觉, 通常都是ctrl + f5之后visua...原创 2019-06-09 11:42:20 · 99 阅读 · 0 评论 -
图书管理系统--读取文件数据
实现一个简单的图书管理系统, 其数据保存在一个二进制文件中, 那么当要获取到所有的图书信息时, 就得对文件实行读取操作, 并且将其保存于一个容器内, 以方便之后对数据的操作, 具体实现如图在这个方法中, 首先声明了一个ifstream的对象in用于读取文件, 然后声明了图书编号, 库存, 书名等变量, 然后用一个while循环读取文件并保存到变量中, 在循环内部判断图书类型分别创建对象并保存...原创 2019-06-17 08:02:56 · 2220 阅读 · 0 评论 -
for, while, do-while
在当前流行的所有编程语言中, 几乎都实现了for, while, do-while三种循环.对于这三种循环, 其本质意义是差不多的, 当然, 对于用for实现的一个循环语句, 我们也可以写成while, do-while的形式, 反之也是如此, 三种循环除去do-while更特殊一点, 其他两种实际上差距不大, 当然还是有细微差距的.for循环包含三个表达式, 如图第一个表达式为初始化表达式...原创 2019-04-26 19:46:11 · 105 阅读 · 0 评论