自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(63)
  • 收藏
  • 关注

原创 C++同时输入字符串(含空格、数字和字母等)和字符的解决方法

/可过滤空格 以空格为分界线。vistual studio中跳出while循环用ctrl +z。1.2 利用getchar()函数获取。1.2利用getline()函数获取。1.1利用while循环获取。1.1 cin>>直接输入。

2023-08-15 10:15:14 567

原创 vistual studio 2017中导入pthread.h的配置方法

将Pre-built2中lib文件夹下的文件拷贝到....\MSVC\14.16.27023\lib文件夹下(注意按照操作系统的位数拷贝,一一对应)将Pre-built2中include文件夹下的文件拷贝到....\MSVC\14.16.27023\include文件夹下。将Pre-built2中dll文件夹下的x86文件夹下的文件拷贝到C:\Windows\SysWOW64文件夹下。Pre-built2 :包含了pthreads for win32的头文件和已编译号的库文件。

2023-06-07 11:18:31 868

原创 数据结构第二章线性表的2.3:企业链表的实现

企业链表企业链表企业链表1、测试//企业链表.c​#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<string.h>#include"LinkList.h"​typedef struct PERSON{ LinkNode node; char name[64]; int age...

2022-05-21 06:30:00 215

原创 数据结构第二章线性表的2.3:链式存储实现单向链表

2.3 线性表的链式存储2.3.1 基本概念 链式存储定义 为了表示每个数据元素与其直接后继元素之间的逻辑关系,每个元素除了存储本身的信息外,还需要存储指示其直接后继的信息。 单链表 线性表的链式存储结构中,每个结点中包含一个指针域,这样的链表叫单链表。 通过每个结点的指针域将线性表的数据元素按其逻辑次序连接起来(如图) 概念解释: 表头结点: 链表中的第一个结点,包含指向第一个数据元素的指针以及链表自身的一下信息 .

2022-05-21 05:00:00 304

原创 数据结构第二章线性表的2.1~2.1:顺序存储的实现

2、线性表2.1 线性表基本概念2.1.1 基本概念线性表是0个或多个数据元素的有限序列。特性:数据元素之间是有顺序的数据元素个数是有限的数据元素的类型必须相同例如:星座数学定义:线性表是具有相同类型的n(>=0)个数据元素的有限序列(a0,a1,a2,....an)ai是表项,n是表长度2.1.2 性质 a0为线性表的第一个元素,只有一个后继 an为线性表的最后一个元素,只有一个前驱 除a0和an外的其他元素,既有前驱,又有后

2022-05-20 05:45:00 214

原创 数据结构第一章

1.1 数据结构相关概念1.1.1 为什么要学习数据结构为什么要学习数据机构?在回答这个问题之前,我们是不是应该弄清楚什么是数据结构,数据结构能够用来做什么?最直白的,它能够帮我们解决什么问题?我们之前的学习的设计模式和现在的数据结构,有个相似的特点,他们两个都是在思想层面的东西,和具体的语言无关,你可以用其他的语言去实现这些思想都没有问题。设计模式在教我们如何编写代码,让我们的代码更具有可扩展性、灵活性、可复用性,这个是编码层面上的,那么数据结构呢?我们举一个例子:比如我们c语言中没有

2022-05-19 14:56:47 184

原创 C语言实现斐波那契数列和阶乘

斐波那契数列上代码:#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>int fun(int n){ if (n == 1 || n == 2)//通过数列的规律发现,前两项都为1,作为递归的终止条件 { return 1; } else { return fun(n - 1) + fun(n - 2);//要求...

2022-05-18 10:37:25 258

原创 关闭连接网络时自启动的网络页面

当连接到校园网时,浏览器出现校园网的登陆页面。该页面主要是可以用来给未下载软件的用户,提供一个下载链接。下载安装后来,再连接网络,还是会出现以上这种情况。以下提供一个方法,关闭这个链接。出现这样的情况是由于系统会自动识别当前连接的网络需要登录才可以上网,所以会弹出来浏览器,如果想关闭的话可以按照下面的方法进行操作。 按下“Win+R”组合键呼出运行,在框中输入“gpedit.msc”按下回车键打开“本地组策略编辑器”; 在本地策略组中依次展开:“计算机配...

2022-05-09 23:09:41 815 2

原创 一个简单的五子棋小游戏

