自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

遨游

平淡而多彩

  • 博客(48)
  • 资源 (3)
  • 收藏
  • 关注

原创 vista Enterprise版本sql server 2005 developer版本的安装

我的PC的操作系统是Vista Enterprise版的,先装了Visual studio 2008之后再装SQL server 2005的,装的是开发版的1.7G左右的那个包,但是装完之后总是只有配置工具,没有使用界面,我卸了重装还是同样的结果,在网上看有的网友说要装新实例,不

2011-09-20 09:44:45 882

原创 最容易理解的快速排序方法和程序

希尔排序相当于直接插入排序的升级,它们同属于插入排序类,堆排序相当于简单选择排序的升级,它们同属于选择排序类。而快速排序其实就是我们前面认为最慢的冒泡排序的升级,它们都属于交换排序类。即它也是通过不断的比较和移动交换来实现排序的,只不过它的实现,增大了记录的比较和移动的距离,将关

2011-09-16 15:06:04 1785

原创 数组作为函数形参和用指针作为函数形参

还是有差别的虽然大多数时候都可以相互用最大的差别就是指针可以改变,可以通过指针改变指向内容的值,但数组名不行举个例子:(分别作为形参)int num[10], *p;p = num;//此时p指向数组的第一个元素在主函数里调用两个函数1 Sum(num);

2011-09-14 20:46:07 3546 1

原创 asp.net,报错“上下文中不存在名称‘控件的ID’”

第一次碰到这样的错误。部分前台代码如下: Customer_id

2011-09-14 10:46:43 6792 1

原创 循环链表实现约瑟夫环

设计一个带头结点的循环单链表类,实现约瑟夫环问题;问题描述:设编号为1,2,…,n(n>0)个人按顺时针方向围坐-圈,每人持有一个正整数密码。开始时任意给出一个报数上限值m从第一个人开始顺时针方向自1起顺序报数。报到m时停止报数,报m的人出列,将他的密码作为新的m值,

2011-09-13 21:49:46 1103

转载 Convert.ToInt32()与int.Parse()的区别

(1)这两个方法的最大不同是它们对null值的处理方法Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则会产生异常。没搞清楚Convert.ToInt32和int.Parse()的细细微区别时千万别乱用,否则可能会

2011-09-13 13:34:06 597

原创 gridView编辑和删除时报错

今天使用gridview控件,允许自动添加编辑和删除按钮,但是运行出来去操作时报错如下:1、除非指定UpdateCommand,否则数据源SqlDataSource不支持更新操作2、除非指定了 DeleteCommand,否则数据源“SqlDataSource1”不支持删

2011-09-07 16:14:36 4470 6

转载 存储过程的基本操作(SQL Server Management Studio)

最近在用VS2008+Sql server 2005做开发,要用到以前没有做过的存储过程,找了些关于存储过程的基本操作,留档以备使用。创建存储过程在对象资源管理器中,连接到 SQL Server 2005 数据库引擎实例,再展开该实例。展开

2011-09-02 10:58:31 7263

原创 用递归和非递归的方法把一个十进制数转换为二进制序列

<br />#include <stdio.h>//递归方法void int_binary(unsigned int integer){ int i = 0,j; int b[32]; if(integer == 0) return; if(integer > 0) //终止条件 { b[i++] = integer % 2; integer /= 2; int_binary(integer); } b[i] = '/n'; for

2011-05-24 14:14:00 3910

转载 VC sizeof(struct)内存分配分析

sizeof使用介绍  本文主要包括二个部分,第一部分重点介绍在VC中,怎么样采用sizeof来求结构的大小,以及容易出现的问题,并给出解决问题的方法,第二部分总结出VC中sizeof的主要用法。  1、sizeof应用在结构上的情况  请看下面的结构:  str

2011-05-20 13:58:00 774 1

原创 TCPL(The C Programming Language)读书笔记 第七章 输入与输出

<br />1、           标准输入/输出<br />最简单的输入机制是使用getchar函数从标准输入中(一般为键盘)一次读取一个字符:int getchar(void)  getchar函数在每次被调用时返回下一个输入字符。若遇到文件结尾,则返回EOF(值为-1)。<br />getchar 由宏实现:#define getchar() fgetc(stdin)。getchar有一个int型的返回值。当程序调用getchar时,程序就等着用户按键。用户输入的字符被存放在键盘缓冲区中,直到用户按

