自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (6)
  • 收藏
  • 关注

原创 C/C++/嵌入式—面试题汇总(400多个问题,涵盖了面试时会问的绝大部分问题)

如需全部文档内容请WX联系:13085589232该文档是我花了一个多月整理的面试题汇总,并经过三个多月30多家公司的面试后进行不断优化补充。几乎涵盖了面试时会问的绝大部分问题。

2023-04-25 02:13:37 781 1

原创 基于树莓派的智能家居控制系统设计论文参考

随着科技的进步,人们生活水平的也在不断变好,人们对居住环境的要求也不再局限于传统的居住方式,而是越来越多地朝着智能家居的方向发展进行选择。智能家居系统不仅可以让人们更好的享受到生活中,还大大的增强了家居的安全性,更好的保护了用户的人身安全和财产安全。因此本毕设以树莓派作为主要开发平台,并采用Linux操作系统,设计了一款智能家居控制系统。首先,根据毕设任务要求以及我国现行的能家居行业标准,对该系统的整体设计和有关的功能进行了方案选择。

2023-04-15 01:38:00 5862 7

原创 基于树莓派的智能家居控制系统设计

1.通过手机APP、语音识别等控制家电,对门锁,灯光、电风扇等设备进行控制,开发回家模式,睡觉模式等应用场景。2.通过视频监控、火灾报警、震动报警和人体感应报警保证家居的安全。3.将温湿度检测数据和家居安防状况实时同步到用户的手机APP进行显示。4.遥控控制可以保证在没有网络的情况下也可以对家居进行控制。5.通过翔云平台提供的人脸对比服务完成人脸识别开锁1.家居模型实物2.部分功能展示火灾测试火灾报警视频监控温湿度检测人脸识别按钮人脸识别开锁1.主程序mainPro.c2.摄像

2022-06-27 21:48:43 8520 22

原创 C语音的线程基本函数使用

C语音的线程基本函数使用线程常用基本函数:pthread_create() 创建线程 pthread_exit() 退出当前线程 pthread_join() 等待其他线程结束pthread_self() 自身线程ID号 pthread_cancel() 停止其他线程 pthread_detach() 分离某个线程线程使用需要导入对应头文件#include <pthread.h>pthread_create() 创建线程函数原型:/** * @brief 创建一个线程

2022-04-18 14:55:23 390

原创 socket程序退出后端口依然被占用问题的解决

问题描述在进行socket编程时经常会遇到一个问题,当服务器端程序因为各种各样的原因退出后,再次启动经常会出现端口被占用的问题,有时可以通过查看占用端口的程序,然后杀死该进程的方式解除端口的占用,但是有时候端口处于timeout_wait状态,无法通过杀死进程的方式解决。解决方式(推荐方法2)方法1.查看并杀死占用端口进程,以8888端口为例:# 获取端口pid lsof -i:8888# 杀死进程: kill -9 进程pid方法2.设置socket的SO_REUSEADDR选

2022-03-16 21:39:14 3458

原创 Linux中强制结束一个进程的终极方法和其他常用命令

Linux中强制结束一个进程的终极方法和其他常用命令1.查进程ps命令查找与进程相关的PID号:ps a 显示现行终端机下的所有程序,包括其他用户的程序。ps -A 显示所有程序。ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。ps -e 此参数的效果和指定"A"参数相同。ps e 列出程序时,显示每个程序所使用的环境变量。ps f 用ASCII字符显示树状结构,表达程序间的相互关系。ps -H 显示树状结构,表示程序间的相互关系。ps -N 显示所

2022-03-16 21:32:05 9602

原创 VS Code 代码自动对齐

VS Code 代码自动对齐Shift + Alt + f

2022-01-14 19:53:54 2372

原创 基于Wemos的wifi控制避障小车

基于Wemos的wifi控制避障小车1.项目描述:利用wemos D1实现小车的前后行走、转弯和避障。2.开发及硬件组成:Arduino、wemos D1、小车、步进电机驱动、超声波测距模块。3.项目描述:wemos D1通过wifi与手机App连接,手机App控制小车的运动,当前方出现障碍物时超声波测距模块会把数据返回给wemos D1,若距离小于规定值则会驱动小车后退。4.小车展示:手机App:5.视频演示:

2021-09-04 14:14:00 1005

原创 贪吃蛇游戏项目(C语言实现)