利用c语言编写,在vs2017上编译运行废话不多说直接上完整代码#include <stdio.h> //基本输入输出头文件#include "graphics.h" //图形库头文件//五子棋int main(){ initgraph(600, 600); //打开图形库窗口 fillrectangle(20, 20, 580, 580); //画填充矩形 setlinestyle(0, 2); //设置画线颜色为黑色 setlineco...

2022-05-08 21:59:43 1519 1

原创 C++t提高 第五章STL-常用算法之排序算法

5.3 常用排序算法学习目标: 掌握常用的排序算法 算法简介: sort //对容器内元素进行排序 random_shuffle //洗牌 指定范围内元素随机调整次序 merge //容器元素合并,并存储到另一个容器中 reverse //反转指定范围的元素 5.3.1 sort功能描述: 对容器内元素进行排序 函数原型: sort(iterator beg,iterator end, _Pred); //按值查找元素,找到返回指

2022-05-07 17:11:38 304

原创 C++提高 第五章STL-常用算法之算数生成算法

5.5 常用算数生成算法学习目标: 掌握常用的算术生成算法 注意: 算数生成算法属于小型算法,使用时包含的头文件为 #include <numeric> 算法简介: accmulate //计算容器元素累计总和 fill //向容器中添加元素 5.5.1 accumulate功能描述: 计算区间内 容器元素累计总和 函数原型: accumulate(iterator beg,iterator end, value); //计算容

2022-05-07 17:09:55 182

原创 C++提高 第五章STL-常用算法之拷贝和替换算法

5.4 常用拷贝和替换算法学习目标: 掌握常用的拷贝和替换算法 算法简介: copy //容器内指定范围的元素拷贝到另一个容器中 replace //将容器内指定范围的就元素修改为新元素 replace_if //容器内指定范围满足条件的元素替换为新元素 swap //互换两个容器的元素 5.4.1 copy功能描述: 容器内指定范围的元素拷贝到另一个容器中 函数原型: copy(iterator beg,iterator end,i

2022-05-07 17:08:46 161

原创 C++提高 第五章STL-常用算法之查找算法

5.2 常用查找算法学习目标: 掌握常用的查找算法 算法简介: find //查找元素 find_if //按条件查找元素 adjacent_find //查找相邻重复元素 binary_search //二分查找法 count //统计元素个数 count _if //按条件同级元素 5.2.1 find功能描述: 查找指定元素,找到返回指定元素的迭代器,找不到返回结束迭代器end() 函数原型: find (i

2022-05-07 17:02:57 647

原创 C++提高 第五章STL-常用算法之集合算法

5.6 常用集合算法学习目标: 掌握常用的集合算法 算法简介: set_intersection //求两个容器的交集 set_union //求两个容器的并集 set_difference //求两个容器的差集 5.6.1 set_intersection功能描述: 求两个容器的交集 函数原型: set_intersection(iterator beg1, iterator end1,iterator beg2,iterator end

2022-05-07 16:58:36 183

原创 c++提高 第五章 STL-常用算法之遍历算法

5 STL-常用算法概述: 算法主要由头文件<algorithm><functional><numeric>组成 <algorithm>是所有STL头文件中最大的一个,范围涉及到比较、交换、查找、遍历操作、复制、修改等等 <numeric>体积很小,只包括几个在序列上面进行简单数学运算的模板函数 <functional> 定义了一些模板类,用以声明函数对象 5.1常用遍历算法学习目标:

2022-05-07 14:08:29 126

原创 c++提高 第四章 STL -函数对象

4 STL-函数对象4.1 函数对象4.1.1 函数对象概念概念: 重载函数调用操作符的类,其对象称为函数对象 函数对象使用重载的()时,行为类似函数调用,也叫仿函数 本质:函数对象(仿函数)是一个类,不是一个函数4.1.2 函数对象使用特点: 函数对象在使用时,可以像普通函数那样调用,可以有参数,也可以有返回值 函数对象超出普通函数的概念,函数对象可以有自己的状态 函数对象可以作为参数传递 示例:#include<ios

2022-04-28 10:42:50 502

原创 c++提高 第三章 案例 - 员工分组

3.10.1 案例描述: 公司今天招聘了10个员工(ABCDEFGHIJ),10名员工进入公司之后,需要指派员工在哪个部门工作 员工信息有:姓名、工资组成:部门分为:策划、美术、研发 随机给10名员工分配部门和工资 通过multimap进行信息的插入 key(部门编号 )value(员工) 分部门显示员工信息 3.10.2 实现步骤 创建10名员工,放到vector中 遍历vector容器,取出每个员工,进行随机分组 分组后,将员工

