自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 资源 (2)
  • 收藏
  • 关注

原创 QT的UDP协议

UDP协议:客户端并不与服务器建立连接,它只负责调用发送函 数向服务器发出数据报。类似地,服务器也不从客户端接收连接,只负责调用接 收函数,等待来自某客户端的数据到达客户端:端口号:quint64//初始化端口quint64 port = 5555;//1.初始化套接字。QUdpSocket udpSocket = new QUdpSocket(this);//2.绑定端口 (监听端口,当有程序向本机的port端口发送消息(UDP数据报)时,套接字就会收到)//绑定固定.

2020-10-28 11:02:23 886

原创 C++常用头文件小结

标准 C++#include <algorithm>    //STL 通用算法#include <bitset>     //STL 位集容器#include <cctype> //字符处理#include <cerrno> //定义错误码#include <clocale> //定义本地化函数#include <cmath> //定义数学函数#include <complex>   //复数类

2020-10-16 08:23:19 256

原创 idea的增删查改架构

1)、RestfulCRUD:CRUD满足Rest风格;URI: /资源名称/资源标识 HTTP请求方式区分对资源CRUD操作 普通CRUD(uri来区分操作) RestfulCRUD 查询 getEmp emp---GET 添加 addEmp?xxx emp---POST 修改 ...

2020-10-07 19:41:46 318

原创 idea的自定义错误页面

模板引擎的情况下;error/状态码; 【将错误页面命名为 错误状态码.html 放在模板引擎文件夹即templates里面的 error文件夹下】,发生此状态码的错误就会来到 对应的页面;页面能获取的信息;timestamp:时间戳status:状态码error:错误提示exception:异常对象message:异常消息errors:JSR303数据校验的错误都在这里IDEA为2.xx 版本 配置文件中添加#获取错误信息server.erro...

2020-09-28 10:56:30 471

原创 Java的反射机制

需要java.lang.class包和java.lang.reflect包获取Class对象jdk提供了三种方式获取一个对象的Classuser.getClass(),这个是Object类里面的方法 User.Class属性,任何的数据类型,基本数据类型或者抽象数据类型,都可以通过这种方式获取类 Class.forName(""),Class类提供了这样一个方法,让我们通过类名来获取到对象类这三种方法用的最多的就是第三种,那么获取到类之后,Class类提供了很多获取类属性,方法,构造方法的

2020-09-18 10:55:30 97

原创 C#的委托