贪吃蛇游戏项目(C语言实现)1.项目功能:通过C语言和linux系统绘制贪吃蛇地图,实现蛇的行走并吃到地图内随机出现的实物2.项目描述:使用C语言链表来实现贪吃蛇身体的储存和增删查功能;小蛇吃到一个食物后增加一个单位长度,撞到地图边界或者撞到自己时小蛇会死掉并重新生成一条原始大小的小蛇;通过linux的ncurse界面来实现游戏界面的显示以及获取键盘输入的上下左右键来控制小蛇的行走。3.图片展示:4.代码展示:#include<curses.h>#include <

2021-08-30 17:15:12 1232 5

原创 常用设计模式介绍

常用设计模式介绍创建型模式:思考的是对象的创建的过程1、单例模式:一个类只能生成一个对象:静态成员变量(1)懒汉式单例:在需要时创建:多线程可能会创建多个对象(加锁解决该问题,但锁机制会影响性能,最推荐的懒汉式单例——局部静态变量)(2)饿汉式单例:在初始化的时候进行创建:多线程不会创建多个对象(线程安全,比较常用,但容易产生垃圾,因为一开始就初始化)2、工厂模式(1)简单工厂:抽象产品->具体产品工厂->生成不同的具体产品好处:将产品指针和产品对象分离缺点:每增加一

2021-08-21 21:31:51 233

原创 基于Linux、QT、C++的点餐系统

基于Linux、QT、C++的点餐系统一、功能实现管理员及收银员的注册登录、人员信息管理、账单查看、餐品信息管理、顾客点餐、厨房上菜、收银结账。二、项目描述1、项目采用 C/S 架构,利用 TCP 协议进行通信,采用了多线程的方法解决服务端与多个客服端的通信。2、通过vector容器来存放顾客的订单信息,顾客提交订单时,将容器发送给管理端和厨房。3、通过MySQL数据库来储存用户信息、菜单信息、账单信息,及厨房待做餐品清单。4、采用中介者模式和状态模式,实现不同客服端间的信息交互。5、顾客提

2021-08-16 20:23:48 5961 34

原创 基于Linux、QT、C++的“别踩白块儿”小游戏

基于Linux、QT、C++的“别踩白块儿”小游戏一、功能实现完善的游戏界面、游戏倒计时、得分记录、历史最高分显示二、功能描述1、界面为4*4,一行中只有一个黑块,使用qrand函数,采用时间种子保证每次产生是随机数不同,在将随机数对4取余来作为黑块的位置。2、初始时间设定值为30,通过定时器每100ms发出一次信号,刷新时间。3、通过工厂模式,完成对黑块和白块的生产,并采用queue容器来储存块。4、当玩家点击黑块时,delete队头的4个块并pop弹出,在加入4个新块,最后将队列中所有

2021-08-14 15:19:26 1903 1

原创 基于MCS-51单片机的数字时钟设计

基于MCS-51单片机的数字时钟设计一、项目描述1.基于DS1302时钟模块,可以完成年、月、日、时、分、秒、周的正确显示。2.可以通过外部按键对当前时间进行校准。3.能够以12小时和24小时制表示方式显示时间。4.能够通过外部按键设置闹钟提醒时间。实际操作:LCD1602显示时钟,按K3键进入时钟设置,此时秒钟停止走动,按K1键选择设置的秒、分、时、日、月、星期、年,按K2键进行加1,设置完成后,再次按下K3键继续走时,按下K4进入闹钟界面设置(在闹钟界面不能按下K3),K1进行选择时、

2021-08-12 01:02:58 4207 5

原创 Qt tablewidget操作

1、清空表格中所有内容void QTableWidget::clear() [slot] //清空表格中所有内容(包含表头)Removes all items in the view. This will also remove all selections and headers.2、清空表格中的内容(不包含表头)void QTableWidget::clearContents() [slot] //清空表格中的内容(不包含表头)。 Removes all items not in the

2021-08-09 10:19:22 2643

原创 Qt 生成可点击运行的执行文件

如何用Qt生成可点击运行的执行文件1.首先将Debug调试改为Release2.再在.pro文件的最后一行加上QMAKE_LFLAGS += -no-pie3.在进行编译后,即可得到一个可点击运行的程序

2021-08-06 16:08:03 321

原创 聊天室(C语言)- 基于文件编程、网络通信、数据库实现

