自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (1)
  • 收藏
  • 关注

原创 MFC实现对话框的停靠窗口

MFC实现对话框的停靠窗口 1.对话框建立 插入Dialog,ID改为DIALOG_SET; 添加相关控件 添加类CSetting 对话框的属性设置 border->None style->child 2.停靠窗口建立 类导向->添加MFC类->基类CDockablePane MainFrm.h中添加 pubilc成员 :CClassView m_wndClassView; if (!m_wndClassView.Create(_T("Title"), this, CRect(

2020-09-29 09:35:32 2647 1

原创 C++ 实现小写金额转化为大写金额

C++ 实现小写金额转化为大写金额 1.目标 输入小写数字字符串 输出大写金额字符串 类似: 2.实现代码与流程 对需要用到的字符: string stringNum; string unitInt[] = { "整", "元" };//整数单位 string unit[] = {"仟","", "拾","佰"}; string words[] = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" };//大写数字 string unitDecimals

2021-11-10 16:44:12 2372

原创 openCV 像素遍历比较

openCV像素遍历比较 创建单通道纯黑图像,尝试多种方法遍历像素,并计时比较。 创建单通道纯黑图像 //算法计时 double t1,t2,t3,t4; Mat blackcount = Mat(6576, 4384, CV_8UC1, Scalar(0));//单通道CV_8UC3,灰度 imwrite("count.jpg", blackcount); 遍历像素 ```cpp //at 遍历像素 t1 = (double)getTickCount(); for (i = 0; i &l

2021-08-17 14:12:35 368

原创 C++实现共轭梯度算法

C++实现共轭梯度(CG)算法 1.原理 对多元函数极值求解 2.针对A取正定矩阵 3.代码 #include<iostream> #include<vector> using namespace std; double C = 0; vector<double> B = { -4,0 }; vector<double> X_0; vector<vector<double>> A = { {2.0,-2.0},{-2.0,4.0}

2021-03-17 16:04:06 2843

原创 Python实现高斯曲线拟合

Python实现高斯曲线拟合 1.目的 针对光谱离散数据,寻峰完成后截取near峰值的数据,利用高斯拟合重绘单峰曲线,进而实现分峰功能 2.原理 3.代码 import numpy as np from math import log, exp import matplotlib.pyplot as plt from scipy.optimize import curve_fit from scipy import asarray as ar,exp # 将txt文件读入numpy数组 yOrig

2021-03-17 15:46:13 10240 3

原创 error C3646: 未知重写说明符-可能原因互相引用

关于【error C3646: 未知重写说明符】 可能的错误 在MSDN的官方网站中,Complier Error C3646的定义为unknown override specifier,并且其解释为The compiler found a token in the position where it expected to find an override specifier, but the token was not recognized by the compiler. 1.循环引用 在分离式编译中

2020-12-03 15:07:50 5944

原创 视图创建的几个函数讨论

MFC视图创建的几个函数讨论 在View中主要使用的几个函数包括: 1.构造函数 生成本类的对象,但没有产生窗口 2.Create 在view类中,Create 是虚函数由框架调用,是用来“生成一个窗口的子窗口”。Create()负责注册并产生窗口。一个窗口创建(Create)之后,会向操作系统发送WM_CREATE消息,OnCreate()函数主要是用来响应此消息的。 3.OnCreate OnCreate()是一个消息响应函数,是响应WM_CREATE消息的一个函数,而WM_CREATE消息是由Crea

2020-11-20 16:17:24 321

原创 添加测量模块

添加测量模块 1.添加MFC类 CQYView,基类CView 更改基类CbaseView,添加头文件“BaseView.h” 2.对话框资源 IDD_DIALOG_NEW_MEAS [中文(简体)] 添加 按钮 ,修改属性 caption:量子效率测量 ID :IDC_BTN_QuantumYeild 双击按钮添加响应函数 void CCreateNewMeas::OnBnClickedBtnQuantumyeild() 内容暂定: CMainFrame* pMainFrame = (CMainFr

2020-11-20 16:15:16 190

原创 MFC中的CDC类

MFC中的CDC类 windows是一种图形界面的操作系统,它把包括文本在内的所有数据都显示为屏幕上的图像。因此图形的处理是Windows程序设计的重要问题,Windows是依靠图形设备接口(GDI)和设备描述环境(device context,DC)对图形进行支持的。 注:GDI是用于改变DC属性的操作函数的集合 CDC类则是将DC和GDI函数封装到一起形成的类,即设备描述环境类。 CPaintDC是CDC类中最常用的,代表应用程序窗口的客户区,只能被使用在CView类的OnDraw()函数中,声明为:O

2020-11-20 14:00:05 1013

原创 基于MDI实现子窗口显示

基于MDI实现子窗口显示 本实例是MFC中基于多窗口实现子窗口的文字显示 添加类 2.类视图->CGoodBye属性->添加绘图消息 3.修改消息函数 void CGoodBye::OnPaint() { CPaintDC dc(this); // device context for painting // TODO: 在此处添加消息处理程序代码 // 不为绘图消息调用 CMDIChildWnd::OnPaint() CRect rect; dc

2020-11-11 09:05:51 657

原创 MFC主窗口标题修改

MFC主窗口标题修改 类视图->CMainFrame BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) { if( !CMDIFrameWndEx::PreCreateWindow(cs) ) return FALSE; // TODO: 在此处通过修改 // CREATESTRUCT cs m_strTitle = " 量子效率测量系统 "; return CFrameWnd::PreCreateWindow(cs);

2020-10-09 17:16:30 400

原创 MFC多窗口模式中的子窗口标题修改

1.找到ChildFrm.cpp中的PreCreateWindow函数,添加代码: cs.style &=~ (LONG) FWS_ADDTOTITLE; 2.类视图->View类->消息OnInitialUpdate,添加代码: CFrameWnd* pFrame = GetParentFrame(); pFrame->SetWindowTextW(_T(“光谱图”)); ...

2020-10-09 17:04:18 584

原创 MFC用List Control 实现表格停靠窗口

MFC用List Control 实现表格停靠窗口 1.建立Dialog 1.1 类视图->新建Dialog,ID修改为DAILOG_DATA 1.2属性 border->None,Style->Child 1.3对话框添加控件工具->List Control ,属性->view->report 1.4控件关联变量名m_list 1.4右击对话框,添加MFC类CDataDlg,基类CDialogEx 1.5调整控件大小位置,适应Dialog 2.建立停靠窗口 2.1类导

2020-09-30 13:58:01 1397

原创 删除string中的标点

删除string中的标点 string word; word.erase(std::remove_if(word.begin(), word.end(), ispunct),word.end());

2020-09-09 11:03:40 427

原创 C++中如何定义可变形参?

C++中如何定义可变形参? 函数传递参数过程中,当实参数量不确定、类型不确定时,C++主要有两种方法: initializer_list形参 针对实参数量不定但类型相同的情况。 initializer_list是一种标准库类型,用于表示某种特定类型的值得数组。 头文件同名; 同vector一样的是一种模板类型,定义时需说明对象元素的类型,如: initializer_list<string> ls; 而不同于vector的是initializer_list对象中元素为常量值 包含操作: 初

2020-08-26 10:17:01 406

原创 关键字friend的使用注意点

关键字friend c++中类允许其他类或非成员函数访问其private成员,即使其他类或函数成为该类的友员: 1.增加friend关键字开始函数声明语句; 2.友员声明只能在类定义内部,且最好在开始或结束处集中声明 3.友员声明仅指定访问权限,因此为调用函数需在类外专门进行一次函数声明(有编译器不需要)。 ...

2020-08-26 10:09:37 258

原创 关键字 `class`和`struct`

关键字 class和struct 在C++中,都可以用于定义类,唯一区别在于默认的访问权限: 如果使用struct,则定义在第一个***访问说明符***之前的成员是public; 如果使用class,则定义在第一个***访问说明符***之前的成员是private; ...

2020-08-26 09:16:19 191

原创 C++ 循环条件判断常用`“!=“`而不用`“<“`或`“<=“`

C++ 循环条件判断常用"!="而不用"<"或"<=" 其原因在于所有的标准库容器的迭代器都定义了==和!=,但其中大多数并没定义<运算符。因此当习惯于用迭代器和!=,就不用太在意用的是哪一种容器类型。 进而引入迭代器运算符end: auto e=v.end()//e表示v的尾元素下一位置 for(auto it=v.begin();it!=e;it++)//循环条件设置迭代器不指向e 在数组中也引入 int arr[]={0,1,2,3,4,5,6,7,8,9}; int *e=&am

2020-08-18 13:29:29 483

原创 复杂类型的处理-typedef、using、auto、decltype

复杂类型的处理 1.类型别名 自定义类型的同义词,使得复杂的类型名字变得简单明了、易于理解和使用 1.1 typedef typedef char* pstring//定义pstring与char*同类型 1.2 using-别名声明 using pstring=char*//定义pstring与char*同类 注意:如果类型别名指代复合类型或常量,用于声明中可能出错 typedef char* pstring; const pstring cstr = 0;//cstr是指向char的常量指针

2020-08-14 15:51:44 214

原创 const限定符-引用和指针

const限定符 const对变量的类型加以限定,其值不能被改变。 因此必须初始化; const int size=512; 下面分别从引用和指针的角度去分析const的使用 对const的引用 1.引用的类型必须和其引用的对象的类型一致,但存在列外: 初始化常量引用时允许任意表达式为初始值,该表达式结果能转换成引用的类型; int i=43; const int &r1=i;//允许常量引用绑定非常量的对象、字面值,此时的i是可以转化为const int 类型。 int &r2=r1;/

2020-08-13 17:19:46 320

原创 C++复合类型(compound type)——引用和指针的区别

C++复合类型(compound type)——引用和指针的区别 1.引用即别名 声明语句中,类型名 &组成复合类型-引用,是对已存在的对象起了另外一个名字。 int i=1024; int &ri=i;//&紧随类型名,因此是声明的部分,ri是对i的引用 int &ri2;// 报错:未初始化 &出现在表达式中时,为取址符 2.指针 声明语句中,类型名 *组成复合类型-指针 *出现在表达式中时,为解引用符 #include<iostream> in

2020-08-11 11:16:10 297

原创 动态单向链表的建立、输出、删除、插入

单向链表的建立、输出、删除、插入 动态链表的建立 建立链表的函数返回<头指针>; malloc函数(返回void地址)不断分配新的空间给新建的结点; 链表的特征就是结点中包含下一结点的位置信息; #include <stdio.h> #include <stdlib.h> #define LEN sizeof(struct Student) struct Student { int num; int score; struct Student* next; }

2020-08-07 10:30:54 1324 1

原创 单向链表的建立、删除

链表 动态进行存储的分配的数据结构; 含head、结点(实际数据+下一结点地址); 1.以指针定义单结点、双结点链表 ```c #include <stdio.h> #include <stdlib.h> struct node { int data; node *next; } ;//*结构体建立最简单的链表* int main() { struct node *p;//使用指针需先分配动态存储 p=(node*)malloc(sizeof(node));//

2020-08-05 17:30:04 284

FinancialCast.zip

实现小写金额转化为大写金额,完整CPP代码

2021-11-10

空空如也

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

TA关注的人

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