2022-04-28 10:37:40 112

原创 c++提高 第三章 STL容器之map/multimap 容器

3.9 map/multimap 容器3.9.1 map基本概念简介: map所有元素都是pair pair中第一个元素为key(键值),起索引作用,第二个元素为value (实值) 所有元素都会根据元素的键值自动排序 本质: map/multimap 属于关联式容器,底层结构是用二叉树实现 优点: 可以根据key值快速找到vallue值 map和multimap区别: map不允许容器中有重复key值元素 multimap允许有重复

2022-04-28 10:35:43 947

原创 c++提高 第三章 STL容器之set/multiset 容器

3.8 set/multiset 容器3.8.1 set基本概念简介: 所有元素都会在插入时自动被排序 本质: set/multiset 属于关联式容器,底层机构是用二叉树实现 set和multise区别: set不允许容器中有重复的元素 multise 允许容器中有重复的元素 3.8.2 set构造和赋值功能描述:创建set容器以及赋值构造: set<T> st; //默认构造 set(const set & st

2022-04-28 10:25:32 91

原创 c++提高 第三章STL容器 之 list容器

3.7 list 容器3.7.1 list 基本概念功能:将数据进行链式存储链表(list)是一种物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的链表的组成:链表由一系列结点组成结点的组成: 一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域STL中的链表是一个双向循环链表由于链表的存储方式并不是连续的内存空间,因此链表list中的迭代器只支持前移和后移,属于双向迭代器list 的优点 采用动..

2022-04-28 10:22:36 69

原创 c++提高 第三章 STL容器之queue容器

3.6 queue 容器3.6.1 queue 基本概念概念:Queue是一种先进先出(First In First Out,FIFO)的数据结构,它有两个出口队列容器允许从一段新增元素,从另一端移除元素队列中只有队头和队尾才可以被外界使用,因此队列不允许有遍历行为队列中进数据称为----入队 push队列中出数据称为---出队 pop生活中的队列:做核酸3.6.2 queue 常用接口功能描述: 栈容器常用的对外接口构造函数 queue&lt.

2022-04-28 10:18:39 82

原创 c++提高 第三章 STL容器之stack容器

3.5 stack 容器3.5.1 stack基本概念(栈)概念: stack是一种先进后出(First InLast Out,FILO)的数据结构,它只有一个出口。栈中只有顶端的元素才可以被外界使用,因此栈不允许有遍历行为栈中进入数据称为---入栈 push栈中弹出数据称为---出栈pop3.5.2 stack 常用接口功能描述:栈容器常用的对外接口构造函数: stack <T> stk; //stack采用模板类实现,stack对象的默.

2022-04-28 10:16:47 58

原创 c++提高第三章之vector和deque容器案例 评委打分

3.4 案例评委打分3.4.1 案例描述有5名选手: 选手ABCDE,10个评委分别对每一个选手打分,去除最高分,去除最低分,去平均分3.4.2 实现步骤 创建5名选手,放到vector中 遍历vector容器,取出来每一个选手,执行for循环,可以把10个评委打分存到deque容器中 sort算法对deque容器中分数排序,去除最高和最低分 deque容器遍历一遍,累加总分 获取平均分 示例:#include <iostream&g

2022-04-28 10:15:12 129

原创 c++提高 第三章STL容器之 deque容器

3.3 deque容器3.3.1 deque容器基本概念功能: 双端数组,可以对头端进行插入删除操作 deque与vector区别 vector对于头部的插入删除效率低,数据量越大,效率越低 deque相对而言,对头部的插入删除速度比vecto快 vector访问元素时的速度会比deque快,这和两者内部实现有关 deque内部工作原理:deque内部有一个中控器,维护每段缓冲区中的内容,缓冲区存放真实数据中控器维护的是每个缓冲区的地址,.

2022-04-28 10:13:26 83

原创 c++提高 第三章 STL容器之vector容器

3.2 vector 容器3.2.1vector基本概念功能: vector数据结构和数组非常相似,也称为单端数组 vector与普通数组区别 不同之处在于数组是静态空间,而vector可以动态扩展 动态扩展: 并不是在原空间之后续接新空间,而是找更大的内存空间,然后将原数据拷贝新空间,释放原空间 vector容器的迭代器是支持随机访问的迭代器 3.2.2 vector 构造函数功能描述: 创建vector容器 函数原型: ve.