聊天室(C语言)——基于文件编程、网络通信、数据库实现一、项目功能介绍1.登录、注册、密码修改2.私聊3.群聊:在群聊中若收到私密消息,会以消息闪烁形式通知4.文件传输5.管理员权限:禁言、解除禁言、踢人6.VIP用户:独特显示用户名、不可被禁言和踢出群聊7.心跳检测:当一用户推出聊天室或掉线,其他在线用户会收到该用户下线通知用户上线时,其他在线用户也会接到通知二、使用须知1.注册用户初始为普通用户,可手动添加为管理员或VIP用户2.文本说明 :1).root.txt

2021-08-02 02:38:09 7209 33

原创 公司员工管理系统(C++多态实现)

公司员工管理系统(C++多态实现)1、某小型公司,主要有四类人员:经理、技术人员、销售经理和推销员。 现在,需要存储这些人员的姓名、编号、级别、当月薪水.计算月薪总额并显示全部信息。 人员编号基数为 1000,每输入一个人员信息编号顺序加 1。 程序要有对所有人员提升级别的功能。 本例中为简单起见, 所有人员的初始级别均为 1级。 然后进行升级,经理升为 4 级,技术人员和销售经理升为 3 级,推销员仍为 1 级。 月薪计算办法是: 经理拿固定月薪 8000 元; 技术人员按每小时 100 元领取月薪;

2021-07-23 18:49:11 2943 1

原创 复数的四则运算实现(运算符重载)

复数的四则运算实现(运算符重载)#include <iostream>using namespace std;class complex{public: complex(double real, double image) : m_real(real), m_image(image) {} complex() //无参构造 { m_real = 0.0; m_image = 0.0; } // complex(d

2021-07-13 19:22:05 455

原创 string类成员函数的自我实现

string类成员函数的自我实现#include <iostream>#include <cstring>using namespace std;class String{public: String() //无参构造 { m_str = new char[16]; cap = 15; } String(const char *str); //有参构造函数 S

2021-07-13 19:02:37 204

原创 C++中string类的操作

C++中string类的操作string类的操作(1)string类的构造函数:【重要】1.string(const char *s); //用c字符串s初始化2.string(int n,char c); //用n个字符c初始化此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2=“hello”;都是正确的写法。当构造的string太长而无法表达时会抛出length_error异常 ;(2)string类的字符操作:1.const

2021-07-12 14:21:15 439

原创 约瑟夫环(基于c++链表实现)

约瑟夫环(基于c++链表实现)#include <iostream>using namespace std;class person{public: int number; //每个人的编号 person *next;};class Joseph{public: Joseph(); //创建一个单链表 ~Joseph(); //销毁单链表 void Creat

2021-07-09 11:03:41 565

原创 单向链表的操作--C++实现

单线链表的操作(C++实现)#include <iostream>#include <cstdlib>using namespace std;class Node{public: int value; Node *next;};class Linklist{public: Linklist(); //创建一个单链表 ~Linklist();

2021-07-09 00:19:12 155

原创 将任意十进制数转化为16进制数

将任意十进制数转化为16进制数;#include<stdio.h>int main(){ int i=0; char temp=0; unsigned int a=0; unsigned char mask=0x0000000f; printf("Please enter number:"); scanf("%d",&a);

2021-05-30 01:01:09 396

原创 输入一个32位的整数a,使用按位异或^运算,生成一个新的32位整数b

题目:输入一个32位的整数a,使用按位异或^运算,生成一个新的32位整数b,使得该整数b的每一位等于原整数a中该位左右两边两个bit位的异或结果 .提示:0 ^ 0 = 0; 1 ^ 1 = 0; 0 ^ 1 = 1; 1 ^ 0 = 1;#include<stdio.h>int main(){ int i=0; int a=0; int b=30; int temp=0;

2021-05-30 01:00:25 313

原创 输入一个整数a,再输入两个整数p(p<32),v(0|1),将该整数a的p位设置为v,输出修改后的该整数的二进制表示.

题目:输入一个整数a,再输入两个整数p(p<32),v(0|1),将该整数a的p位设置为v,输出修改后的该整数的二进制表示.#include <stdio.h>void fun(int a, int p1, int v){ int i; int temp; printf("The result:"); int k = 32; if (a < 0) { a = -

2021-05-30 00:58:19 121

原创 位操作训练

位操作训练1.题目:请编写一个c函数,该函数给出一个字节中被置为1的位的个数#include<stdio.h>int main(){ int f(char); char c; int num; printf("输入字符:"); scanf("%c",&c); printf("%d\n",c); num=f(c); printf("1的个数有:%d\n",num); return 0;}int f(char x)

2021-05-29 23:28:42 187