2011-04-12 14:37:00 1034

转载 strdup与strcpy

strdup与strcpy具体的区别,以及在不同操作系统下的使用。 strdup 原型:extern char *strdup(char *s); 用法:#include 功能:复制字符串s 说明:返回指向被复制的字符串的指针,所需空间由malloc()分配且可以由free()释放。 举例: // strdup.c #include #include int main(void) { char *from = "Golden Global View"; char *to =

2011-04-11 10:12:00 1836

原创 TCPL(The C Programming Language)读书笔记 第六章 结构

<br />1、           结构的基本知识<br />struct point{<br />    int x;<br />    int y;<br />};<br />    关键字struct引入结构声明。结构声明由包含在花括号内的一系列声明组成。struct后面的名字是可选的,称为结构标记。结构标记用于为结构命名,在定义之后,结构标记就代表花括号内的声明。<br />    结构中定义的变量称为成员。结构成员、结构标记和普通变量(即非成员)可以采用相同的名字,它们之间不会冲突,但通常只有密

2011-04-06 14:36:00 954

原创 TCPL(The C Programming Language)读书笔记 第五章 指针与数组

<br />1、指针与地址<br />   指针是一种保存变量地址的变量。<br />机器的一个字节可以存放一个char类型的数据,两个相邻的字节存储单元可存储一个short(短整型)类型的数据,而4个相邻的字节存储单元可存储一个long(长整型)类型的数据。指针是能够存放一个地址的一组存储单元(通常是两个或4个字节)。<br />一元运算符&可用于取一个对象的地址,它只能应用于内存中的对象,即变量与数组元素。不能作用于表达式、常量或register类型的变量。<br />一元运算符*是间接寻址或间接引用运

2011-04-01 15:02:00 2117

原创 指向函数的指针(函数指针)和指针函数

<br />      在C语言中,一碰到指针,人就比较容易犯晕,尤其是我,虽然知道指针神话了C语言,但也深知指针的麻烦。<br />      今天看书看到指向函数的指针,顿时又陷入自我混沌状态,这是本着逃避心理的混沌!但是总是要慢慢明白的,所以就根据网络上看到的和书上读到的,在此尽我所能得总结下,以便后续学习回过头来回忆...<br />      书上说,在C语言中,函数本身不是变量,但可以定义指向函数的指针。这种类型的指针可以被赋值、存放在数组中、传递给函数以及作为函数的返回值等等。这个可以基本说明

2011-04-01 14:36:00 1073

转载 C语言 内存分配 (malloc/realloc/calloc区别)

<br />void* realloc(void* ptr, unsigned newsize);<br />void* malloc(unsigned size);v<br />oid* calloc(size_t nelem, size_t elsize);都在stdlib.h函数库内。<br />C语言的标准内存分配函数:malloc,calloc,realloc等。<br />       malloc与calloc的区别为1块与n块的区别:malloc调用形式为(类型*)malloc(size):

2011-03-31 10:49:00 867

原创 TCPL(The C Programming Language)读书笔记 第四章 函数与程序结构

<br />1、           再说浮点数<br />浮点数常量中包含一个小数点(123.4)或一个指数(2e-2,【浮点数2e-2是2乘以10的-2次方,这个竟然一时搞不清楚了,狂汗!】),也可以两者都有。没有后缀的浮点数常量为double型。后缀f或F表示float型,而后缀l或L则表示long double类型。<br />2、           作用域规则<br />名字的作用域指的是程序中可以使用该名字的部分。对于在函数开头声明的自动变量来说,其作用域是声明该变量名的函数。不同函数中声明的

2011-03-25 14:03:00 838

转载 COleDateTime和COleDateTimeSpan类详细分析

<br />    在MFC中操作时间的类主要有两对:CTime和CTimeSpan与COleDateTime和COleDateTimeSpan,CTime和CTimeSpan主要封装了ANSI time_t和关于time_t的Run-Time库的主要函数,CTime里面使用的成员变量是time_t类型,该类型是个long型,由于long类型的原因,所以该类只能处理4294967296秒约68年的数据,所以用CTime只能处理1970年到2038年的日期。<br />    幸好,MFC同时提供了COleD

2011-03-18 11:11:00 4445

转载 CArray的类成员函数和使用方法详解

