Welcome 微信登录

首页 / 软件开发 / C++

24点扑克牌游戏的算法实现

24点扑克牌游戏的算法实现

24点扑克牌游戏的算法实现2010-06-02 csdn博客 清晨的老巢二十四点扑克牌游戏大概所有人都玩过,规则非常简单,随机抽出四张牌,由1到9中的数字组成(当然也可以扩展到任意整数),然后利用加减乘除以及括号组成一个算术表达式,计算这个表达式的结果是否能够为24(或任意整数)。看到这个题的第一反应就是利用穷举法来做,也就是建立一个搜索树,把所有的可能枚举出来,然后检查每种可能是否结果可以为24。基于这种思想,我们可以把问题分成三个步骤:首先可以列出4个...
三态选择树实现终结者

三态选择树实现终结者

三态选择树实现终结者2007-10-06王佳豪示例代码运行效果图如下:在很多情况下,我们经常需要实现树的多态选择,如上图所示,当全部子节点选中的情况下,当前节点才被选中(如图示[荆门市]节点),当子节点部分选中时,当前节点处于第三态(如图示[湖北省]节点)当全部子节点未选中时,当前节点处于未选中的状态(如图示[江苏省]节点)。本文就介绍这种三态选择树的具体实现方法。在VC知识库第十九期中河南科技大学丛雷朋友也介绍了一种实现方法,两种方法比较,本文介绍的方法...
水晶报表在VC++6.0中的简单使用方法

水晶报表在VC++6.0中的简单使用方法

水晶报表在VC++6.0中的简单使用方法2007-10-06xiaojin水晶报表是一个报表设计开发的强大工具,功能强大,设计灵活,在水晶报表光盘中只提供了一个完全动态生成报表的例子,使用繁琐。现介绍其在VC++6.0中的简单使用方法。编译环境:VC++6.0 sp5 、Windows 2000 Server sp3 (en)。一、导入水晶报表使用的动态联接库:根据实际修改文件路径。#import "C:Documents and Setting...
在C++中使用Lambda函数提高代码性能

在C++中使用Lambda函数提高代码性能

在C++中使用Lambda函数提高代码性能2010-06-02 51CTO 翻译:杨赛使编译器以及操作系统从正在创建的应用中榨取更高性能的关键在于提供充足的有关代码意图的信息。在充分了解这个代码意图实现的功能等信息的情况下,就有可能将代码在编译时和运行时的并行吞吐量最大化,令开发者可以将更多精力放在他们所关注的商业领域的问题,将重量级的多核多处理器的任务计划交托给编译器,运行时库以及操作系统中的基础设施代码来处理。循环函数是很重要的一个环节,因为在所有可用...
VC防止窗口和控件闪烁的方法

VC防止窗口和控件闪烁的方法

VC防止窗口和控件闪烁的方法2007-10-061、将Invalidate()替换为InvalidateRect()Invalidate()会导致整个窗口的图象重画,需要的时间比较长,而InvalidateRect()仅仅重画Rect区域内的内容,所以所需时间会少一些。虫虫以前很懒,经常为一小块区域的重画就调用Invalidate(),不愿意自己去计算需要重画的Rect,但是事实是,如果你确实需要改善闪烁的情况,计算一个Rect所用的时间比起重画那些不需要...
Boost Test学习总结(C++)

Boost Test学习总结(C++)

Boost Test学习总结(C++)2010-06-02 博客园 Robin19861.常用的C++单元测试框架测试驱动开发(TDD)已经是一种非常流行的开发方式了,在Java和.Net中都提供了非常好的单元测试框架,最近研究C++下面的单元测试,发现其实在C++中还是有很多选择:CPPUnit:著名的XUnit系列产品之一,熟悉JUnit、NUnit的开发人员可以很快上手。CXXTest:需要进行预处理,需要安装Perl或Python。Boost Te...
VC实现类似EXCEL的报表类库

VC实现类似EXCEL的报表类库

VC实现类似EXCEL的报表类库2007-10-06朱志雄此代码是一个电子表格类库,还不是很完善,希望大家给多点意见和建议,我会尽快把相应功能丰富进去的。我的信箱:zzxiong@citiz.net现在这个sample不是很完整,我也正在完善中,相应的函数接口到时我会整理成一个文档发布给大家。声明:对于此代码中可能引用了其他网站上的一些技术,如果侵犯了相关作者的权益请尽快联系我,我会删除其中不合适部分。也请下载此代码的人尊重代码的原作者的意愿。若下载者要使...
关于C++类成员函数的重载、覆盖、隐藏与virtual关键字