原创 输入一个整数a,再输入两个整数p(p<32),v(0|1),将该整数a的p位设置为v,输出修改后的该整数的二进制表示.

输入一个整数a,再输入两个整数p(p<32),v(0|1),将该整数a的p位设置为v,输出修改后的该整数的二进制表示.#include <stdio.h>void fun(int a, int p1, int v){ int i; int temp; printf("The result:"); int k = 32; if (a < 0) { a = -a;

2021-05-28 23:48:35 135

原创 输入一个整数,再输入两个整数p1,p2(p1,p2<32),将该整数的二进制表示方法中从右端开始的p1到p2位取反后输出

输入一个整数a,再输入两个整数p1,p2(p1,p2<32),将该整数的二进制表示方法中从右端开始的p1到p2位取反后输出.#include <stdio.h>void fun(int a, int p1, int p2){ int i; int temp; if (a < 0) { a = -a; } printf("The result:\n"); for (i = p2 - 1; i >= p1 - 1; i--) { if ((i +

2021-05-28 23:47:33 172

原创 输入一个整数a,再输入两个整数p1,p2(p1,p2<32),输出该整数的二进制表示方法中从右端开始的p1到p2位.

题目:输入一个整数a,再输入两个整数p1,p2(p1,p2<32),输出该整数的二进制表示方法中从右端开始的p1到p2位.#include <stdio.h>void fun(int a, int p1, int p2){ int i; int temp; if (a < 0) { a = -a; } printf("The result:\n"); for (i = p2 - 1; i >= p1 - 1; i--) { if ((i +

2021-05-28 23:45:53 219

原创 题目:请编写一个c函数,该函数给出一个字节中被置为1的位的个数

请编写一个c函数,该函数给出一个字节中被置为1的位的个数。#include<stdio.h>int main(){ int f(char); char c; int num; printf("输入字符:"); scanf("%c",&c); printf("%d\n",c); num=f(c); printf("1的个数有:%d\n",num); return 0;}int f(char x){ int num=0; while

2021-05-28 23:44:35 851

原创 题目: 一个数如果恰好等于它的因子之和,这个数被成为”完数”,例如:6=1+2+3.请编程找出1000以内的完数

一个数如果恰好等于它的因子之和,这个数被成为”完数”,例如:6=1+2+3.请编程找出1000以内的完数.#include <stdio.h>int main(){ int i = 0; int j = 0; int sum; for (i = 1; i <= 1000; i++) { sum = 0; for (j = 1; j <= i / 2; j++) { i

2021-05-28 23:42:23 180

原创 题目:求100以内的素数,全部打印出来。

题目:求100以内的素数,全部打印出来。#include <stdio.h>int main(){ int i, j, k; for (i = 1; i <= 100; i++) { k = 0; for (j = 2; j <= i / 2; j++) { if (i % j == 0) k++;

2021-05-28 23:40:31 127

原创 题目:输入5个数(含负数、小数)将它们按由小到大的顺序排列起来

题目:输入5个数(含负数、小数)将它们按由小到大的顺序排列起来#include <stdio.h>#include <stdlib.h>int main(int argc, char **argv){ int i = 0; float a[5] = {0.0}; for (i = 0; i < 5; i++) { a[i] = atof(argv[i + 1]);

2021-05-28 21:41:19 190

原创 有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,问最后最后留下的是原来第几号的那位.

题目:有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,问最后最后留下的是原来第几号的那位.提示:用数组完成#include <stdio.h>int main(){ int n; int m; printf("Please enter number:"); scanf("%d", &n); m = n; int a[m]; int i; int count = 0; f

2021-05-28 20:49:38 388

原创 题目:通过编程实现,统计1~n有多少个9 提示:n通过参数传入

题目:通过编程实现,统计1~n有多少个9 提示:n通过参数传入#include<stdio.h>int main(){ int i,n,m,k,sum=0; printf("please enter an integer N\n"); scanf("%d",&n); for(i=1;i<=n;i++) { m=i; while(1) { k=m%10; if(k==9) sum++; m=m/1

2021-05-28 20:41:34 147

原创 虚拟机Ubuntu的安装,及VMware Tools的安装和共享文件夹的创建

虚拟机Ubuntu的安装,及VMware Tools的安装和共享文件夹的创建1.点击创建虚拟机2.选择自定义,点击下一步3.选择Workstation 15.x,点击下一步4.选择稍后安装操作系统,点击下一步5.客服机操作系统选择Linux,版本选择Ubuntu64位,点击下一步6.设置虚拟机名称,选择保存路径7.设置处理器数量和内核数量8.设置内存大小9.选择使用网址地址转换(虚拟机可以直接使用主机的网络),点击下一步10.SCSI控制器选择LSI LOGIC,点击下一步11.虚