<br />CArray基础<br />C++并不支持动态数组,MFC提供了一个CArray类来实现动态数组的功能。有效的使用CArray类,可以提高程序的效率。MFC提供了一套模板库,来实现一些比较常见的数据结构如Array,List,Map。CArray即为其中的一个,用来实现动态数组的功能。<br />一、CArray类的构造函数<br />CArray是从CObject派生,有两个模板参数,第一个参数就是CArray类数组元素的变量类型,后一个是函数调用时的参数类型。有一个类 class Objec

2011-03-17 14:28:00 25936 8

原创 scanf函数细节

<br />1、输入数组元素时需要注意的细节<br />char s[3];int i;//输入数组元素有两种方法//方法1:for (i = 0;i<3;i++) scanf("%c",&s[i]);//方法2:scanf("%c",s);<br />如果数组名,就不需要&,如果是数组元素,就需要&;因此,上述方法1中,s[i]前如果不加&就会报错。<br />2、内存问题<br /> #include <stdio.h>void main(){ ch

2011-03-16 11:53:00 913

原创 TCPL(The C Programming Language)读书笔记 第三章 流控制

<br />1、switch语句<br />switch语句是一种多路判定语句,它测试表达式是否与一些常量整数值中的某一个值匹配,并执行相应的分支动作。break语句将导致程序的执行立即从switch语句中退出。<br />跳出switch语句最常见的方法是使用break语句与return语句,break语句还可强制控制从while、for与do循环语句中立即退出。<br />2、break与continue语句<br />break语句能使程序从switch语句或for、while与do-while等循环

2011-03-16 11:36:00 676

转载 count_if函数详解

<br /><br />count_if :返回区间中满足指定条件的元素数目。<br />template<class InputIterator, class Predicate><br />   typename iterator_traits<InputIterator>::difference_type count_if(<br />      InputIterator _First, <br />      InputIterator _Last,<br />      Predicate _P

2011-03-08 16:25:00 10841

原创 VC,new project时的选择

<br />     接触代码的时间真不短了,但因为是学生,需要做的顶多是些课程设计,甚至一些百行内的小程序。后来实习了,做的基本也是比较简单的东西,在现有框架中实现一些小功能了,或者写些SQL语句什么的。直到现在,从来都没有自己单独做过个什么工程或者项目。惭愧之极啊...<br />      最近需要做个比较完整的东西,要求在现有的工作空间新建一个工程实现一些功能,然后在总的工作空间中调用实现。我折腾好长时间没折腾明白该怎么下手做。今天我挨个试了一下,发现这是个好办法,虽然比较费劲,但是保证能找到你想要

2011-03-02 15:05:00 971

转载 rand()和srand((unsigned)time(NULL))产生的随机数有什么不同

<br />    函数rand()是真正的随机数生成器,而srand()会设置供rand()使用的随机数种子。函数rand()会返回一个处于0和你所指定的数值(缺省为1)之间的分数。如果你在第一次调用rand()之前没有调用srand(),那么系统会为你自动调用srand()。而使用同种子相同的数调用srand()会导致相同的随机数序列被生成。<br />    srand((unsigned)time(NULL))则使用系统定时/计数器的值做为随机种子,所以,在相同的平台环境下,显示的随机数会是伪随机数

2011-02-24 16:34:00 9764 1

原创 TCPL(The C Programming Language)读书笔记 第二章 类型、运算符与表达式

<br />2.1 变量名<br />变量名由字母和数字组成,但第一个字符必须是字母。下划线“_”被看作是字母,通常用于命名较长的变量名。由于例程的名字通常以下划线开头,因此变量名不要以下划线开始。在传统的C语言中,变量名使用小写字母,符号常量全部使用大写字母。<br />类似于if、else、int、float等关键字是保留给语言本身使用的,不能用作变量名,所有关键字中的字符都必须小写。<br />2.2 数据类型及长度<br />    C语言中只提供了这几种基本数据类型:char,int,float,

2011-02-21 16:47:00 1129

原创 附录1 外部变量

外部变量的定义形式是:extern 类型说明符变量名;所谓"外部"是相对于函数"内部"而言的,C语言的外部变量就是定义在所有函数之外的全局变量。它可以被所有的函数访问,在所有函数体的内部都是有效的,所以函数之间可以通过外部变量直接传递数据。例1:分析程序运行结果。#include int x; /* 说明外部变量x */main( ){ void addone( ), subone( );x=1; /* 为外部变量x赋值 */printf ("x begins is %d/n", x

2011-02-21 15:19:00 918

原创 TCPL(The C Programming Language)读书笔记 第一章导言

1.1             入门一个C语言程序,无论大小如何,都是由函数和变量组成的。函数中包含一些语句,以指定所要执行的计算操作;变量则用于存储计算过程中使用的值。函数之间进行数据交换的一种方法是调用函数向被调用函数提供一个值(称为参数)列表。1.2             变量与算术表达式输出格式说明表%d按照十进制整型数打印%6d按照十进制整型数打印,至少6个字符宽%f按照浮点数打印%6f按照浮点数打印,至少6个字符宽%.2f按照浮点数打印,小数点后有两位小数%6.2f按照浮点数打印,至少6个字符

2011-02-21 15:16:00 822

转载 C++ STL轻松导学

1 初识STL:解答一些疑问1.1 一个最关心的问题:什么是STL"什么是STL?",假如你对STL还知之甚少,那么我想,你一定很想知道这个问题的答案,坦率地讲,要指望用短短数言将这个问题阐述清楚,也决非易事。因此,如果你在看完本节之后还是觉得似懂非懂,大可不必着急,在阅读了后续内容之后,相信你对STL的认识,将会愈加清晰、准确和完整。不过,上述这番话听起来是否有点像是在为自己糟糕的表达能力开脱罪责呢?:)不知道你是否有过这样的经历。在你准备着手完成数据结构老师所布置的家庭作业时,或者在你为你所负责的某个软

