摘要: 问题描述:有一个对话框,里面就放了个只读的编辑框, 在对话框显示前给编辑框SetWindowText了内容,可是对话框显示出来后,编辑框的内容老是那种蓝色覆盖被选中的状态。这太不和谐了,怎么让Edit编辑框中的文字不被选中呢?解决办法: 1 BOOL CTestDlg::OnInitDialog() 2 { 3 // 此处省略程序自动生成的那些代码 4 // 。。。。。。 5 // 。。。。。。。 6 7 CEdit* pEdit = (CEdit*)GetDlgItem(IDC_EDIT1); 8 pEdit->SetWindowText("a... 阅读全文
posted @ 2013-08-21 07:31 He_LiangLiang 阅读(758) 评论(0) 推荐(0) 编辑
摘要: 要将数据保存为.dat文件,而且是16进制的数字,怎么保存?要读取.dat文件,文件是16进制的,怎么读取?用CFileDialog类可以得到【保存】和【打开】的对话框,具体怎么保存和读取,需要我们自己写代码了。这里,和大家分享一下,怎么保存16进制的文件到.dat中?怎样从.dat中读取你保存的16进制数字?对于读取到的这些数据,你想做什么,可以因人而异。您可以在看懂本篇文章的基础上,举一反三。本人也是菜鸟,也是参考了很多论坛上高手的代码。代码虽然能通过编译,可能不是最好的。欢迎大家提出意见。一、保存16进制数字的.dat文件: 1 // 文件的保存 2 // 通过CFile... 阅读全文
posted @ 2013-08-20 00:27 He_LiangLiang 阅读(2523) 评论(0) 推荐(1) 编辑
摘要: 我们一起分享,如何给MFC的菜单项添加快捷键。【程序在VC6.0编译环境下编译通过。(VS2010的编译环境大同小异)】1.程序演示环境1.1新建一个【对话框(Dialog)】的程序。然后,New 一个菜单项。(你应该知道怎么New一个菜单项)1.2然后,再在对话框的属性里面,找到那个【Menu】选项。关联那个 你刚才New的菜单,这样,菜单就被添加到对话框程序中来了。先看个图,再继续介绍。(如果你是在【单文档程序】下测试,那么第1步可以跳过,其他步骤都是一样的!!!)继续看图---------------------- // 设置菜单项的文本信息和ID2.新建一个加速键2.1在【Insert 阅读全文
posted @ 2013-08-19 22:41 He_LiangLiang 阅读(15020) 评论(0) 推荐(0) 编辑
摘要: #include <stdio.h>#include <stdlib.h>#include <time.h>#define MAX_NUMBER 100void initialize_number_generator();int new_secret_number();void read_guesses(int secret_number);main(){ char command; int secret_number; printf("Guess the secret number between 1 and %d. \n\n", MA 阅读全文
posted @ 2013-04-24 10:46 He_LiangLiang 阅读(287) 评论(1) 推荐(0) 编辑
摘要: // 一个模拟发牌的程序。#include <stdio.h>#include <stdlib.h>#include <time.h>#define NUM_SUITS 4#define NUM_RANKS 13#define TRUE 1#define FALSE 0typedef int Bool;main(){ Bool in_hand[NUM_SUITS][NUM_RANKS] = {0}; int num_cards, rank, suit; const char rank_code[] = {'2', '3', & 阅读全文
posted @ 2013-04-23 23:59 He_LiangLiang 阅读(416) 评论(1) 推荐(0) 编辑
摘要: 几个 Simple 的递归例子 1 #include <iostream> 2 using namespace std; 3 4 // 递归求 n! 5 int fact(int n) 6 { 7 if (n <= 1) 8 return 1; 9 else10 return n * fact(n-1);11 };12 13 // 递归求 x^n (x的n次方)14 int power(int x, int n)15 {16 if (0 == n)17 return 1;18 else19 ret... 阅读全文
posted @ 2013-04-23 23:49 He_LiangLiang 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 面试必考。。。。。 1 #include <stdio.h> 2 class CBase 3 { 4 public: 5 virtual void f(int x) 6 { 7 printf("CBase::f 函数打印:整数%d\n",x); 8 } 9 10 void g(float x)11 {12 printf("CBase::g 函数打印:浮点小数%f\n",x);13 }14 };15 16 // 继承类 CDerived17 class CDerived:public CBase18 {19 publ... 阅读全文
posted @ 2013-04-23 23:36 He_LiangLiang 阅读(526) 评论(0) 推荐(0) 编辑
摘要: 快速排序算法(quicksort) 递归经常作为【分治法(divide-and-conquer)】技术的结果自然地出现。这种称为分治法的算法设计技术把一个大问题划分成多个较小的问题,然后采用相同的算法分别解决这些小问题。分治法的经典示例就是流行的排序算法----快速排序(quicksort)。快速排序算法的操作如下(为了简化,假设要排序的数组的下标从1到n) 1.选择数组元素e(作为“分割元素”),然后重新排列数组使得元素从1一直到i-1都是小于或等于元素e的,元素i包含e,而元素从i+1一直到n都是大于或等于e的。 2.通过递归地采用快速排序方法,对从1到i-1的元素进行排序。 3.通... 阅读全文
posted @ 2013-04-23 23:18 He_LiangLiang 阅读(632) 评论(0) 推荐(0) 编辑
摘要: 规律题1:根据以下数字规律,判断最后一个数字是?13 17 29 52 82 ( )【分析】1+3=4, 13+4=17; // 13可以拆为 1, 31+7=8, 17+4+8=29;2+9=11, 29+4+8+11=52;5+2=7, 52+4+8+11+7=82;8+2=10, 82+4+8+11+7+10=122规律题2:根据以下数字规律,判断()中的答案是ABCD中的哪一个?6 4 8 9 12 9 () 26 30 A.12 B.16 C.18 D.22【分析】首尾相对两项相加可组成等差数列, 36, 30, 24, 18, 12.规律题3:根据以下数字... 阅读全文
posted @ 2013-04-23 12:01 He_LiangLiang 阅读(765) 评论(0) 推荐(0) 编辑
摘要: 1 //--------------------------------- 【static】 不是 【const】 --------------------------------------- 2 #include <stdio.h> 3 class A 4 { public: 5 // 声明为静态变量 6 static int i; 7 static int j; 8 int k; 9 public:10 A(int k_){k=k_;}11 static void setj(int j_);12 static void p... 阅读全文
posted @ 2013-04-22 07:17 He_LiangLiang 阅读(193) 评论(0) 推荐(0) 编辑
摘要: size_t 与 unsigned size_t是标准C库中定义的,应为unsigned int,在64位系统中为 long unsigned int。(unsigned 若省略后一个关键字,大多数编译器都会认为是 unsigned int) 在C++中,设计 size_t 就是为了适应多个平台的 。size_t的引入增强了程序在不同平台上的可移植性。size_t是针对系统定制的一种数据类型,一般是整型,因为C/C++标准只定义一最低的位数,而不是必需的固定位数。而且在内存里,对数的高位对齐存储还是低位对齐存储各系统都不一样。为了提高代码的可移植性,就有必要定义这样的数据类型。一般这种... 阅读全文
posted @ 2013-04-20 21:48 He_LiangLiang 阅读(738) 评论(0) 推荐(0) 编辑
摘要: C语言里面的语法:#include <stdio.h>main(){ // 整数前补0: printf("%03d \n", 28); // --- 028 // 小数后补0: printf("%0.7f \n", 2.1); // --- 2.1000000 return 0;}C++里面的语法:#include <iostream> #include <iomanip>using namespace std; int main() { int n = 28; cout<<setw(3)<<s 阅读全文
posted @ 2013-04-20 21:20 He_LiangLiang 阅读(3119) 评论(0) 推荐(0) 编辑
摘要: 单件模式(Singleton Pattern) 关于设计模式,网上有很多相关的书籍。博客园也有很多优秀的文章。 这里,我不再介绍设计模式的详细概念,因为很多人都已经讲了,而且都讲得非常好。请看我整理的这些链接: http://www.cnblogs.com/rollenholt/category/317053.html http://www.cnblogs.com/abcdwxc/category/106719.html http://www.cnblogs.com/lovecherry/archive/2007/10/17/927728.html http://www.cnblo... 阅读全文
posted @ 2013-04-19 23:13 He_LiangLiang 阅读(584) 评论(1) 推荐(0) 编辑
摘要: #include <fstream> 三个类: 类名 (默认的方式)读 ifstream ios::in写 ofstream ios::out读/写 fstream ios::in | ios::out openmode 打开模式说明ios::in 以读取方式打开文件ios::out 以写入方式打开文件ios::app 每次写入数据时,先将文件指针移到文件尾,以追加数据到尾部(append)ios::ate 进初始时将文件指针移到文件尾,仍可以在任意位置写入数据(at end)ios::trunc 写入数据前,先删除文件原有内容(清空文件),当文件不存在时,会... 阅读全文
posted @ 2013-04-19 00:50 He_LiangLiang 阅读(626) 评论(1) 推荐(0) 编辑
摘要: STL综合题:歌唱比赛 某学校举行一场唱歌比赛,共有24个人参加,按参加顺序设置参赛号(参赛号为100至123)。每个选手唱完一首歌之后,由10个评委分别打分。该选手的最终得分是去掉一个最高分和一个最低分,求得剩下的8个评分的平均分。 比赛共三轮,前两轮为淘汰赛,第三轮为决赛。选手的名次按得分降序排列,若得分一样,按参赛号升序排名。 第一轮分为4个小组,根据参赛号顺序依次划分,比如100-105为一组,106-111为第二组,依次类推,每组6个人,每人分别按参赛号顺序演唱。当小组演唱完后,淘汰组内排名最后的三个选手,然后继续下一个小组的比赛。 第二轮分为2个小组,每组6人,每个人分别按... 阅读全文
posted @ 2013-04-17 16:08 He_LiangLiang 阅读(824) 评论(2) 推荐(0) 编辑
摘要: 排序算法 C++ STL 的排序算法(Sorting algorithms)是一组将无序序列排列成有序序列的模板函数或与排序相关的模板函数,提供了排序、折半搜索、归并、集合操作、堆操作、最值求解、字典比较和排列组合等功能。 排序算法一般要求容器提供随机访问迭代器,一般适用于序列容器,如向量容器、队列容器和字符串容器等,但不适用于内部数据结构较为复杂的关联容器,如集合容器、映照容器、哈希集合容器和哈希映照容器等(有些容器是 SGI C++ STL里面的,在编译器自带的STL里面没有,这里不深入讨论,有兴趣的可以自己查相关资料)。目录:元素入堆 push_heap创建堆 make_heap元素出堆 阅读全文
posted @ 2013-04-16 10:39 He_LiangLiang 阅读(2138) 评论(3) 推荐(3) 编辑
摘要: 数值算法 C++ STL 的数值算法(Numeric algorithms)是一组对容器元素进行数值计算的模板函数,包括容器元素求和 accumulate 、两序列元素的内积 inner_product 、容器元素的一系列部分元素和 partial_sum 、容器每对相邻元素的差。应用 accumulate 算法求数组元素和、元素积 1 /* 下面示例程序对数组 iArray={1, 2, 3, 4, 5}进行元素求和、求积 2 */ 3 ----------------------------------------------- 应用 accumulate 算法求数组元素和、元素积... 阅读全文
posted @ 2013-04-15 11:55 He_LiangLiang 阅读(1201) 评论(0) 推荐(0) 编辑
摘要: 变易算法 C++ STL 的变易算法 (Mutating algorithms) 是一组能够修改容器元素数据的模板函数,可进行序列数据的复制、交换、替换、填充、移除、旋转、随机抖动和分割。这些算法对迭代器有较高的要求,具体的迭代器类型随各个算法而定,或前向迭代器、或双向迭代器、又或者是随机迭代器,以提供算法所需要的迭代器操作。应用变易算法时,先要检查容器的迭代器是否符合要求,防止产生编译错误。目录:元素复制 copy 反向复制 copy_backward 元素交换 swap迭代器交换 iter_swap 区间元素交换 swap_r... 阅读全文
posted @ 2013-04-15 10:01 He_LiangLiang 阅读(936) 评论(0) 推荐(2) 编辑
摘要: 非变易算法 C++ STL 的非变易算法(Non-mutating algorithm)是一组不破坏操作数据的模板函数,用来对序列数据进行逐个处理、元素查找、子序列搜索、统计和匹配。作为算法函数参数的迭代器,一般为 Input Iterator 输入迭代器,具有 "++" 迭代和 "*" 访问操作。通过迭代器的元素遍历,可对迭代器区间所界定的元素进行操作。因此,非变易算法具有极为广泛的适用性,基本上可应用于各种容器。目录:逐个容器元素 for_each查找容器元素 find条件查找容器元素 find_if邻近查找容器元素 adjacent_find范围查 阅读全文
posted @ 2013-04-13 18:38 He_LiangLiang 阅读(1201) 评论(1) 推荐(1) 编辑
摘要: priority_queue 优先队列容器 优先队列容器也是一种从一端入队,另一端出对的队列。不同于一般队列的是,队列中最大的元素总是位于队首位置,因此,元素的出对并非按照先进先出的要求,将最先入队的元素出对,而是将当前队列中的最大元素出对。 C++ STL 优先队列的泛化,底层默认采用 vector 向量容器,使得队列容器的元素可做数组操作,从而应用堆算法找出当前队列最大元素,并将它调整到队首位置,确保最大元素出队。 堆算法(heap algorithm) 具有 nLog(n) 阶的算法时间复杂度,本章只简单介绍一下,更详细的算法分析,留在后面的算法篇中。此外,优先队列也可看作容器适配器,将 阅读全文
posted @ 2013-04-12 14:31 He_LiangLiang 阅读(1259) 评论(0) 推荐(0) 编辑