2022-04-28 10:10:36 83

原创 c++提高阶段 第三章 STL-常用容器

3 STL-常用容器3.1 string 容器3.1.1 string基本概念本质: string 是c++风格的字符串,而string本质上是一个类 string和char区别: char * 是一个指针 string 是一个类 ,类内部封装了char * ,管理这个字符串,是一个char* 型的容器 特点:string 类内部封装了很多成员方法例如:查找find 、拷贝 copy、删除 delete 、替换 replace 、插入 insertstr

2022-04-21 02:00:00 73

原创 c++提高 第二章 STL初识

2 STL初识2.1 STL的诞生 长久以来,软件界一直希望建立一种可重复利用的东西 c++的面向对象和泛型编程的思想,目的就是复用性的提升 大多情况下,数据结构和算法都未能有一套标准,导致被迫从事大量重复工作 为了建立数据结构和算法的一套标准诞生了STL 2.2 STL基本概念 STL(Stand Template Library,标准模板库) STL从广义上分为:容器(container)算法(algorithm)迭代器(iterator)

2022-04-20 21:53:25 56

原创 c++提高阶段 第一章 1.3 类模板

1.3 类模板1.3.1 类模板语法类模板作用: 建立一个通用类,类中的成员 数据类型可以不具体指定,用一个虚拟的类型来代表 语法:template<typename T>类解释:template ··· 声明创建模板typename ··· 表面其后面的符号是一种数据类型,可以用class代替T ··· 通用的数据类型,名称可以替换,通常为大写字母示例:#include <iostream>using namespace st.

2022-04-20 21:50:18 847

原创 c++提高阶段 第一章 1.2 函数模板

1.2 函数模板 c++另一种编程思想称为泛型编程,主要利用的技术就是模板 c++提供两种模板机制:函数模板和类模板 1.2.1 函数模板语法函数模板作用:建立一个通用函数,其函数返回值类型和形参类型可以不具体制定,用一个虚拟的类型来代表。语法:template <typename T>函数声明或定义解释:template ---声明创建模板typename---表面其后面的符号一种数据类型,可以用class代替T--- 通用的数据类型

2022-04-20 21:45:43 863

原创 c++ 提高 第一章 模板

本阶段主要针对C++泛型编程和STL技术做详细讲解,探讨C++更深层的使用 1 模板1.1 模板的概念模板就是建立通用的模具,大大提高复用性例如生活中的模板一寸照片模板:PPT模板:模板的特点: 模板不可以直接使用,它只是一个框架 模板的通用并不是万能的 ...

2022-04-20 21:41:40 520

原创 用c++实现职工管理系统

首先带大家看看文件的结构以及树状图以下是具体的思路:1、管理系统需求职工管理系统可以用来管理公司内所有员工信息本教程主要利用c++来实现一个基于多态的职工管理系统公司中职工分为三类:普通员工、经理、老板、显示信息时,需要显示职工编号、职工姓名、职工岗位、以及职责普通员工职责:完成经理交给的任务经理的职责:完成老板交给的任务,并下发给任务给员工老板职责:管理公司所有事物管理系统中需要实现的功能如下 推出管理程序: 退出当前管理系统 增加职

2022-04-18 13:48:21 10517 10

原创 斗地主4.0版本发牌

斗地主1、完成一个控制台程序知识点:srand(time(NULL)):这是两个函数,一个是srand函数,这是在调用rand()这个函数之前使用的,rand()是一个产生随机数的函数,而srand是一个设置随机数种子的函数,通常这两个函数是一起使用的,来完成产生随机数的功能。而time(NULL)这个函数的返回值是作为srand函数的参数的,意思是以现在的系统时间作为随机数的种子来产生随机数,至于NULL这个参数,因为这个话就返回到现在时间时候的long秒,只有设置成NULL才能获得系统的

2022-04-18 13:31:00 607

原创 c++核心编程 第四章 4.6 继承

4.6继承继承是面向对象的三大特性之一有些类与类之间存在特殊的关系,例如下图中:我们发现,定义这些类时,下级别的成员除了拥有上一级的共性,还有自己的特性。这个时候我们就可以考虑利用继承的技术,减少重复代码。4.6.1 继承的基本语法例如我们看到很多网站中,都有公共的头部,公共的底部,甚至公共的左侧列表,只有中心内容不同。接下来我们分别利用普通写法和继承的写法来实现网页中的内容,看一下继承存在的意义以及好处普通实现和继承实现#include <iostre