2011-02-21 14:51:00 687

原创 STL算法学习

STL算法学习,小结如下:一   函数对象: 因为很多的算法中多使用了函数对象二元函数对象,V1和V2为输入,V3为结果plus:  transform(V1.begin(), V1.end(), V2.begin(), V3.begin(),plus());其他的二元函数对象:minus,multiples,divieds,modulus.二元断言函数对象,使用时需要bind2nd()或bind1st()来绑定比较对象。less:  find_if(L.begin(), L.end(), bind2nd(

2011-02-21 11:21:00 561

原创 深度迷茫

<br />      从上大学开始到现在,我还处在什么都学一点,什么都了解一点,但是什么都不太会的阶段。<br />      觉得这个基础不好就去看一下,觉得那个也该会一点然后也去看一下,但是都没有到深入了解的阶段,皮毛 of this + 皮毛 of that = nothing。半年后就要找工作,现在自己还处于nothing阶段,感觉非常慌乱...<br />      因为学的计算机科学与技术,接触了这个语言那个语言,平时也写了一些小程序,但是没有做过什么像样的软件。论坛上老是有人说做研发多累多恐

2011-02-14 16:19:00 551

原创 MFC 给按钮帖位图

<br /> VC中对话框上编辑里,通过控件方式无法给按钮设定图片的,需写代码实现,还好代码量不大,哈哈!<br />首先建立基于对话框的MFC应用程序工程testDlg,添加按钮,ID为IDC_BUTTON_TEST,接下来<br />一,首先建立位图句柄<br />// 方法一:加载非资源图片 HBITMAP hBitmap; hBitmap = (HBITMAP)::LoadImage( NULL, "E://a.bmp",

2010-12-13 16:21:00 1936

原创 第八章 定时器

<br />    1、Microsoft Windows定时器是一种输入设备,它周期性地在每经过一个指定的时间间隔后就通知应用程序一次。应用程序将时间间隔告诉Windows,然后Windows给应用程序发送周期性发生的WM_TIMER消息以表示时间到了。<br />    2、定时器入门<br />    应用程序通过呼叫SetTimer函数为Windows程序分配一个定时器。SetTimer有一个时间间隔范围为1毫秒到4,294,967,295毫秒(将近50天)的整数型态参数,指示Windows每隔多久

2010-10-09 10:08:00 675

原创 第七章 鼠标

<br />    1、对于客户区的鼠标消息,其lParam值均含有鼠标的位置:低位字为x坐标,高位字为y坐标,这两个坐标是相对于窗口客户区左上角的位置。可以用LOWORD和HIWORD来提取这些值:<br />x=LOWORD(lParam);y=HIWORD(lParam);<br />wParam的值指示鼠标键及Shift键和Ctrl键的状态。<br />    2、窗口过程可以“捕获鼠标”并且连续地接收鼠标消息,即使此时鼠标在该窗口客户区之外。<br />    3、如果正在显示一个模态系统消息

2010-08-13 10:23:00 755

原创 SaveDC()和RestoreDC()

    补充一点保存设备描述表的内容。    在某些情况下,您可能想改变某些设备描述表属性,用改变后的属性进行绘图,然后恢复原来的设备描述表。要简化这一过程,可以通过如下调用来保存设备描述表的状态:    idSaved = SaveDC(hdc);    现在,可以改变一些属性,在想要回到调用SaveDC前存在的设备描述表时,调用:    RestoreDC(hdc,idSave);    您可以在调用RestoreDC之前调用SaveDC数次。    大多数程序员以不同的方式使用SaveDC和Resto

2010-07-28 10:30:00 4007

原创 第五章 图形基础

     1、图形设备接口(GDI:Graphics Device Interface)是Windows的子系统,它负责在视频显示器和打印机上输出图形;从程序员的观点来看,GDI由几百个函数调用和一些相关的数据类型、宏和结构组成;因为PC兼容机上可以连接许多种不同的视屏设备,所以GDI的主要目的之一是支持与设备无关的图形;一个设备描述表通常是指一个物理显示设备,如视频显示器和打印机。     2、GDI函数调用。组成GDI的几百个函数调用可分为几大类:获取(或创建)和释放(或清除)设备描述表的函数;获取有关

2010-07-27 11:01:00 540

原创 学习中的烦躁

<br />    I'm whiny when I feel exhausted. I think I'm not very good at programming. I'm study about 《Windows programming》recently, there are so many trouble. I can't understand most of them, so I look over the help document MSDN, but now I find my English

2010-07-24 14:40:00 547 2

转载 SCROLLINFO结构的使用

<br />在窗口程序中添加滚动条很容易,只要在CreateWindow中将WS(window style)添加WS_VSCROLL与WS_HSCROLL即可,然后再调用相应的函数就可以使用了。<br />滚动条有范围和位置(滚动框在滚动条上的位置)属性,设置范围和位置可以使用之前的函数,如:SetScrollRange()、SetScrollPos()、GetScrollRange()、GetScrollPos()等,但目前通常使用SetScrollInfo()与GetScrollInfo(),使用这两个

2010-07-23 16:35:00 386 2

原创 偶遇“winver”

    今天自己编写照书《windows 程序设计》第四章的sysmets1程序,结果出错如下:sysmets1/sysmets1.h(147) : error C2065: 'SM_MOUSEWHEELPRESENT' : undeclared identifiersysmets1/sysmets1.h(147) : error C2099: initializer is not a constantsysmets1/sysmets1.h(147) : warning C4047: 'initializi

2010-07-22 15:39:00 761

原创 窗口和消息

    1、所谓“Windows给程序发送消息”,是指Windows调用程序中的一个函数,该函数的参数描述了这个特定的消息。这种位于Windows程序中的函数被称为“窗口过程”。    2、程序创建的每个窗口都有相关的窗口过程。这个窗口过程是一个函数,既可以在程序中也可以在动态链接库中。Windows通过调用窗口过程来给窗口发送消息。窗口过程根据此消息进行处理,然后将控制返回给Windows。    3、在面向对象的程序设计中,对象是代码与数据的组合。窗口是一种对象,其代码是窗口过程。数据是窗口过程保存的信

2010-07-21 17:47:00 347

转载 va_list、va_start、va_arg、va_end宏的学习

    今天学习碰到va_list、va_start、va_arg、va_end这些宏,仔细看了下MSDN,又在网上看了各位高手的解释,转来参考。     当你的函数的参数个数不确定时,就可以使用上述宏进行动态处理,为你的程序增加灵活性。    首先介绍宏_INTSIZEOF(n),它求出变量占用内存空间的大小,是va的实现的基础。#define _INTSIZEOF(n)   ((sizeof(n)+sizeof(int)-1)&~(sizeof(int) - 1) )      从上图中可以很清楚地看出

2010-07-21 11:19:00 728

windows 程序设计第五版源代码

买书时光盘中的源代码,从第1章到第23章,每章都有。

2010-07-12

C语言动态地使用*号输出空心菱形

根据输入的数字(大于等于5的奇数)输出相应的菱形,并且是挖空的菱形

2009-04-12

mschart示例(VC实现统计图形)

MSChart控件绘制直方图(条形图)、折线图、饼图、标记图、填充区域图等

2009-04-11

空空如也

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

TA关注的人

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