关于C++类成员函数的重载、覆盖、隐藏与virtual关键字

关于C++类成员函数的重载、覆盖、隐藏与virtual关键字2010-06-02 博客园 phoenix8848cn1. 重载、覆盖与隐藏1).重载:成员函数具有以下的特征时发生"重载"A.相同的范围(同一个类中)B.函数的名字相同C.参数类型不同(不能进行隐式类型转换)D.Virtual关键字可有可无2).覆盖(也叫"继承"):指派生类函数覆盖基类函数,特征是:A.不同的范围(分别位于基类与派生类中)B.函数名字相...
CGfxOutBarCtrl之BUG篇

CGfxOutBarCtrl之BUG篇

CGfxOutBarCtrl之BUG篇2007-10-07 VC知识库 李晓飞我是一位的初学者,算起来时间还不到四个月,但是我几乎每天都会光临VC知识库网站,我是位界面发烧友,对网站上的新控件都是一一不舍的感觉。VC知识库网站近日刊登的一个仿OutLook的界面类CGfxOutBarCtrl我下载后发现了一些问题,觉得这些小问题有点影响界面整体的美观,大方,所以我想贡献出改进后的CGfxOutBarCtrl全部代码。一、问题的提出现在先让我们列出CGfxO...
VC树型控件拖动的完美实现

VC树型控件拖动的完美实现

VC树型控件拖动的完美实现2007-10-07一块三毛钱树型控件用来显示具有一定层次结构的数据项时方便、直观,被广泛地应用在各种软件中,如资源管理器中的磁盘目录就用的是树型控件,我们在编程中也会经常用到,但 MFC 中提供的 CTreeCtrl 类并不直接支持拖动节点等高级特性,这使我们程序员编程时有很大限制,又给软件用户带来了一些不便。下面就让我们自己动手来解决这个问题,实现树型控件中节点的拖动。我们从 CTreeCtrl 中派生了一个类 CXTreeC...
VC中自定义CRichEditCtrl控件

VC中自定义CRichEditCtrl控件

VC中自定义CRichEditCtrl控件2007-10-07 VC知识库 sonystone在中提供了两种很方便的编辑控件(CEdit 和CRichEditCtrl),一般来说这两种控件已经满足了我们大部分的需要,不过只有CEdit控件能响应我们鼠标右键消息,通过右键我们很容易的操作我们的编辑,而在CRichEditCtrl控件中我们不能得到这样的操作,同时CRichEditCtrl是能够包含各种格式的内容,就好像Word一样能够写入各种不同的字体,不过...
如何在状态栏中实现进度指示器控制

如何在状态栏中实现进度指示器控制

如何在状态栏中实现进度指示器控制2007-10-07NorthTibet我最近作了一个MFC程序,这个程序有时要加载大容量文件,为了让文件加载过程不至于太单调,我想在UI中用进度指示器显示文件的加载过程,而且我想在程序的状态栏中使用这个指示器控制。经过一番研究和尝试,我实现了自己的想法。本文将详细介绍整个实现过程。希望大家在解决类似的问题时少走一些弯路......尽管MFC提供了标准的进度指示器控件(progress control),但是不能在状态栏里直...
在List Control中实现列表项目上下移动

在List Control中实现列表项目上下移动

在List Control中实现列表项目上下移动2007-10-07杨剑前言List Control是Visual 的一个通用控件,在很多程序中都有对它的使用,比如Windows 2000任务管理器的进程显示,就是一个报表样式的List Control。有时候,我们编程不仅需要使用List Control来显示数据,同时还希望能在控件中作一些简单编辑,比如可以上下移动某个选定的列表项,这就是本文所要讨论的内容。介绍本文的示例程序界面如图一所示,移动列表项后...
C++Builder 6中开发Office程序心得(一)

C++Builder 6中开发Office程序心得(一)

C++Builder 6中开发Office程序心得(一)2010-06-11 ccrun TR@SOE一、用控件还是用OLEAutomation?这个问题应该说很常见。我也在任何可能的情况下坚持我的主张:用BCB 6提供的Server控件组。如果你是用Delphi 6/7版本开发,那么用Delphi提供的Server控件组。这样做有什么好处?我个人认为至少有如下两个:第一,维护结构化+OO的程序设计风格。例如:ExcelApplication1->s...
<< 201 202 203 204 205 206 207 208 209 210 >>