2022-04-18 09:15:00 142

原创 c++核心编程 第四章 类和对象4.2对象的初始化和清理

4.2对象的初始化和清理 生活中我们买的1电子产品都基本又出厂设置,在某一天我们不用时候也会删除一些自己信息数据保证安全 C++中的面向对象来源于生活,每个对象也都会有初始设置以及对象销毁前的清理数据的设置 4.2.1 构造函数和析构函数对象的初始化和清理也是非常重要的安全问题一个对象变量没有初始状态,对其使用后果是未知同样的使用完一个对象或变量,没有及时清理,也会造成一定的安全问题c++利用了构造函数和析构函数解决上述问题,这两个函数将会被编译器自动调用,完成对象初始化

2022-04-17 15:30:00 76

原创 c++核心编程 第四章 类和对象4.1封装

4类和对象c++面向对象的三大特性:封装、继承、多态c++认为万事万物都皆为对象,对象上有其属性和行为例如:人可以作为对象,属性有姓名、年龄、身高、体重、、、、,行为有走、跑、跳、吃饭、唱歌车也可以作为对象,属性有轮胎、方向盘、车灯、、、、行为有载人、放音乐、放空调、、、具有相同性质的对象,我们可以抽象称为类,人属于人类,车属于车类4.1封装4.1.1封装的意义封装是C++面向对象三大特性之一封装的意义: 将属性和行为作为一个整体,表现生活中的事物 将

2022-04-16 13:00:00 183

原创 c++核心编程 第三章 函数的提高

3函数提高3.1函数默认参数在C++中,函数的形参列表中形参是可以有默认值的语法:返回值类型 函数名 (参数 = 默认值){}#include<iostream>using namespace std;//函数的默认参数//如果我们自己传入数据,就用自己的数据,如果没有,那么用默认值//语法: 返回值类型 函数名(形参 = 默认值){}int func(int a, int b=20 ,int c=30){ return a+b+c;}​//注意事项..

2022-04-14 10:30:00 59

原创 实现斗地主发牌

斗地主1、完成一个控制台程序知识点:srand(time(NULL)):这是两个函数,一个是srand函数,这是在调用rand()这个函数之前使用的,rand()是一个产生随机数的函数,而srand是一个设置随机数种子的函数,通常这两个函数是一起使用的,来完成产生随机数的功能。而time(NULL)这个函数的返回值是作为srand函数的参数的,意思是以现在的系统时间作为随机数的种子来产生随机数,至于NULL这个参数,因为这个话就返回到现在时间时候的long秒,只有设置成NULL才能获得系统的

2022-04-13 11:32:43 1471

原创 Win32计算器:输入出生年月日,输出周岁,星座以及距离下一次生日的天数

Win32计算器 实验要求: 1、完成一个win32计算器,具体实现的功能为:输入出生年月日,可以输出对应的周岁,星座,距离下一个生日的天数;2、提交内容为:设计思路的文档、项目代码和可执行程序release版本; 实验思路 1、首先了解如何获取系统当前的时间:C++中获取当前系统时间的方法系统时间相关的函数在C++定义在<ctime>头文件中。1.1 time(time_t*)函数函数定义如下:time_t time (time_t* t..

2022-04-13 11:31:06 3256 2

原创 c++核心编程 第五章 文件操作

5 文件操作程序运行时产生的数据都属于临时数据,程序一旦运行结束都会被释放s通过文件可以将数据持久化C++中对文件操作需要包含头文件<fstream>文件类型分为两种 文本文件: 文件以文本的ASCII形式存储在计算机中 二进制文件: 文件以文本的二进制形式存储在计算机中,用户一般不能直接读懂它们 操作文件的三大类1、ofstream :写操作2、ifstream :读操作3、 fstream: 读写操作5.1文本文件5.1.1写文件写

2022-04-13 11:25:57 65

原创 C++核心编程第四章 4.7 多态

4.7 多态4.7.1 多态的基本概念多态是c++面向对象三大特性之一多态分为两类 静态多态:函数重载和运算符重载属于静态多态,复用函数名 动态多态: 派生类和虚函数实现运行时多态 静态多态和动态多态区别:: 静态多态的函数早绑定,编译阶段确定函数地址 动态多态的函数地址晚绑定, 运行阶段确定函数地址 下面通过案例进行讲解多态:// ConsoleApplication1.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//

2022-04-13 11:23:04 109

空空如也

空空如也

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

TA关注的人

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