2021-05-28 20:11:12 372

基于Linux、QT、C++的点餐系统

点餐系统数据库

2023-07-22

C语音、C++学习文件

C语音、C++学习文件

2022-07-27

基于树莓派的智能家居控制系统设计

1.通过手机APP、语音识别等控制家电,对门锁,灯光、电风扇等设备进行控制,开发回家模式,睡觉模式等应用场景。 2.通过视频监控、火灾报警、震动报警和人体感应报警保证家居的安全。 3.将温湿度检测数据和家居安防状况实时同步到用户的手机APP进行显示。 4.遥控控制可以保证在没有网络的情况下也可以对家居进行控制。 5.通过翔云平台提供的人脸对比服务完成人脸识别开锁 系统详细介绍: https://blog.csdn.net/G1842965496/article/details/125491350

2022-06-27

基于MCS-51单片机的数字时钟设计

项目展示:https://blog.csdn.net/G1842965496/article/details/119619971 一、项目描述 1.基于DS1302时钟模块,可以完成年、月、日、时、分、秒、周的正确显示。 2.可以通过外部按键对当前时间进行校准。 3.能够以12小时和24小时制表示方式显示时间。 4.能够通过外部按键设置闹钟提醒时间。 实际操作: LCD1602显示时钟,按K3键进入时钟设置,此时秒钟停止走动,按K1键选择设置的秒、分、时、 日、月、星期、年,按K2键进行加1,设置完成后,再次按下K3键继续走时,按下K4进入闹钟 界面设置(在闹钟界面不能按下K3),K1进行选择时、分,K2进行加一,再按下K4返回时钟界面, 当时间走到设置时间时,蜂鸣器会响起大概五秒钟,之后继续走时。按下矩阵按键P15进行12/24小时制切换。 项目演示:https://blog.csdn.net/G1842965496/article/details/119619971

2022-03-08

基于Linux、QT、C++的“别踩白块儿”小游戏

项目展示:https://blog.csdn.net/G1842965496/article/details/119701111 一、功能实现 完善的游戏界面、游戏倒计时、得分记录、历史最高分显示 二、功能描述 1、界面为4*4,一行中只有一个黑块,使用qrand函数,采用时间种子保证 每次产生是随机数不同,在将随机数对4取余来作为黑块的位置。 2、初始时间设定值为30,通过定时器每100ms发出一次信号,刷新时间。 3、通过工厂模式,完成对黑块和白块的生产,并采用queue容器来储存块。 4、当玩家点击黑块时,delete队头的4个块并pop弹出,在加入4个新块, 最后将队列中所有的块Y坐标增加。

2022-03-08

聊天室(C语言)- 基于文件编程、网络通信、数据库实现

项目展示:https://blog.csdn.net/G1842965496/article/details/119308685 1.登录、注册、密码修改 2.私聊 3.群聊:在群聊中若收到私密消息,会以消息闪烁形式通知 4.文件传输 5.管理员权限:禁言、解除禁言、踢人 6.VIP用户:独特显示用户名、不可被禁言和踢出群聊 7.心跳检测:当一用户推出聊天室或掉线,其他在线用户会收到该用户下线通知 用户上线时,其他在线用户也会接到通知

2022-03-08

基于Linux、QT、C++的点餐系统

项目展示:https://blog.csdn.net/G1842965496/article/details/119736304 一、功能实现 管理员及收银员的注册登录、人员信息管理、账单查看、餐品信息管理、顾客点餐、厨房上菜、收银结账。 二、项目描述 1、项目采用 C/S 架构,利用 TCP 协议进行通信,采用了多线程的方法解决服务端与多个客服端的通信。 2、通过vector容器来存放顾客的订单信息,顾客提交订单时,将容器发送给管理端和厨房。 3、通过MySQL数据库来储存用户信息、菜单信息、账单信息,及厨房待做餐品清单。 4、采用中介者模式和状态模式,实现不同客服端间的信息交互。 5、顾客提交订单后可随时进行加餐,对未上餐品可进行催餐和退餐。 6、收银员可查询相应桌号的消费详情和消费总额并进行结账。 7、管理员可进行对用户信息和菜单信息的修改、添加和删除,并可查看账单及账单详情。

2022-03-08

空空如也

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

TA关注的人

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