委托又称代理委托的多点委托:意思就是一个用delegate 定义的委托关键字修饰的函数,然后把其它函数的参数个数/类型和返回值,和你声明的委托的返回值和参数个数/类型相同添加到当前的委托列表中,那么这个委托就可以实现你所定义的方法(只是声明,没有实现;用一种方法去实现不同的操作,类似函数指针去指向不同的函数地址)代码展示 class test { public test() { } public i

2020-09-08 15:33:13 101

原创 QT的TCP协议

客户端:IP地址 :QString端口号:int设置服务器主机地址:QHostAddress::setAddress(IP地址)TCP套接字 用来接收和发送数据的 QTcpSocket与主机连接: QTcpSocket::connectToHost(服务器主机地址,端口号)QTcpSocket与主机连接成功: [signal] void connected()QString msg=userName+":"+sendLineEdit->text(); //格式转..

2020-09-04 14:56:58 530

原创 QT操作数据库

QT连接数据库步骤:1.使用QSqlDatabase连接数据库://数据库连接函数QSqlError ConnDlg::addConnection(const QString &driver, const QString&dbName, const QString &host, const QString &user,const QString &passwd, int port){//QSqlError 对象,里面保存数据库相关错误信息QSql

2020-08-28 14:56:04 173

原创 SpringMVC框架

1、概念 SpringMVC是一种基于Java,实现了Web MVC设计模式,请求驱动类型的轻量级Web框 架,即使用了MVC架构模式的思想,将Web层进行职责解耦。1、编写Controller(Action),即一个带有N个方法的类。 通过@Controller注解 将其定义为一个Controller。 通过@RequestMapping 注解 为其指定请求访问路径。 在方法内通过return 返回指定视图。2、编写jsp页面。 Jsp请求路径为Controller中RequsetMapping指

2020-08-09 19:59:27 128

原创 2048游戏

游戏开局创建两个为2的数字:通过按键‘左’移动后,原所有数字向左移动,并产生一个数字2,显示如下:通过按键‘下’移动后,原所有数字向下移动,并产生一个数字2,显示如下:通过按键‘右’移动后,原所有数字向右移动,并产生一个数字2,显示如下:通过按键‘上’移动后,原所有数字向上移动,并产生一个数字2,显示如下:游戏失败提示得分,有效步数,所用时间:游戏成功的话,也是同理提示的(目前还没玩成功过)。...

2020-06-18 17:07:17 153

原创 TabLayout+ViewPager2+Fragemnt实现切换不同界面

技术点总结:首先在需要在build.gradle中添加 //TabLayout implementation "com.google.android.material:material:1.1.0" //viewpager2 implementation 'androidx.viewpager2:viewpager2:1.0.0'然后在界面布局中添加谷歌的TabLayout以及ViewPager2<!--app:tabGravity="fill" 填充...

2020-06-05 17:08:46 1698 1

原创 Android动态生成控件

技术点总结:首先在layout的界面xml文件中,设置LinearLayout容器内容显示格式,然后自定义类(ReserveOrderDetail)将获取到的数据,添加到序列化列表List<ReserveOrderDetail> orderDetails列表中,然后将orderDetails数据给到类(ReserveOrderDetail)对象orderDetail1,再通过orderDetail1即可变量遍历出来,再将数据设置到指定的layout中,然后逐一设置到动态生成容器当中即可完成动态生

2020-05-27 16:08:04 492

原创 Android轮播图片

第一步在build.gradle(app)中添加dependencies {//开源轮播控件implementation 'com.youth.banner:banner:2.0.7'//谷歌官网 recyclerviewimplementation 'androidx.recyclerview:recyclerview:1.1.0'//开源图片加载框架 提供图片的缓存implementation 'com.github.bumpte...

2020-05-14 15:15:18 222

原创 实现快速排序

原理:找出一个数字,然后从该数列的右边找一个数比该数字大的第一个数,填入该数的位置中去,然后又从左往右找第一个数大于或等于该数字的数,然后填入上一个数的位置中去(也就是上一次找比该数字大的第一个数的位置中去)直到i和j相遇就停止循环,再排序它右边和左边就OK了。代码:voidquickSort(ints[], intf, intr){if(f< r){...

2020-05-07 16:39:29 477

原创 QT多线程简单实例

【例】(难度一般) 如图所示,单击“开始”按钮将启动数个工作线程(工作线程数目由MAXSIZE宏决定),各个线程循环打印数字0~9,直到按下“停止”按钮终止所有线程为止.具体步骤如下。(1)在头文件“threaddlg.h”中声明用于界面显示所需的控件,其具体代码如下:#include <QDialog>#include <QPushButton&gt...

2020-04-27 15:59:10 3145 1

原创 关于SendMessage和PostMessage函数消息区别

SendMessage和PostMessage这两个函数消息的区别是:返回值类型不同:两个函数的4个参数的意义是一样的,只有返回值类型不同(其实从数据上看他们一样是一个32位的数,只是意义不一样);SendMessage的返回值类型是LRESULT:表示的是消息被处理后的返回值;PostMessage的返回值类型是BOOL:表示的是消息是不是传递成功。PostMessage是异步的...

2019-08-17 20:53:39 362

原创 MFC记事本

关于实现文件的拖拽二进制和非二进制文本文件的显示(WM_DROPFILES)消息函数,以及复制,粘贴,全选,时间日期的添加,删除,剪切功能的实现。以下展示部分关键代码:void CjishibenDlg::ReadAnsi(CFile& file)//读取方式1:ANSI //传对象传引用{ file.Seek(0, CFile::begin);//回到头开始 char b...

2019-08-17 20:50:59 424

原创 图书管理系统阶段性总结

功能实现运行程序进入主界面显示,如下功能点:新增图书新增图书:输入1进入新增图书页面,如下:在这里输入1,可以新增借阅类图书;输入2,可以新增销售类图书;输入0,则退出。输入1进入借阅类图书页面,并且按照要求输入即可完成借阅类图书新增输入9返回上一级,再进行输入2,进入新增销售类图书界面,即可新增销售类图书按照要求填写,即可完成新增...

2019-08-05 09:03:23 290

原创 冒泡排序并将整型转换char类型

编写类 String 的构造函数、析构函数和赋值函数,并冒泡排序算法,使得结果逆序输出。程序以输入十个数为例,并且包含三个部分:输入、排序、输出。排序算法必须封装为函数代码如下:class String{public: String(const char* str = NULL); // 普通构造函数 String(const String& o...

2019-07-23 11:27:39 142 3

原创 C++约瑟夫环队列实现

遵循队列的先进先出原则,通过引入队列的头文件<queue>,实现对该容器的,压入和抛出,代码量少,且容易理解。empty();如果队列空则返回真push( (这个里面加入你需要加入的元素或者结构体) );在末尾加入一个元素front();返回第一个元素back();返回最后一个元素pop();删除第一个元素size();...

2019-07-23 10:20:07 3152 3

原创 调用RECT类让窗口居中显示

在win32中声明一个空类型的函数,传参当前的界面窗口代码如下:void OnInitDialog(HWND hwndDlg)//居中显示{ RECT rect; GetWindowRect(hwndDlg,&rect); int cx = GetSystemMetrics(SM_CXFULLSCREEN);//高 SM_CYSCREEN:屏幕 ...

2019-07-18 09:23:12 328

原创 关于Unicode和多字符集[MultiByte](ANSI)

UNICODE与多字符集[MultiByte](ANSI):是两种文字编码方式。多字符集:各国文字的编码之间有些重叠的编码(编码冲突)UNICODE:各国编码统一编码如果使用了这种编码,无论中文还是英文都占两个字节wchar_t是属于双字节变量;UNICODE的字符串常量必须在前面加一个大写L;TCHAR类型是两种编码格式的自适应类型;当VS项目设置为多字符集时,TCHA...

2019-07-16 14:58:11 1360

原创 STL算法中upper_bound()

Upper_bound()在前闭后开区间查找的关键字的上界,返回大于val的第一个元素位置。首先介绍的是第一种用法:查找比某个元素大的第一个的值。代码如下: vector<int> a = { 0,2,1,5,8,7,4,9,6 }; vector<int>::iterator ite; for_each(a.begin(), a.e...

2019-07-06 20:46:42 512

原创 STL算法之find_end()和next_permutation()

Find_end()的用法是在由[first1,last1)标记的第一个序列中查找“由iteratior对[first2,last2)标记的第二个序列”的最后一次出现位置及元素。代码如下: vector<int> mydeque{ 1,2,3,4,5,1,2,3,1,3}; vector<int>::iterator itd; vect...

2019-07-06 20:45:04 195

原创 STL算法之reverse()和reverse_copy()

首先介绍的是reverse()这个以逆序的方式存放元素,到原来数组里面去。代码如下:vector<int> vi{ 7,3,9,1,0 }; vector<int> vresult(7); for_each(vi.begin(), vi.end(), [](int a) {cout << a << " "; });cout...

2019-06-22 11:24:13 383

原创 STL算法中upique()和upique_copy()

第一个说的是upique(),将重复的 相邻的 重复的元素,排到后面去,即如果两个元素 相同 但是 不相邻,则不会去排序 <先将数组排序>代码如下:vector<int> vi{ 1,2,2,3,2,1,1,2,4 };sort(vi.begin(), vi.end());for_each(vi.begin(), vi.end(), [](int n) {...

2019-06-22 11:20:04 266

原创 STL算法之find_first_of()

C++STL的非变易算法(Non-mutating algorithms)是一组不破坏操作数据的模板函数,用来对序列数据进行逐个处理、元素查找、子序列搜索、统计和匹配。首先需要引入头文件<algorithm>,其中find_first_of()查找集合中的任意一个元素。find_first_of,带有两对迭代器参数。每对迭代器中,两个参数的类型必须精确匹配,但不要求两对之间的类...

2019-06-17 10:07:18 339

原创 C++实现巴比伦算法

用于计算数字n的平方根的巴比伦算法如下:a.先猜一个答案guess(可以将n/2作为第一个答案)b.计算r = n/guessc.令guess = (guess + r)/2d.如有必要返回第2步重复多次。步骤2和步骤3重复的次数越多,guess就越接近n的平方根。写一个程序,输入整数作为n的值,重复执行巴比伦算法,直到guess与前一个guess的误差在1%范围内,将答案作为...

2019-06-17 10:05:07 803

原创 C++中文件流的输入输出

编写程序统计一个文件中的字符总数、非空白字符总数、字母总数和平均单词长度,并输出到屏 幕和输出文件output.txt。要求:统计的文件为当前工程的main.cpp。输出文件要求和main.cpp在同一级目录,且程序中要求使用相对路径表示。Output.txt.#include <iostream>#include "co.h"#include<code...

2019-06-09 19:50:15 166

原创 C++的继承关系

创建名为Vehicle(车)的基类,它含有制造商的名称(string类型)、发动机缸数(int 类型)以及车主(Person类型)然后创建Vehicle类的一个派生类Truck(卡车),它具有一些附加属性,包括载重(double类型 单位:吨)和牵引力(int类型 ,单位:磅)。类应具有合理的构造函数、取值成员函数(get)、赋值成员函数(set)、一个重载的赋值操作符以及一个拷贝构造函数。在...

2019-06-09 19:46:16 240

原创 C++的运算符重载

完成复数类的运算符重载函数,包括:基本算术运算(+、-、*、/、=) 自增自减运算(前置++、后置++、前置--、后置--) 流运算符(<< 、>>)要求:复数的形式: a+bi 代表一个复数,其中a为实部,b为虚部,i为复数符号(i2 = -1)。 运算法则:加法: (a+bi)+(c+di)=(a+c)+(b+d)i减法:(a+bi)-(c+d...

2019-06-01 16:56:56 123

原创 C++中异常处理

异常处理方法:预定义类型和自定义类型。关键字:try …throw…catch预定义类型:通过捕获异常类型来输出提示;自定义类型:通过传参,传给自定义的异常类,再通过对象提取出来,输出显示。/*预定义类型异常语句块*/int divide(int a){ if (a == 0) { throw new ex("不为0");//异常对象自定...

2019-05-26 20:57:46 103

原创 C++虚函数的用法

从类模板实例化的每个模板类有自己的类模板数据成员,该模板类的所有对象共享一个static数据成员和非模板类的static数据成员一样,模板类的static数据成员也应该在文件范围定义和初始化每个模板类有自己的类模板的static数据成员副本class A { public: virtual ~A(){ cout << "A::~A() is called....

2019-05-26 20:49:27 479

原创 C++单链表的简单实现

开发工具与关键技术:Visual Studio C++作者:华境聪撰写时间:2019/5/15具体实现要求:代码实现部分:#include<iostream>#include<string>using namespace std;struct demo{ int data; demo* next;};demo* shru()...

2019-05-16 19:51:44 353

原创 C++的n*n螺旋输出数组

开发工具与关键技术:Visual Studio C++作者:华境聪撰写时间:2019/5/15在这里用到的二维动态数组遍历,通俗易懂。#include <iostream>#include "Factorial.h"using namespace std;void show(int* a[], int n){ for (int i = 0; i < n...

2019-05-16 19:48:30 918

原创 C++终止程序执行的三个函数

开发工具与关键技术:Visual Studio C++作者:华境聪撰写时间:2019年4月30日C++中,为程序的终止提供三个函数,这些函数用于处理程序的调试和找错误等一些异常问题第一个abort()函数。该函数主要功能,中断程序的执行,返回C++窗口中。需要包含系统头文件stdlib.h声明使用。实例: 第二个assert(int e...

2019-04-30 14:18:01 30220

原创 C++的三种参数传递机制

开发工具与关键技术:Visual Studio C++作者:华境聪撰写时间:2019年04月30日三种参数传递可分为值传递,指针传递,引用传递。第一种值传递:形参是实参的拷贝,改变形参不影响外部实参的值。值传递是单向的(实参赋值给形参),参数的值只能传入,不能传出。例如:如下显示输出结果:在这里并没有改变实参x和y的值。第二种指针传递:形参指针对应的是...

2019-04-30 14:16:01 582

原创 C++的存储特性

开发工具与关键技术:Visual Studio C++作者:华境聪撰写时间:2019年 04月 30日存储特性分为4个区域:代码区、全局数据区、堆区、栈区。第一个代码区:主要用于存放程序代码。第二个全局数据区:存放程序的全局数据(main函数之前,函数的外部)和静态数据(static关键字修饰的变量,默认初始化为0,静态变量只会被初始化一次)。例如,静态变量和局部变量的输出...

2019-04-30 14:13:18 188

原创 C++常用的数据类型

开发工具与关键技术:Visual Studio、C++作者:华境聪撰写时间:2019年4月19日这个是在学习C++一段时间之后的,所用学习到的数据类型进行说明下:首先基本类型有:整型(int),4个字节,表示范围:-2147483648~2149483647;浮点型(float,double):float (单精度)4个字节;double (双精度)8个字节,-1.7*1...

2019-04-19 20:05:29 1424

原创 C++的表达式说明

开发工具与关键技术:Visual Studio、C++作者:华境聪撰写时间:2019年4月19日首先表达式可以分为:算术表达式、逻辑表达式、赋值表达式、条件表达式、逗号表达式。算术表达式:算术表达式由算术运算符和操作数组成,结果值是算术值。基本算术运算符有:+ ,- ,* ,/ ,%(求余数) sizeof(求字节); 其中在写算术表达式的时候注意区分(引用符号及取址符号的位...

2019-04-19 20:04:02 750

VC++Win32程序的2048小游戏

值得刚开始学VC++的童鞋们编程学习,面向对象以及Windows的API相关知识的应用,利用键盘的上下左右实现每行每列的相加得分

2020-09-01

QT5.13.1的MySQL所需文件.rar

先检查自己mysql方面的工作是否完善,再把文件解压放到相应位置即可。注意:只适合QT 5.13.1版本使用。。

2020-05-14

空空如也

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

TA关注的人

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