
C++
文章平均质量分 80
Love丶伊卡洛斯
万事皆有可能
展开
-
C/C++判断字符串是否是非负整数,是否是int型
直接上码#include <stdio.h>#include <stdlib.h>#include <string.h>// 判断字符串是否是int类型 是返回1 不是返回0int is_int(char *str);// 判断一个字符串是为非负整数 正确返回数字长度, 错误返回0int is_nonnegative_int(char* str);int main(){ int ret = 0; if(ret = is_nonnegative_i原创 2020-11-23 15:24:54 · 2006 阅读 · 0 评论 -
VS下用C++写第一个EasyX程序
环境搭建默认你装了Visual Studio,我装的VS2019EasyX官网:https://easyx.cn/我们直接下载下载后是一个运行后,它会自动检测本地的VS,提供安装和卸载操作。我们点击“安装”就完成了。创建工程打开VS,新建 控制台应用贴入官方文档的代码#include <easyx.h> // 引用图形库头文件#include <conio.h>int main(){ initgraph(640, 480); // 创建绘图窗口,大原创 2020-07-08 17:25:29 · 2024 阅读 · 0 评论 -
C++模拟鼠标点击和键盘输入的操作 mouse_event & keybd_event
相关环境操作系统:Win10 企业版编译环境:MinGW相关说明参考资料:windows API,里面很详细,爱死了使用的Windows API中的 mouse_event() 和 keybd_event()。mouse_eventprivate static extern int mouse_event(int dwFlags, int dx, int dy, int cButto...原创 2020-02-27 11:29:45 · 24719 阅读 · 8 评论 -
C++中类的继承(一)——学习笔记
一、类的继承1、共性与个性表达不同类型事物之间公有的属性和行为。个性用于刻画每种事物特有的属性和行为。2、共性表示为父类(基类),个性表示为子类(派生类)。子类继承自父类基类派生出子类二、继承的基本语法1、继承表一个子类可以同时继承零到多个父类,每个父类的继承方式可以相同也可以不同。class 子类:继承方式1 父类1,继承方式2 父类2,…{}2、继承方式public...原创 2019-08-19 16:43:14 · 251 阅读 · 0 评论 -
C++实现 酒店管理系统
功能要求:相关源码:码云:传送门,GitHub:传送门C++酒店管理系统,已经更新Windows版本,内置readme说明,可自行使用。Linux没有压缩,皆可食用相关图片:拆分版make编译./hotel运行输入2,进入开房模块相关源码:class.cpp#include <fstream>#include "tools...原创 2019-08-23 21:01:05 · 8004 阅读 · 6 评论 -
C++中类的继承(二)——学习笔记
一、子类的构造、析构、拷贝1、子类的构造在执行它的构造函数前会根据继承表的顺序执行父类的构造函数。默认执行父类的无参构造显示调用有参构造,在子类的构造函数后,初始化列表中显示调用父类的有参构造函数。2、子类在它的析构执行完后,会根据继承表的顺序,逆顺序执行父类的析构函数。注意:父类的指针可以指向子类对象,当通过父类指针释放对象时,只会调用父类的析构函数,而这种析构方式有可能造成内存泄漏。...原创 2019-08-20 12:10:47 · 304 阅读 · 0 评论 -
C++中的虚函数表、强制类型转换、I/O流等——学习笔记
一、虚函数表什么是虚函数表,在C++的类中,一旦成员函数中有虚函数,这个类中就会多一个虚函数表指针,这个指针指向一个虚函数表,表里面记录了这个类中所有的虚函数,当这个类被继承,它的子类中也会有一个虚函数表(不管子类中有没有虚函数),如果子类的成员函数中有函数签名与父类的虚函数一样,就会用子类中的函数体寒它在虚函数表中的位置,这样就达到了覆盖的效果。当通过类指针或引用调用函数时,会根据对象中...原创 2019-08-21 11:41:50 · 492 阅读 · 2 评论 -
C++基础知识(三)——学习笔记
一、this指针类的成员变量单独存储在每个类对象中,成员函数存储在代码段中,所有的类对象共享一份成员函数。成员函数是如何区别调用它的是哪个类对象的?答:借助了this指针,类的每个成员函数都有一个隐藏的参数this指针,它指向类对象。类的构造函数中也同样有this指针,指向的就是正在构造的这个对象。在类中(成员、构造、析构函数)对成员变量、成员函数的访问都是借助了this指针。this...原创 2019-08-16 10:34:55 · 222 阅读 · 1 评论 -
C++操作符函数重载——学习笔记
一、操作符函数重载什么是操作符函数:在C++中针对类类型的对象的运算符,由于它们肯定不支持真正的运算操作,因此编译器会将它们翻译成函数,这种就叫做操作符函数(运算符函数)。编译器把运算翻译成运算符函数,可以针对自定义的类类型设计它独有的运算功能。其实各种运算符已经具备一些功能,再次实现它的就是叫作运算符重载。双目运算符: a+b 成员函数 a.operat...原创 2019-08-17 14:57:30 · 322 阅读 · 0 评论 -
C++模板的相关知识——学习笔记
一、为什么使用模板1、C/C++是一种静态类型语言(预处理->汇编->编译->链接),好处是速度快,缺点是实现通用代码麻烦。例如:实现支持所有类型的快速排序。2、借助函数重载实现通用代码,好处是实现简单,但代码段会增加。3、借助宏函数实现通用代码,类型检查不严格。4、借助回调函数实现通用代码,使用麻烦。5、由于以上原因C++之父在C++实现了模板技术,让C++能够支持泛...原创 2019-08-26 19:30:02 · 297 阅读 · 0 评论 -
C++标准模板库 Lists 相关使用——学习笔记
Lists模板的相关使用,我们以代码的形式展现尚未使用迭代器#include <iostream>#include <list>using namespace std;int main(){ // 创建链表容器 list<int> l1,l2; for(int i=0; i<10; i++) { // 尾添加 l1.push_...原创 2019-08-27 10:02:07 · 243 阅读 · 0 评论 -
C++ STL相关知识——学习笔记
一、STL介绍STL标准模板库,由惠普实验室提供,里面集成了常用的数据结构类模板和算法函数模板等。容器:用来存储各种类型数据的数据结构。迭代器:类似于专门用来指向容器成员的指针,用来遍历、操作、管理容器中的成员,可以大大提高容器的访问速度。算法:STL实现了常见的排序、查找算法。List:双端链表容器iterator:用来指向容器中的元素begin() 获取指向第一个元素的迭代器e...原创 2019-08-27 11:57:47 · 305 阅读 · 0 评论 -
C++实现 企业信息管理系统
2.1总体需求2.2管理需求3.总体架构由于代码量比较大,请移步GitHub或码云码云:传送门,GitHub:传送门Windows版也更新了,没有测试的很完整,如有错误可自行修改话不多说,直接上效果如果报错getch.h,请将对应位置的<>换成" "超级管理员 账号 admin 密码 admin管理员 账号 a1 密码 ...原创 2019-08-28 19:16:16 · 1745 阅读 · 3 评论 -
C++基础知识(四)——学习笔记
面向过程编程:关注是问题解决的过程步骤,算法面向对象编程:关注的是谁能解决问题(类),需要什么样的数据(成员变量),具备什么样的技能(成员函数)才能解决问题。抽象:找出一个能够解决问题的“对象”(观察研究对象),找出解决所必须的数据(属性)、功能(成员函数)。封装:把抽象的结果,归结为一个类(数据类型),然后实例化出类对象,设置对象的属性,调用对象的功能达到解决问题的目的...原创 2019-09-19 20:22:16 · 224 阅读 · 0 评论 -
C++基础知识(一)——学习笔记
思考题:C与C++的区别?一、C++介绍本贾尼·斯特劳斯特卢普,与1979年4月份贝尔实验室的本贾尼博士在分析UNIX系统分布内核流量分析时,希望有一种有效的更加模块化的工具。1979年10月完成了预处理器Cpre,为C增加了类机制,也就是面向对象,1983年完成了C++的第一个版本,C with classes也就是C++。C++与C的不同点:1、C++完全兼容C的所有语法(内容)2...原创 2019-08-14 12:13:44 · 438 阅读 · 1 评论 -
C++ 制作一个“测运”小游戏-rand()函数的应用
游戏说明: 游戏名:LuckyGuy 玩法说明:有2种模式可以选择,一种是一直选择数字,直到抽到炸弹为止。另一种是在0~9个数字中进行选择,有5个炸弹,最高分为5,抽到炸弹即游戏结束。游戏结束后,可以选择继续玩或者直接退出。 主要用到了rand()函数,具体用法可以参考:百度百科文件下载:码云:传送门程序主界面:源码如下:#include...原创 2019-07-09 13:35:04 · 344 阅读 · 0 评论 -
PAT 1018.锤子剪刀布 C++
#include <iostream>#include<stdio.h>using namespace std;//用最朴实的方法,没错,我就是这么loint main(){ int B1=0,B2=0,C1=0,C2=0,J1=0,J2=0,n; cin>>n; int p=0; char a,b; for(...原创 2017-11-29 17:28:18 · 362 阅读 · 2 评论 -
PAT1042. 字符统计(20) C++
//编译器编译时可能会有些小问题,不过可以通过#include #include #include #include using namespace std;int main(){ string str; getline(cin,str); int n=str.length(); char * cstr = new char [n+1]; st原创 2017-12-08 21:04:33 · 347 阅读 · 0 评论 -
PAT 1058. 选择题(20) C++
#include #include #include #include using namespace std;int main(){ int N,M; cin>>N>>M; getchar(); int score[M]; int Cnum[4]; int Tnum[4]; char answer[1000]; string str1[M原创 2017-12-23 14:51:10 · 452 阅读 · 0 评论 -
PAT1041. 考试座位号(15) C++
#include #include using namespace std;int main(){ int n; string num[1001]; int seat1[1001],seat2[1001]; cin>>n; for(int i=0;i<n;i++) { cin>>num[i]>>seat1[i]>>seat2原创 2017-12-08 21:06:35 · 279 阅读 · 0 评论 -
PAT1036. 跟奥巴马一起编程(15) 简单写法 C++
#include using namespace std;int main(){ int N,n; char C; cin>>N>>C; if(N%2!=0) //判断四舍五入部分 n = N/2+1; else n = N/2; for(int j=0;j<N;j++) {原创 2017-12-07 19:00:12 · 403 阅读 · 0 评论 -
PAT1037. 在霍格沃茨找零钱(20)C++
#include using namespace std;int main(){ int g1,s1,k1,g2,s2,k2; char x='.'; //cin不能写成cin>>".">>s1; 这样就能解决问题 int P,A,money; cin>>g1>>x>>s1>>x>>k1; cin>>g2>>x>>s2>>x>>k2;原创 2017-12-07 19:43:14 · 995 阅读 · 3 评论 -
PAT 1070. 结绳(25) C++
#include using namespace std;int main(){ int N; cin>>N; double len[N-1]; for(int i=0;i<N;i++) { cin>>len[i]; } for(int i=0;i<N;i++) { for(int j=0;j原创 2018-01-12 21:19:16 · 319 阅读 · 0 评论 -
c/c++ 去除数组中重复的元素
for(int i=0;i<len;i++) //冒泡循环{ for(int j=i+1;j<len;j++)//从i后的一个元素一直往len-1位置寻找 { if(num[j]==num[i]) //如果发现重复 { for(int k=j+1;k<len;k++)//j+1的位置到len-...原创 2018-01-14 15:18:18 · 20853 阅读 · 14 评论 -
PAT乙级1001.害死人不偿命的(3n+1)猜想 (15)
#include <iostream>using namespace std;int main(){ int n; cin>>n; int x=0; while(n!=1) { if(n%2==0){ n=n/2; }else{ n=(3*n+1)/2; } x++; } ...原创 2018-03-11 18:58:07 · 243 阅读 · 0 评论 -
PAT 乙级 1006. 换个格式输出整数 (15)
#include <iostream>using namespace std;int main(){ int n; cin>>n; int x[2]; x[0]=n%10; x[1]=(n/10)%10; x[2]=n/100; string change; string a=""; string b=""; string c=...原创 2018-03-11 19:32:05 · 273 阅读 · 0 评论 -
PAT 乙级1082 射击比赛 (20 分)C++
#include <iostream>#include <stdio.h>using namespace std;int main(){ int n; cin>>n; int ID[n]; //先用int存储,之后在输出时补0 int x[n],y[n]; //x 和 y 是其打出的弹洞的平面坐标(x,y)...原创 2019-03-05 18:35:37 · 293 阅读 · 0 评论 -
PAT乙级 1083 是否存在相等的差 (20 分)C++
#include <iostream>#include <stdio.h>using namespace std;int main(){ int n; cin>>n; int a[10000]; int num[n]; for(int i=0;i<n;i++) { cin>...原创 2019-03-08 14:56:05 · 287 阅读 · 0 评论