![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
jiletianzun
一个性格开朗,技术一般还ok,喜欢做自己。
展开
-
window设置动态壁纸,使用vs 选择编译x86
【代码】window设置动态壁纸,使用vs 选择编译x86。原创 2022-09-26 17:07:18 · 196 阅读 · 1 评论 -
Qt 天气预报程序解析
3.全国大部分城市天气代码,使用第二种方式用到城市天气代码。1.qt网络类和qjson类对象的使用。2.免费的天气api网址。原创 2022-07-27 18:01:53 · 628 阅读 · 1 评论 -
c++ 字符串分割 思路 代码 测试案例
c++字符串分割思路代码测试案例。原创 2022-07-21 11:38:09 · 263 阅读 · 0 评论 -
c++ A星算法
/*作者:逍遥天尊时间:2022-5-27描述:图形界面版本的A星算法运行没有界面,原因是没有图,你需要三张图大小为50,50.图片需要放在源代码文件同级目录图片和源码文件连接附上:链接:https://pan.baidu.com/s/1eOkb1p3FI8sXEkwz2nAwUQ 提取码:rzcb --来自百度网盘超级会员V6的分享*/#include<stdlib.h>#include<stdio.h>#include<vector>.原创 2022-05-27 11:31:06 · 224 阅读 · 0 评论 -
qt 鼠标拖动控件移动
突然想做个桌面精灵,功能实现了,发现拖动精灵的时候,鼠标位置和控件位置不一致,找了很久,发现问题:qt 坐标体系,绝对坐标和相对窗体坐标要弄懂,pos()通过这个函数获取的是相对窗体坐标,globalPos()通过这个函数获取的是绝对坐标。下面是鼠标函数中代码:前提的头文件和鼠标事件函数的声明这里就不多说了//鼠标按下事件void Widget::mousePressEvent(QMouseEvent* event){ if (event->button() &.原创 2022-05-10 11:58:08 · 2122 阅读 · 1 评论 -
c++大小端判断
概念:大端模式就是高字节存储在低地址处,低字节存储在高地址处小端模式就是高字节存储在高地址处,低字节存储在低地址处举例说明:int aa=0x30313233;这是一个十六进制的整数高字节->低字节,在本例中是30 31 32 33 ,这个是人的习惯,读数都是从左往右的高地址->低地址,未知,要直到就不用计算了具体分析:结果无非两种情况,具体表现如下我们只要证实其中一种就可以。具体代码:int test1(){ int x = 0x30313233原创 2022-04-18 17:04:27 · 1250 阅读 · 2 评论 -
easyx把图片数据用二维数组存起来,再将点一个一个输出到窗体上
//烟花struct fire{ int x, y; int cx, cy; int firexy[240][240]; int r, maxr; bool isboom; bool isshow; unsigned long t1, t2, dt; //爆炸扩散速度 IMAGE fire_img;}fire1;1.定义一个二维数组2.用二维数组实现存放图片数据3.在显示缓存中显示图片4.显存中存放数据是用一位...原创 2022-01-05 17:46:32 · 1580 阅读 · 1 评论 -
c++贪吃蛇 分数-关卡-时间(都做了优化)
#define _CRT_SECURE_NO_WARNINGS #include<iostream>#include<graphics.h>#include<mmsystem.h>#include<conio.h>#include<ctime>#pragma comment (lib,"WINMM.LIB")#define Node_head_size 20 //蛇身体大小#define WIN_WIDTH 1000#defi.原创 2021-12-31 14:35:12 · 582 阅读 · 1 评论 -
window 调用api实现窗口居中、去标题栏、窗口背景透明
//去掉边框 SetWindowLong(hWnd, GWL_STYLE, GetWindowLong(hWnd, GWL_STYLE) - WS_CAPTION); //指定位置 设置窗口置顶 SetWindowPos(hWnd, HWND_TOPMOST,//置顶 (GetSystemMetrics(SM_CXFULLSCREEN) - 800) / 2, (GetSystemMetrics(SM_CYFULLSCREEN) - 800) / 2,//坐标 800, 800,.原创 2021-12-29 16:43:25 · 1558 阅读 · 0 评论 -
easyx二元光栅简单使用
1. setrop2(R2_NOTXORPEN);//二元光栅——NOT(屏幕颜色 XOR 当前颜色)2. setlinecolor(RED);//设置圆颜色 circle(50, 60, 200); Sleep(20);//停顿2ms circle(50,60, 200);//抹去刚刚画的圆在代码中事先按照1设置了光栅,再设置绘制图形、线条的颜色,第一次绘制图形或线条会按照之前设置的颜色绘制,再次绘制会自动调用背景颜色来绘制,(起到第一次正常绘制,第二次绘制起到清除图形或线条的作.原创 2021-12-29 11:49:57 · 1097 阅读 · 0 评论 -
指针、函数指针、typedef、链表
c语言动态开辟空间整个流程中使用到两种类型一个是指针本身的类型一个是指针指向数据的类型的类型举例:int* array=(int*)malloc(sizof(int));指针本身的类型:int*指针指向数据的类型的类型: int一个指针,如果变量名先和数组结合就是数组指针 int* a[3];一个指针,如果变量名先和指针结合就是指针数组 int(*p)[3] //数组指针 int* a[3]; for(int i=0;i<3;i++) a[i]=.原创 2021-12-25 22:47:16 · 456 阅读 · 0 评论 -
c 打砖块,可以无限关卡 ,显示关卡信息和得分
#include<iostream>#include<graphics.h>#include<Windows.h>#include<conio.h>#include<time.h>#define WIN_WIDHT 1100 //窗体宽度#define WIN_HEIGHT 800 //窗体高度#define WALL_WIDTH 90 //墙宽度#define WALL_HEIGHT 25 //墙高度#...原创 2021-11-22 15:16:30 · 2592 阅读 · 0 评论 -
排序算法空间和时间复杂度简单归纳
时间复杂度:插入排序、选择排序、冒泡排序 (时间平均复杂度、和最坏时间复杂度)一致,最好时间复杂度选择排序、冒泡排序为O(n),时间复杂度 时间平均复杂度 最坏时间复杂度 最好时间复杂度 空间复杂度 稳定性 插入排序 O(n2) O(n2) O(n) O(1) 稳定 选择排序 O(n2) O(n2) O(n2) O(1) 不稳定 冒泡排序 O(n2) O(n2) O(n)原创 2021-11-18 17:37:34 · 184 阅读 · 0 评论 -
五只猴子分桃。第1只猴子把这堆桃子凭据分为五份, 多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只到第五只猴子都如此分,五轮后,原来桃子总共有多少个
/* 思路: 1.根据提议,我们得到的信息有 桃子分配方式 分配的轮数 2.把得到的信息关联起来 假设最后一轮猴子分完桃子后,他本身得到1个桃子 计算得到最后一轮猴子分配时桃子的数量=6 每次分配的桃子数量是上一次分配后留下的4/5,得到上一次分配后剩余桃子数量6,然而6是无法整除4的,所以当前假设最后一轮猴子得到的桃子数量不对\ 需要更新假设猴子得到桃子的数量 3.根据题意是进行了五次分配,所以我们需要逆推五次,满足五次条件,则找到桃子数量 4.不知假设的值到底是几合适.原创 2021-11-11 17:46:01 · 950 阅读 · 0 评论 -
c 题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位
/*思路: 分析需要哪些变量和逻辑 首先: 1.存放编号的数组 2.存放参与人数的变量 3.计数变量用于累计是否+到3了,到三要开始新一轮计数 4.循环变量 5.一个指针,指向存放数组编号的数组,用于后期的赋值 6.退出人数 (循环主体的条件) 逻辑: 1.获取参与人数,存放到变量 2.循环给参与人数赋值编号 3.循环条件,退出人数小于参与人数-1,-1的原因是最后需要剩余一人 ...原创 2021-11-10 17:55:54 · 1081 阅读 · 0 评论 -
c 数组截断,截断后的数据放到数组开头,其他数据自动后移
//有 n个整数,使其前面各数顺序向后移 m 个位置,最后m个数变成最前面的 m 个数。void move(int* arr, int arr_size, int move_num){ //计算下截取数据的起始位置 int end_index = arr_size - move_num; //循环获取截取数据 for (int i = 0; i < move_num; i++) { int* p = arr + end_index + i;//arr + end_inde...原创 2021-11-10 16:35:14 · 938 阅读 · 0 评论 -
有序数组中插入数据
int arr[11]{}; //数组初始化 for (int i = 0; i < 10; i++) //循环获得初始数组 { arr[i] = (i*2)+10; } for (auto x : arr) //打印初始数组 cout << x << " "; cout << endl; int num = 0; // cin >> num; //获取新数据...原创 2021-11-10 12:10:59 · 375 阅读 · 0 评论 -
c 打印菱形
#include <iostream>using namespace std;/* 打印菱形 思路,菱形可以看成是上下两个三角形 上下两个三角形分解为 总行数/2+1 上面的三角形的顶点所在行数为 第1行 (正三角形) 上面的三角形的底边所在行数为 总行数/2+1 (正三角形) 下面三角形顶点所在行为 总行数 (倒三角形) 下面三角形底边为 ..原创 2021-11-09 11:57:31 · 193 阅读 · 0 评论 -
c 求1000以内数的完美因子
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<string>#include<vector>int main(){ int n = 1000; //需要查找数的范围 std::vector<int>vecs = { 0 };//存放每个数的因子 vecs[0] = 1;//每个数的共同因子1,单独提出来 for (int i = 1; i < n; i++)//循环.原创 2021-11-08 18:07:59 · 617 阅读 · 0 评论 -
c++ 模版、自定义结构体、auto起占位符作用、decltype关键字获取表达式类型,auto 函数名(参数)->decltype(x+y){},后置返回值函数
#define _CRT_SECURE_NO_WARNINGS //宏,用于禁止vs安全检查(例如4996错误)#include<iostream>struct _myfun3 //自定义结构体{ int data; double db;};struct _myfun2 //自定义结构体{ int data; char c;};//模版函数template <class T1,class T2>auto add(T1 t1, T2 t2) ->.原创 2021-11-01 18:01:47 · 264 阅读 · 0 评论 -
c++ 单链表排序及测试案例
#include<iostream>using namespace std;//链表结构体typedef struct Node{ int val; struct Node* next;}LinkNode;//寻找支点Node* GetPoint(LinkNode* head, LinkNode* tail){ int key = head->val; //假设支点的值为头节点的值 LinkNode* p = head; //定义一个指针指向头结点 L.原创 2021-11-01 10:24:27 · 337 阅读 · 0 评论 -
c++ 结构体、函数参数为值传递、指针传递、数组作为参数、对cin输入不符合格式判断以及处理
#include<iostream>using namespace std;const int SLEN = 30;struct student //学生结构体{ char fullname[SLEN]; //全名 char hobby[SLEN]; //业余爱好 int ooplevel; //成绩水平};int getinfo(student pa[], int n)//从终端获取学生信息{ int i = 0; for (; i.原创 2021-10-28 17:40:00 · 185 阅读 · 0 评论 -
c++ 计算所得税、字符串转数字、字符和特殊字符检测
//判断输入的是数字还是非数字char arr[] = { '!','#','@','$','%','^','&','*','(',')','-','+','=','[',']','{','}','\\','|','<','>',',','.','/','?' };int flat = 0;int Judgments_numbers(string income){ if (income.length() == 0)return -1; bool istrue =...原创 2021-10-25 14:42:26 · 175 阅读 · 0 评论 -
c++ 文件读写用到的函数
//读写二进制文件 例子 FILE* fpr = fopen("1.mp4", "rb"); FILE* fpw = fopen("2.mp4", "wb"); if (fpr == NULL)return -1; if (fpw == NULL)return -1; char* chh = new char[100]; string str; while (!feof(fpr))//读到文件末尾 { memset(chh, 0...原创 2021-10-21 17:45:05 · 624 阅读 · 0 评论 -
c++定时器的使用
#include <Windows.h>#include<iostream>void CALLBACK TimerProc(HWND hwnd, UINT nmsg, UINT ntimerid, DWORD dwtime){//具体要做的事}void init()//初始化窗体{ //设置定时器 SetTimer(0, 0, sleep, &TimerProc);//参数 句柄,编号,时间,自定义函数名取地址...原创 2021-08-19 15:50:31 · 875 阅读 · 0 评论 -
c++ 学习网址
1.cppreference:https://en.cppreference.com/w/2.LearnCpp:https://www.learncpp.com/3.Cplusplus:http://www.cplusplus.com/4.TutorialsPoint:https://www.tutorialspoint.com/cplusplus/index.htm5. Awesome C++:https://link.zhihu.com/?target=https%3A//github.com/原创 2021-06-03 23:40:51 · 829 阅读 · 0 评论 -
window下获取键盘和鼠标事件信息
本人往后博客说明,为了博客的美观好看,同时兼顾实用,我会先贴代码截图,后面再附加代码内容(可以拷贝的,代码没错,还是报出错了,注意下格式)相信很多朋友在寻找关于c++获取键盘和鼠标事件代码时,网上好多代码都是不完善的,遇到如下情况:例如1:明明写了鼠标左键点击打印一句话,鼠标左键点击要么是清屏要么就看不到打印的话,只有在按下鼠标中间后点击鼠标左键会有一次输出打印例如2:鼠标点击,不管是左键还是右键点击有效果,但是无法判断是单机还是双击或者是鼠标滚轮滚动标题#include ...原创 2021-05-27 12:08:34 · 1441 阅读 · 0 评论 -
c++头文件添加了提示找不到文件
相信大家也遇到新建了一个项目,使用到一些第三方或者自己写的库或者文件之类的在引用中明明添加了对文件或者库的路径引用,但编译的时候还是提示找不到文件。给大家提供一个思路L:1.查找需要引用文件在本项目中的绝对和相对路径,一般用到相对路径较多2.查看引用该类的实际文件中对该类的引用地址的完整度3.如果有添加整体一个搜索路径,那就需要结合整体搜索的路径和文件中对该类的引用地址,如过和查找到的文件在项目中的相对路径一致,重新编译项目就可以了这里以codeblocks这个IDE工具..原创 2021-05-06 10:57:45 · 4820 阅读 · 0 评论 -
linux 多个客户端同时与服务器通讯(服务端)
服务端:#include <iostream>#include<sys/socket.h>#include<sys/types.h>#include<netinet/in.h>#include<netinet/ip.h>#include<string.h>#include<arpa/inet.h>#include<unistd.h>#include<pthread.h>#i...原创 2021-03-16 16:44:56 · 427 阅读 · 0 评论 -
linux 多个客户端同时与服务器通讯(客户端)
/*重要说明,采用了多线程。线程设置为分离。*/客户端:#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <sys/socket.h>#include <netinet/in.h>#include<arpa/inet.h> //点分十进制转换头文件#include<iostrea.原创 2021-03-16 16:39:54 · 335 阅读 · 0 评论 -
linux 守护线程
作用:每隔两秒,把时间转成字符串写入文件例子:#include <iostream>#include<signal.h>#include<time.h>#include<string.h>#include<unistd.h>#include<stdlib.h>#include<sys/types.h>#include <sys/time.h>#include <sys/stat.原创 2021-03-10 15:11:30 · 418 阅读 · 0 评论 -
linux循环遍历获取文件属性
//filePath 文件目录路径//存放文件名的vector集合引用int getFileNameAndPahth(string filePath,vector<string>&saveAllFileName){ if(filePath.empty()) //判断文件是否为空 { cout<<"filepath is NULL"<<endl; return -2; } if(filePath[...原创 2021-03-04 15:50:06 · 217 阅读 · 2 评论 -
2020-12-18 linux 时间格式化显示 linux终端隐藏光标
格式化时间 printf 隐藏光标原创 2020-12-18 18:27:47 · 107 阅读 · 1 评论 -
二叉树代码实现详解
#include <iostream>using namespace std;/*树节点结构体*/typedef struct _node{ int t; //数据类型,可以改,也可以用模板类型 _node* left_node; //左节点 _node* right_node; //右节点 _node(int tt,_node* left_node_new,_node*right_node_new):t(tt),left_node(lef...原创 2020-06-03 15:49:13 · 958 阅读 · 0 评论