当前位置:文档之家› MFC Windows应用程序设计复习题

MFC Windows应用程序设计复习题

MFC Windows应用程序设计复习题
MFC Windows应用程序设计复习题

MFC Windows应用程序设计

【复习】

第1章Windows应用程序基础知识

1. Windows 程序设计是一种( C ) 的程序设计模式。

A:结构化B:面向对象C:事件驱动方式D:XP

2. 用户从所有可能的操作中任意选择,被选择的操作会产生某些特定的( ) ,这些事件发生后的结果是向程序中的某些对象发出( ),然后这些对象调用相应的( C )来完成特定的操作。

A:消息,事件,程序B:消息,命令,消息处理函数

C:事件,消息,消息处理函数D:事件,消息,程序

3. 消息的组成(C)

A:消息名称(UINT)

B:消息名称(UINT)和参数(PARAM)

C:消息名称(UINT)和两个参数(WPARAM,LPARAM)

D:消息名称(UINT)和两个参数(HPARAM,LPARAM)

4. 程序在( B) 对消息进行分析

A:入口函数(WINMAIN)中

B:在窗口过程函数(WNDPROC)中

C:收到消息时

D:消息发生时

5. 一个消息( B )

A:可以不被窗口接受

B:必须由一个窗口接收

C:可以由一个或多个窗口接收

D:必须由多个窗口接收

6. 当没有为某消息编写消息处理时( C )

A:不进行处理

B:程序出错

C:默认的窗口过程进行处理

D:无法发出此消息

7. 应用程序接收到( A )消息时停止接收其他消息

A:WM_QUIT B:WM_DESTORY

C:WM_PAINT D:WM_COMMAND

8. 下列Windows数据格式中,代表设备句柄的是(B)。

A. HWND

B. HDC

C. HINSTANCE

D. HFONT

9. 典型的Windows窗口程序的流程为:(A)

A. 注册窗口类->创建窗口->显示窗口->更新窗口->消息循环

B. 创建窗口->注册窗口类->显示窗口->更新窗口->消息循环

C. 创建窗口->注册窗口类->显示窗口->更新窗口->消息循环

D. 注册窗口类->创建窗口->更新窗口->显示窗口->消息循环

10. 在WinMain函数的原型中HINSTANCE hInstance 定义的是(A)HINSTANCE hPrevInstance定义的是(B)LPSTR lpCmdLine定义的是(C)int nCmdshow)定义的是(D)

A:当前实例句柄B:先前实例句柄

C:指向命令行参数的指针D:窗口的显示状态

11. 以下哪个不是WinMain函数中完成的操作(D)

A:注册窗口类B:创建应用程序主窗口

C:进入应用程序消息循环D:调用窗口过程函数

12. 下面说法错误的是(D)

A:一个Windows程序可以包含多个窗口过程

B:一个窗口过程总是与调用RegisterClass注册的特定窗口类相关联

C:CreateWindow函数根据特定窗口类创建一个窗口,但基于一个窗口类,可以创建多个窗口

D:窗口过程必须由程序调用,而不是由Windows本身直接调用

13. Windows应用程序中使用了各种Windows API函数声明,宏定义,数据类型定义,(D)是主要的包含文件。

A STDIO.H

B WINDEF.H

C WINUSER.H

D WINDOWS.H

14. 注册窗口类型时,窗口风格各个选项可以用(B)运算符联合表示。

A AND(&)

B OR(|)

C 逻辑与(&&)

D 逻辑或(||)

15. 在函数CreateWindow()调用返回之后,Window内部(B)

A:已经创建了这个窗口,但还未分配内存

B:已经创建并分配了内存

C:还未真正创建窗口,等待分配内存

D:还未真正创建窗口,但已经分配内存

16. 关于函数ShowWindow(HWND hwnd,int iCmdShow),下面说法错误的是(C)

A:hWnd是窗体句柄

B:nCmdShow是窗体显示方式

C:nCmdShow与WinMain函数定义的窗体显示方式相同

D:nCmdShow与WinMain函数定义的窗体显示方式必须不同

17. 关于函数UpdateWindow()的说法正确的是(D)

A 该函数的作用是将窗口重新绘制

B 调用该函数后,该函数发出WM_PAINT消息

C 该函数将消息发送给窗口函数进行处理

D 以上答案都正确

18. 下面关于消息循环的说法错误的是(D)

A:Windows为当前运行的每个Windows程序维护一个“消息队列”

B:程序通过执行一块被称为“消息循环”的代码从消息队列中取出消息

C:消息循环从GetMessage调用开始,它从消息队列中取出一个消息

D:GetMessage通常将一个指向msg的MSG结构的指针直接传递给窗口函数WndProc

19. GetMessage对于除了WM_QUIT之外的从消息队列中取出的所有消息都返回(A)

A:非0值B:0 C:1 D:NULL

20. 在(D)之后,WinMain退出消息循环

A 用户通过单击Close按钮或在系统菜单选择Close发出WM_DESTROY消息

B 结束对任何消息的DispatchMessage调用

C 通过调用函数PostQuitMessage(0)在程序的消息队列中插入一个WM_QUIT 消息

D GetMessage取到一个WM_QUIT消息,程序继续执行return msg.wParam

21. 下面说法错误的是(B)

A:窗口过程接受的每一个消息都是用一个数值来表示的

B:窗口过程在处理消息时,必须返回1

C:窗口过程不予处理的所有消息应该被传给名为DefWindowProc的Windows 函数。

D:从DefWindowProc函数返回的值必须由窗口过程返回

22. 下面哪一步确定了在窗口中的客户区域中显示什么,以及在窗口中怎样响应用户输入(D)

A 注册窗口类

B 创建窗口

C 显示窗口

D 窗口过程

23. 关于窗口过程的说法正确的是(C)

A 一个窗口过程能处理基于同一个窗口类创建的多个窗口的消息

B 一个窗口过程只能处理基于同一个窗口类创建的一个窗口的消息

C一个窗口过程能处理基于多个窗口类创建的多个窗口的消息

D一个窗口过程只能处理基于多个窗口类创建的一个窗口的消息

24. 关闭窗口时产生的消息(D)

A、WM_KEYDOWN

B、WM_CREAT

C、WM_DESTROY

D、WM_CLOSE

25. 由CreateWindow函数发出的消息(B)

A、WM_KEYDOWN

B、WM_CREAT

C、WM_DESTROY

D、WM_CLOSE

26. 由PostQuitMessage函数发出的消息(A)

A、WM_QUIT

B、WM_CREAT

C、WM_DESTROY

D、WM_CLOSE

27. 包含一个消息的全部信息,是消息发送的格式的数据结构是(MSG)

28. 系统通过(窗口句柄hwnd)在整个系统中唯一标识一个窗口

29. 系统是根据(消息的接收句柄)来确定要接收消息的窗口的

30. 当同时有多个消息时,系统将(将消息放入消息队列中)

31. MFC功能从底层来说是通过(调用最基本的Win32 API)来实现的。

32. API是(应用程序编程接口)

33. 句柄的含义?

句柄是一个(通常为32位的)无符号整数(unsigned int),通常用它来标识一个内核对象。

34.事件驱动、消息驱动的概念?

事件驱动程序设计是一种全新的程序设计方法,它不是由事件的顺序来控制,而是由事件的发生来控制,而这种事件的发生是随机的、不确定的,并没有预定的顺序,这样就允许程序的的用户用各种合理的顺序来安排程序的流程。35.GetMessage()函数在什么情况下返回0,从而导致消息循环终止,程序结束?

在接收到WM_QUIT消息时返回0

36.主控函数WinMain()建立消息循环的代码?

While(GetMessage(&msg,NULL,0,0))

{

TranslateMessage(&msg);

DispathMessage(&msg);

}

37. 说明Windows应用程序的主函数、窗口函数与Windows系统之间的关系?Windows应用程序的主函数和窗口函数都是系统调用的函数,主函数是在应用程序启动时由系统首先调用的函数,而窗口函数是主函数在消息循环中获得消息并把消息派送给系统之后,由系统调用的用来处理消息的函数。

第2章windows应用程序的类封装

1. 在窗体类CFrameWnd中需要封装哪些成员?

答:在窗体类CFrameWnd中要封装窗口句柄、窗口类的定义、注册窗口类、创建窗口、显示更新窗口。

2. 应用程序类CwinApp应该具备那些主要功能?

答:创建、显示应用程序的窗口和建立消息循环。

3. 在MFC程序设计中,如果要建立拥有自己风格的主窗口,应该重写什么函数。答:继承CWinApp类并需要重写该类的成员函数InitInstance。

4. 以下哪个消息不属于Windows 应用程序的消息来源(B)

A:输入消息B:输出消息C:系统消息D:用户消息

5. 在CWinApp类的关键函数中,负责消息循环的函数是(A)

A. Run

B. InitInstance

C. OnPaint

D. WndProc

6. 下列哪个宏用于处理用户自定义消息?(A)

A. ON_COMMAND

B. ON_MESSAGE

C. ON_CONTROL

D. ON_NOTIFY

7. 下列不属于MFC消息的类型的是(D)

A) 窗口消息B) 控件通知消息

C) 命令消息D) 循环消息

8. 下列关于Windows消息机制,说法正确的是(C)。

A. 具体的应用程序截获相应的消息,并进行处理

B. 窗口截获消息,并处理所有的消息

C. 窗口截获消息,按照消息类型进行传递,由具体的对象处理

D. 在Windows中,消息会传递到所有窗口

9. 下列哪个MFC中的宏与消息映射无关?(A)

A. DECLARE_DYNAMIC

B. DECLARE_MESSAGE_MAP

C. ON_COMMAND

D. END_MESSAGE_MAP

10. 在MFC中,定义消息映射架构的基类是(D)。

A. CWnd

B. CView

C. CWinApp

D. CCmdTarget

11. 简述消息映射表的构成,依靠消息映射表的消息处理过程?

第3章MFC应用程序框架

1. 由MFC AppWizard创建的文档类是由()派生来的,视图类是由(C)派生来的。

A)CWinApp,CFrameWnd B)CView,CDocument

C)CDocument,CView D) CFrameWnd, CWinApp

2. 在MFC消息机制中,1个单文档视图应用程序的消息处理优先级顺序是(A)。

A. 视图、文档、主框架、应用程序

B. 文档、视图、主框架、应用程序

C. 应用程序、视图、文档、主框架

D. 主框架、视图、文档、应用程序

3. 关于Windows文档类的说法,下列正确的是()

A) 文档类代表着用户使用的文件

B) 一个文档类只能对应于一个视图类

C) 文档类和CFile类都是对文件进行操作

D) 一个文档类可以对应多个视图类

4. 多文档界面的文档/视图架构应用程序使用的框架窗口类是:()

A) CFrameWnd

B) CMDIFrameWnd

C) CSDIChildWnd

D) CSplitterWnd

5. 文档/视图结构的分工?

文档相当于数据容器,视图相当于查看数据的窗口或是和数据发生交互的窗口。(一个完整的应用一般由四个类组成:CWinApp应用类,CFrameWnd窗口框架类,CDocument文档类,CView视类。)

6. 简述构成文档/视图结构应用程序框架的四个MFC派生类,并说出它们的功能。

假如工程名称为MyPrj,则MFC AppWizard会自动创建一下四个派生类来构成应用程序的框架。

.CFrame类的派生类CMainFrame;

.CWinApp类的派生类CMyPrjApp;

.CDocument类的派生类CMyPrjDoc;

.CView类的派生类CMyPrjView。

其中,CMyPrjDoc类对象用来存储和管理应用程序中的数据;CMainFrame对象与CMyPrjView对象构成了应用程序的界面,CMainFrame对象只是CMyPrjView对象的容器,而CMyPrjView类的对象是用来显示文档与接收用户事件的;CMyPrjApp类的对象是应用程序的全局对象,它是应用程序中各对象的容器,负责创建应用程序界面和消息循环。

7. 在文档/视图结构的应用程序中,视图类对象是如何获取文档类对象中数据的?

答:是依靠视图类的成员函数GetDocument来返回文档对象指针,然后再通过该指针访问文档类的数据成员或函数成员。

8. 在MFC对程序窗口功能的划分中你受到了什么启发?

答:由于简单的MFC应用程序框架没有把数据的存储部分和与用户的交互部分分开,所以类违背了面向对象程序设计的“单一职责原则”,从而使窗口类笨重杂乱,没有灵活性。而在文档/视图结构中则由于遵循了“单一职责原则”,从而使文档类和视图类既有分工又有合作,代码清晰,程序架构灵活。

第4章图形

1. 下列(C)不属于MFC提供的GDI图形设备类。

(A)CPen (B)CBrush

(C)CDC (D) CBitmap

2. 下列四个类均从CDC基类派生而来,其中(D)适用与操作图元文件。

(A)CPaintDC (B)CClientDC

(C)CWindowDC (D) CMetaFileDC

3. 下列语句设置字体颜色为绿色,并设置背景色为蓝色,其中正确的为(C)(A)pDC->SetBkMode(TRANSPARENT);

pDC->SetTextColor(RGB(0,255,0));

pDC->SetBkColor(RGB(0,0,255));

(B)pDC->SetTextColor(RGB(0,255,0));

pDC->SetBkColor(RGB(0,0,255));

pDC->SetBkMode(OPAQUE);

(C)pDC->SetTextColor(RGB(0,255,0));

pDC->SetBkColor(RGB(0,0,255));

(D) pDC->SetTextColor(RGB(0,255,0));

pDC->SetBkColor(RGB(0,0,255));

pDC->SetBkMode(TRANSPARENT);

4. InvalidateRect的作用是(B)

A. 删除一个矩形

B. 使一个矩行区域变为无效,从而可以重绘

C. 使一个矩形区域变为无效,从而释放部分GDI资源

D. 擦除一个矩形区域

5. 以下函数中不受画刷影响的函数是:(C)

A. Rectangle

B. Ellipse

C. LineTo

D. Polygon

6. 以下选项中,GDI不能支持的是:(B)

A. 位图

B. Flash动画

C. 直线和曲线

D. 文字

7. 在MFC中封装的CDC基类中,提供了丰富的图形绘制的成员函数,其中:绘制一条直线段,并将绘图初始位置设置为线段终点的成员函数名为:();绘制一个矩形的成员函数名为:(),在一个指定位置,输出一个字符串的成员函数名为:()。

8. 当程序中某个函数改变了数据而需要重新绘制客户区时,OnDraw()函数不会被自动调用,这时需要使用()间接调用。

9.Invalidate()要重绘整个窗口客户区,当数据更新很快时,这样会引起屏幕闪烁。为了避免闪烁,可以怎样处理?

选择重绘区域的外包矩形,只更新外包矩形区域,减少闪烁,使用InvalidateRect()

重绘客户区中的指定区域。

10.每次当窗口客户区需要重新绘制时,应用程序框架怎么处理?

发送WM_PAINT消息,调用OnDraw()函数进行重绘

11.创建新画刷时,如何定义颜色?

COLORREF 是一个32-bit 整型数值,它代表了一种颜色。你可以使用RGB 函数来初始化COLORREF。如:COLORREF color=RGB(0,255,0);

12.当创建了自己定义的画笔、画刷等GDI对象后,怎样将其选进设备环境?要注意些什么?

CDC::SelectObject(),注意保存原有画刷与画笔,以便恢复,如:

CPen NewPen(PS_SOLID, 1, RGB(255,0,0)), *pOldPen;

pOldPen=pDC->SelectObject(&NewPen); //将创建对象选入设备环境

pDC->SelectObject(pOldPen); //恢复原来的GDI对象

13.在OnDraw()函数以外的函数中,怎样在客户区中显示数据?

使用CClientDC类创建客户区的设备环境句柄,如:CClientDC dc(this)或GetDC(),如:CDC *pDC=GetDC( )

14.Windows应用程序常用消息,产生单击鼠标左键的消息是(A)

A WM_LBUTTONDOWN

B WM_RBUTTONUP

C WM_RBUTTONDBLCLK

D WM_LBUTTONUP

15. 输出文本之前要获取字体的信息,如字符高度等,以确定输出格式和下一行字符的位置,获取当前使用字体信息函数(C)

A、GetFontMetrics

B、GetFontMetric

C、GetTextMetrics

D、GetTextMetric

16. 为什么要使用DC?

答:为了屏蔽硬件输出设备的多样性,Windows系统为程序员提供了一个可以操作这些硬件却与硬件无关的接口,于是就可以把对不同设备的操作方法统一起来。

17.在MFC中CDC的派生类有哪几个,试说出它们的作用。

答:CclientDC应用在除WM_PAINT消息之外的消息处理函数中,提供窗口客服区的设备描述环境。

CmetaFileDC代表Windows图元文件的设备描述环境。在创建与设备无关的并且可以回收的图像时使用这个类型的DC。

CpaintDC在WM_PAINT消息的处理函数OnDraw中使用的窗口用户区的设备描述环境。

CwindowDC提供在整个窗口内绘图的设备描述环境。

第5章MFC的通用类

1. 定义了屏幕上或窗口中的一个点的X和Y坐标的数据类是(CPoint)

2. 定义了一个矩形区域及其左上角和右下角的坐标的数据类是(CRect)

3. 解释下列语句出的含义。

(1)CString s;(2)CString s(“Hello,Visual C++6.0”);(3)CString s(…A?,100);(4)CString s(buffer,100);(5)CString s(anotherCString)。

答:(1)构造一个长度为0的字符串对象。(2)构造一个名称为s的字符串对象,并把字符串初始化为Hello,Visual C++6.0。(3)构造一个名称为s的字符串对象,s字符串的内容是100个A。(4)构造一个名称为s的字符串对象,s 字符串的内容是buffer的头100个字符,再加一个NULL。(5)构造一个名称为s的字符串对象,s字符串的内容和anotherCString字符串的内容相同。

4. 执行:

Cstring s(Cstring(“Hello,world”).Left(6)+Cstring(“Visual C++”).Right(3));语句后,s字符串中的内容是什么?

答:Hello,C++。

5. 现有语句Cstring s(“My,name,is,C++”);若想将s字符串中的“,”号全部更换成“”,将如何编写语句?

答:s.Replace(…,?,…?);pDC->TextOut(1,1,s);

第8章资源

1. 资源描述文件中ACCELERATORS定义的是(D)

A、菜单

B、弹出式菜单

C、组合键

D、加速键资源

2. 定义位图的数据结构是(A)

A、BITMAP

B、CBITMAP

C、JPG

D、HBITMAP

3. 在Windows消息机制中,菜单消息类型是:(B)

A. WM_PAINT

B. WM_COMMAND

C. WM_CREATE

D. WM_CLOSE

4. 在菜单资源编辑界面中,要为菜单添加子菜单,需要设置的属性是(C)。

A. Separator

B. Grayed

C. Popup

D. Break

5. 做菜单状态修改时,消息类型应该是(A)。

A. 命令(COMMAND)消息

B. UPDATE_COMMAND_UI消息

C. WINDOWS消息

D. KEYDOWN消息

6. 下列关于菜单消息ON_COMMAND_RANGE,说法正确的是(D)

A. 一旦两个消息被设置了范围映射,则原有的消息映射函数会失去作用

B. 两个消息被设置了范围映射,原有的消息映射函数仍然有作用

C. 在设置范围映射时,如果参数表中第1个消息ID值大于最后一个消息的值(不为0),则消息不能被响应

D. 在设置范围映射时,如果参数表中第1个消息ID值大于最后一个消息的值(不为0),则只能响应第1个消息

7. 关于快捷键的设置,下列说法正确的是(C)。

A. 只要在菜单的资源编辑菜单中添加了“&P”的标识符,就可以在程序运行中使用Ctrl+P的组合按键来调用菜单

B. 两个快捷键不能同时对应1个消息函数

C. 如果1个快捷键同时对应两个消息ID,则只有前1个起作用,能够正常运行

D. 如果1个快捷键同时对应两个消息ID,程序将不能正常运行

8. 在MFC编程中,关于资源的定义,下列说法错误的是(C)

A) 在资源编辑器中直接添加资源,缺省ID取值由系统指定

B) 使用资源时,可以直接指定资源的ID值

C) 在程序中,每个资源的ID的值可以取任意数

D) 在资源编辑器中,资源的名称不必按照标准的资源命名方式进行

9. 在Windows应用程序中,什么样的数据称为资源?常用资源有哪些?

答:资源是一种数据。在应用程序启动后,它们仍然驻留在硬盘上的可执行文件中,只是在应用程序需要时,才从可执行文件中读取它们。常用的资源有菜单、图标、字符串、快捷键、位图等。

10. 在Visual C++中,编辑资源数据可以使用哪两种方法?

答:(1)在文本编辑器中直接对资源脚本文件和资源头文件进行编辑的方法。(2)使用Visual C++的资源编辑器对资源脚本文件和资源头文件进行编辑的方法。

11. 程序运行时,用户选中一个菜单项,会发出哪种消息?根据什么来判断消息

源?

答:用户选中菜单项时,会发出WM_COMMAND消息,系统根据菜单项的标识ID来识别是哪一个菜单项发出的消息。

12. 在程序中如何使用图标资源?

答:先用图标编辑器制作图标,以扩展名ico把图标文件存盘,并把这个图标文件先加入工程的资源文件夹中,然后在工程的资源头文件中定义资源的标识,在资源描述文件中声明图标文件的路径,这样就可以在程序中需要的地方使用它了。

13. 简述在mfc中使用位图资源的步骤。

答:(1)使用LoadBitmap函数把位图资源载入位图对象。(2)用GetBitmap 获得位图信息。(3)用以下代码把位图选入内存环境变量。CDC MemDC//定义设备环境对象MemDC.CreateCompatibleDC(NULL);//创建内容设备环境MemDC.SelectObject(&m_Bmp);(4)用BitBlt函数显示位图。

14. 创建一个单文档应用程序Project001,并在Windows 资源管理器中导入一个位图资源bitmap1.bmp,为其分配的资源ID号码为:IDB_BITMAP1,如果要在该单文档应用程序的客户区绘制该位图,请将下列的源代码补充完整。

void CProject001View::OnDraw(CDC* pDC)

{

// TODO: add draw code for native data here

CBitmap bmp;

①bmp.LoadBitmap(IDB_BITMAP1); ;

CDC memDC;

②memDC.CreateCompatibleDC(pDC); ;

③CBitmap * pOldMap=memDC.SelectObject(&bmp); ;

pDC->BitBlt(10,10,100,100,&memDC,0,0,SRCCOPY);

④memDC.SelectObject(pOldMap); ;

}

Windows程序设计题(含简答题答案)

Windows 程序设计》模拟题 单项选择题 1. 在 VC++ 中,项目文件的扩展名是( B )。 A ) exe B)dsp C ) dsw D ) cpp 2. 在 MFC 中,利用 ClassWizard 不能( D )。 A )建立新类 B )进行消息映射 C )增加类的成员变量 D )插入资源 当滑块滑动时,滑块条控件将发送滚动消息来通知父窗口,垂直滑动条发送( 3. C )消 息。 4. 5. A ) WM_CHAR B ) WM_HSCROLL C ) W M_VSC ROLL 更新菜单状态的消息是( C A ) WM_COMMAND )。 C ) UPDATE_COMMAND_UI 对于消息队列描述正确的是( A )在Windows 中只有一个消息系统, 据结构,用于临时存储消息。 D ) WM_CHANG E B ) UPDATE D) INVALIDATE 即系统消息队列。 消息队列是一个系统定义的数 B )系统可从消息队列将信息直接发给窗口。 另外,每个正在 Windows 下运行的应用程 序都有自己的消息队列。 C )系统消息队列中的每个消息最终都要被 USER 模块传送到应用程序的消息队列中去。 应用程序的消息对列中存储了程序的所有窗口的全部消息。 D )以上都正确 6. 在 MFC 中,所有的控件都是( B )类的派生类,都可以作为一个特殊的窗口来处理。 CView B ) CWnd C) 7. 使用 CWindow C) D ) CDialog GetDC () 获取的设备上下文在退出时,必须调用( A )释放设备上下文。 ReleaseDC() B ) delete() DeleteDC () D ) Detach () 8. 希望菜单无效,应该用 CCmdUI 类的( A )成员函数。 A ) Enable B ) SetRadio C ) SetCheck D ) SetText 9.希望菜单前出现一个“V”,应该用 CCmdUI 类的(C )成员函数。 A ) Enable B ) SetRadio C ) SetCheck D ) SetText 10.下面(A )不是MFC 设备环境类CDC 类的派生类。 A ) GDI B ) CPaintDC C) CClientDC D) CWindowDC 11.在MFC 中,所有的文档类都派生于( C ),所有的视图类都派生于( A )。 A) CView B) CWindow C) CDocument D) CFormView

windows程序设计之扫雷游戏经典之作

WIN32模拟WINDOWS XP扫雷 程序 课程设计目的与要求: 本课程设计是计算机科学与技术专业重要的实践性环节之一,是对本程学习后进行的一次全面而综合的练习。本次课程设计的目的与任务主要有: 1.巩固和加深学生对C和C++语言的基本知识的理解与掌握。 2.掌握C和C++语言编程和调试的基本技能 3.运用C和C++语言对程序的简单设计 4.掌握程序设计说明文档的能力与技巧 5.提高与运用C和C++语言解决能实际问题的能力 一、题目描述: 自行分析Windows XP系统自带扫雷游戏,查找规则并对主要功能进行模仿程序实现,对于实现过程中出现的bug进 行调试解决。 二、使用语言: C和C++ 语言 选用C++语言的原因,简而言之主要是因为C++的设计目标,就是要让C++既具有适合于系统程序设计的C语言所具 有的可适应性和高效性,又能在其程序组织结构方面具有像其 他的语言所支持的程序优势。这即是说,C++所提供的抽象机 制能够被应用于那些对效率和可适应性具有极高要求的程序设 计任务之中。

三、编译以及运行环境: 编译环境:Microsoft Visual C++ 6.0 运行环境:Windows XP或其他兼容兼容系统 四、题目分析: 经过对游戏的初步分析,扫雷游戏含有如下规则: 根据输入的信息,执行相应的挖雷,插旗,疑问标记,自动蔓延开挖等。挖雷过程由计时器计时,由一个计数器统计插旗后雷的剩余个数。如果选择了标记功能,那么单机右键会依次对未知点进行插旗,标记,取消插旗与标记。如果点滴到插旗的如果点击到了未插旗子的雷区,如果是雷,则判定游戏失败,之后对雷区的点击进行屏蔽,不予响应。如果是疑问标记则像正常区域对待。如何判断胜利,如果所有的雷都被插旗或者点击后剩余的雷区, 五、程序运行流程简介以及流程图: 点击程序按默认参数进行初始化,输入,表情对鼠标左右键点击进行变化响应,对于雷区内点击进行规律响应,对雷区点击后果进行统计,判断失败与成功,失败或者成功之后,对于雷区内的输入也就是点击进行屏蔽,对菜单游戏级别、重新开始游戏按钮响应。级别选择,重新游戏时时间归零、雷数显示刷新。如此重复规则,直到点击退出。 程序简要流程图:

windows课程设计心得体会

竭诚为您提供优质文档/双击可除windows课程设计心得体会 篇一:windows程序设计(c语言)实训报告 hubeIunIVeRsITYoFAuTomoTIVeTechnoLogY c语言程序设计实训报告 实训题目:汽车零部件采购管理程序专业:电气与信息 工程学院计算机系班级:T1323-1姓名:王俊成绩:完成日 期:20XX-5-25指导教师:史旅华 目录 1.实训题目与要求????????????????????32.系统设计???????????????????????43.程序测试与运行结果??????????????????54.实训总结???????????????????????65.程序源代码??????????????????????7 1.实训题目与要求 汽车零部件采购管理程序题目描述 已知在汽车生产时,需要向零部件生产厂商采购零部件,设计一个汽车零部件采购管理程序,以方便采购管理部门对

采购零部件的管理。该单位每次采购都有一个采购编号,每次采购一种零部件。该程序应该具有如下功能 (1)能从键盘输入采购信息。 (2)指定采购编号,显示采购的零部件信息。 (3)指定零部件名称,显示该零部件的所有采购信息。 (4)给定采购编号,修改采购信息。(5)给定采购编号,删除采购信息。题目要求: (1)按照分析、设计、编码、调试、测试的软件过程完成这个应用程序。 (2)采购信息包括:采购编号、零部件名称、采购日期、采购员、采购数量、采购单价、供货单位。 (3)为程序设计windows窗口,在该窗口上以按钮的形式为用户提供“菜单”,通过点击各个功能项对应的按钮完成操作。输入要求: (1)用户可以根据需求,选定相应的操作项目。进入每个操作后,通过窗口的文本框,从键盘输入相应的信息。程序根据用户输入的信息完成相应的处理,实现要求的功能。 (2)能对输入的数据进行简单的校验,例如,采购日期必须是一个合法的日期格式,采购编号是唯一的(一次采购对应一个采购编号)。输出要求: (1)应用程序运行后,要在屏幕上显示一个按钮形式的“菜单”。

Windows程序设计课程复习题

Windows程序设计复习题 一选择题 1 下列程序设计方法中,()是一种基于对象的程序设计方法。 A: MFC程序设计B: 使用WindowsAPI编程 C: 使用VisualBasic语言编程 D: 使用C#程序设计语言编程 2 MFC程序框架中,最先执行的函数是()。 A: WinMain函数B: CWinApp类的构造函数 C: CWinApp类的InitInstance函数D: Cwnd的OnCreate函数 3 CWinApp类中用()成员函数实现了对消息环的封装。 A: InitInstance( ) B: Run() C: OnIdle() D: WndProc() 4 消息的4个参数中,表示消息类型的参数是()。 A: HWND hwnd B: messageID C: wParam D: lParam 5下列各消息中,与程序的菜单命令、工具栏按钮或对话框按钮相对应的消息是()。A: WM_CHAR B: WM_COMMAND C: WM_CREATE D: WM_PAINT 6 MFC消息映射机制中,下列消息映射表 BEGIN_MESSAGE_MAP(CGraphicsView, CScrollView) ON_WM_PAINT() END_MESSAGE_MAP() 把WM_PAINT消息映射到()。 A: CGraphicsView类OnPaint函数B: CGraphicsView类OnDraw函数。 C: CScrollView类的OnPaint函数D: CScrollView类的OnDraw成员函数。 7 下列MFC类中,不直接支持消息映射的MFC基类是(), A: CCmdTarget B: CWinAPP C: CWnd D: CMap 8 下列集合类中,其内部是使用散列表技术实现的MFC类的是()。 A: CArray B: CList C: CMap D: CPtrList 9 下列CWnd类成员函数中,用于任何消息的可覆盖函数是()。 A: OnCommand B: OnNotifyt C: OnUpdate D: WindowProc 10 Windows程序中,用于表示通用字符的数据类型是()。 A: char B: unsigned short C: TCHAR D: unsigned char 11 下列数据类型中,表示设备上下文句柄的数据类型是()。 A: HWND B: HDC C: HMENU D: HPEN 12 下列各个窗口类中,表示各种视图类的基类的MFC类是()。 A: CScrollView B: CTextView C: CRichEditView D: CView 13 下列各种窗口对象中,对象最好在栈(Stack)中分配MFC窗口类是()。 A: CToolBar B: CView C: CWnd D: CFrameWnd 14下列各宏命令中,应该放在类实现中以支持序列化特性的宏命令是()。 A: IMPLEMENT_DYNAMIC(class_Name) B: IMPLEMENT_DYNCREATE(class_Name) C: IMPLEMENT_SERIAL(class_Name) D: IMPLEMENT_MESSAGE_MAP() 15 CRuntimeClass类的操作中,用于从类名字符串获得该类CRunTimeClass对象指针的方法为()。

Windows程序设计题(含简答题答案)

《Windows程序设计》模拟题 一.单项选择题 1、在VC++中,项目文件得扩展名就是(B)。 A)exe????B)dsp C)dsw???D)cpp 2、在MFC中,利用ClassWizard不能(D)。 A)建立新类??B)进行消息映射 C)增加类得成员变量?D)插入资源 3、当滑块滑动时,滑块条控件将发送滚动消息来通知父窗口,垂直滑动条发送(C)消息。 A)WM_CHAR??B)WM_HSCROLL C)W M_VSCROLL???D)WM_CHANGE 4、更新菜单状态得消息就是(C )。 A)WM_MANDB)UPDATE C)UPDATE_MAND_UI D)INVALIDATE 5、对于消息队列描述正确得就是(D) A)在Windows中只有一个消息系统,即系统消息队列。消息队列就是一个系统定义得 数据结构,用于临时存储消息。 B)系统可从消息队列将信息直接发给窗口。另外,每个正在Windows下运行得应用程序都有自己得消息队列。 C)系统消息队列中得每个消息最终都要被USER模块传送到应用程序得消息队列中去。 应用程序得消息对列中存储了程序得所有窗口得全部消息. D)以上都正确 6、在MFC中,所有得控件都就是(B)类得派生类,都可以作为一个特殊得窗口来处理。 A)CView??B)CWnd C)C Window???D)CDialog 7、使用GetDC()获取得设备上下文在退出时,必须调用(A)释放设备上下文. A)ReleaseDC()???B)delete() C)D eleteDC()???D)Detach() 8、希望菜单无效,应该用CCmdUI类得(A )成员函数。 ???B)SetRadio A)Enable?? ? C)SetCheck???D)SetText 9、希望菜单前出现一个“√",应该用CCmdUI类得(C)成员函数. A)Enable ???B)SetRadio C)SetCheck??D)SetText 10、下面(A)不就是MFC设备环境类CDC类得派生类. A)GDI ????B)CPaintDC C)CClientDC ??D)CWindowDC 11、在MFC中,所有得文档类都派生于(C),所有得视图类都派生于(A )。 A)CView B)CWindowC)CDocumentD)CFormView 12、采用C++进行绘图时,(B)用于指定图形得填充样式,(A)用于指定图形得边框样式.

windows程序设计学习笔记(一)

Windows程序设计学习笔记 2015年10月4日 一、宽字符wide-character 1、wchar_t: char的双字节(Unicode) 定义:typedef unsigned short wchar_t 示例:wchar_t c=’A’; wchar_t *pw=L”hello!”; //L(代表long)告诉编译器按宽字符保存,即每个字符占两个字节 wchar_t a[]=L”hello!”; 2、宽字符库函数 wcslen( ):计算宽字串符的长度 如:wchar_t *pw=L”hello!”; iLength=wcslen(pw); //字符串长度是6 二、windows头文件类型 1、CHAR和WCHAR typedef char CHAR; //8位 typedef wchar_t WCHAR; //16位变量前面可加wc以说明是一个宽字符 2、字符串指针 (1)8位字符串指针 tpyedef CHAR *PCHAR, *LPCH, *PCH, *NPSTR, *LPSTR, *PSTR; tpyedef CONST CHAR *LPCCH, *PCCH, *LPCSTR, *PCSTR; 前缀N和L表示“near”和“long”,指的是16位windows中两种大小不同的指针,在Win32中near和long指针没有区别 (2)16位字符串指针 tpyedef WCHAR *PWCHAR, *LPWCH, *PWCH, *NWPSTR, *LPWSTR, *PWSTR; tpyedef CONST WCHAR *LPCWCH, *PCWCH, *LPCWSTR, *PCWSTR; 3、WINAPI 定义:#define WINPAI _stdcall 该语句指定了一个调用约定,包括如何生成机器代码以在堆栈中放置函数调用的参数三、Hello程序 /*------------------------------------- HELLO.C--windows下显示Hello,world! 作者:lw 时间:2015年国庆 -------------------------------------*/ #include LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { static TCHAR szAppName[] = TEXT("HelloWin"); HWND hwnd; MSG msg; WNDCLASS wndclass; wndclass.style = CS_HREDRAW | CS_VREDRAW; wndclass.lpfnWndProc = WndProc;

2014-2015-1《Windows程序设计》课程设计指导书

2014-2015-1《Windows程序设计》课程设计指导书

浙江树人大学信息科技学院《Windows程序设计》 课 程 设 计 指 导 书 适合专业:计算机科学与技术 编写人:邱宁 编写时间:2011年2月 2

3

4

第一周(周1-2)系统分析与数据库设计 (一)目的 1、进行小组组建和分工 2、熟悉实习内容 3、掌握系统分析方法 4、掌握系统需求分析文档的编写 5、掌握系统概要设计文档的编写 6、掌握数据库设计方法 7、掌握SQL Server 2005中关于数据表创建、记录添加的操作方法 8、掌握.NET中连接数据库的方法 9、掌握.NET中操作数据(查询、添加、修改、删除)的方法 10、掌握三层架构设计 (二)内容 1、组建开发小组,确定成员分工和小组负责人。 2、熟悉本次实习的内容,以及每位成员的具体任务安排。 3、分工对系统进行需求分析,并形成需求分析文档。 4、分工对系统进行概要设计,并形成概要设计文档。 5、分工对系统进行数据库设计,并在SQL Server 2005中创建数据库。 6、熟悉三层架构,搭建系统框架。 7、建立数据库访问公共类,并分工完成各自部分的数据模型层类的设计。 (三)指导 1、请认真阅读附录一的实习内容。 2、请参考《软件工程》中的相关内容,完成系统需求分析与概要设计文档。 3、请参考《数据库原理》中相关内容,完成数据库设计,并创建数据库。 4、请参考《动软.Net代码生成器》软件中MODEL层的使用说明。 5、请结合参考《面向对象的程序设计》的相关内容,完成数据模型层类的设计。 6、数据表清单参见附录一的第四部分。 5

Windows程序设计课程设计任务书

Windows程序设计课程设计任务书 课程设计题目1: 设计一个简单的通讯录管理系统程序(对话框方式) 一、设计目标与内容: 1. 了解Windows编程的基础知识,掌握MFC应用程序的基本知识; 2. 基本掌握面向对象程序设计的基本思路和方法; 3. 掌握用VC++开发应用程序的的一般步骤和方法; 4. 学习对话框的编程基本知识 二、功能描述 1. 编写一个基本对话程序,程序中显示学生通信录信息(列表控件显示)信息包括:姓名,学号,qq号码或MSN,邮箱,固定电话,手机号码,专业、班级、性别等(前面为必须也可以根据需要增加自行设计)。 2. 可以增加删除、学生信息。删除学生信息。 3. 增加学生信息,可以再建立一个对话框,对话框中输入增加的学生信息,要求专业只能从计算机学院三个专业中选择,性别只能单选,其他输入限制,如学号、电话号码只能输入数字,姓名只能有4个汉字(8个字符长度)。 三、设计要求: 1. 用VC++进行编码,实现应用程序的功能。注重编码质量,代码要有 适当的注释; 2. 必做题 2、提交设计报告一份(课程设计任务书、目录、主要的数据结构、设计的 基本思路、设计的步骤及主要代码、心得体会、参考文献)。

Windows程序设计课程设计任务书 ,课程设计题目2: 设计一个简单的通讯录应用程序(视图方式) 一、设计目标与内容: 1. 了解Windows编程的基础知识,掌握MFC应用程序的基本知识; 2. 基本掌握面向对象程序设计的基本思路和方法; 3. 掌握用VC++开发应用程序的的一般步骤和方法; 4. 学习掌握文档视图架构 5. 学习掌握文档序列化机制 6. 能够利用所学的基本知识,设计一个简单的通讯录应用程序,具有以下 功能:①用文件来保存通讯录信息(必须实现的功能)②编程实现通讯录记录的添加、删除、修改、浏览和查询(必须实现的功能)。 二、功能描述: 1. 用VC++进行编码,实现应用程序的功能。注重编码质量,代码要有 适当的注释; 2.采用单文档视图框架编写,视图中显示每个学生的通信信息(内容同上 题) 3.通过菜单和工具条可以增加一条学生通信记录 4.可以删除一条学生通信记录 5.采用序列化机制保存将学生信息保存到文件。利用序列化机制从文件中 读取学生信息,并显示 三、设计要求: 1. 用VC++进行编码,实现应用程序的功能。注重编码质量,代码要有 适当的注释; 2. 必做题

Windows程序设计题(含简答题标准答案)

《Windows程序设计》模拟题 一.单项选择题 1. 在VC++中,项目文件的扩展名是(B)。 A)exe ????B)dsp C)d sw?????D)cpp 2.在MFC中,利用ClassWizard不能(D )。 A)建立新类?????B)进行消息映射 C)增加类的成员变量?D)插入资源 3. 当滑块滑动时,滑块条控件将发送滚动消息来通知父窗口,垂直滑动条发送(C)消息。 A)WM_CHAR ?B)WM_HSCROLL C)WM_VSCROLL???D)WM_CHANGE 4. 更新菜单状态的消息是(C)。 A)WM_COMMANDB)UPDATE C)UPDATE_COMMAND_UI D)INVALIDATE 5.对于消息队列描述正确的是( D ) A)在Windows中只有一个消息系统,即系统消息队列。消息队列是一个系统定义的数据结构,用于临时存储消息。 B)系统可从消息队列将信息直接发给窗口。另外,每个正在Windows下运行的应用程 序都有自己的消息队列。 C)系统消息队列中的每个消息最终都要被USER模块传送到应用程序的消息队列中去。应用程序的消息对列中存储了程序的所有窗口的全部消息。 D)以上都正确 6. 在MFC中,所有的控件都是(B )类的派生类,都可以作为一个特殊的窗口来处理。 ?B)CWnd A)CView ??? C)C Window ???D)CDialog 7.使用GetDC()获取的设备上下文在退出时,必须调用(A)释放设备上下文。 A)ReleaseDC()???B)delete() C)D eleteDC() ?D)Detach() 8. 希望菜单无效,应该用CCmdUI类的(A )成员函数。 A)Enable ???B)SetRadio C)S etCheck ??D)SetText 9. 希望菜单前出现一个“√”,应该用CCmdUI类的(C)成员函数。 A)Enable??B)SetRadio C)SetCheck????D)SetText 10. 下面(A)不是MFC设备环境类CDC类的派生类。 A)GDI??????B)CPaintDC C)C ClientDC ???D)CWindowDC 11. 在MFC中,所有的文档类都派生于(C),所有的视图类都派生于(A )。 A)CViewB)CWindowC)CDocument D)CFormView 12. 采用C++进行绘图时,(B )用于指定图形的填充样式,(A)用于指定图形的边框样式。 A)画笔B)画刷C)区域D)位图

windows程序设计

消息驱动运行中发生的各种事件(鼠标键盘输入,各种状态的改变等),以消息的形式通知Windows系统Windows系统接收消息,提交给发生事件的应用程序应用程序的窗口处理函数负责处理响应收到的消息处理完成后继续等待下一个消息API application programming Interface SDK software Development kit 事件是用户对计算机操作的动作或程序中某个对象的状态发生的变化,每个事件对应一个消息,即每个事件发生的效果是产生消息消息是描述事件发生的信息事件驱动程序执行的顺序不是事先规定的,而是由事件的发生来控制在程序执行过程中,当某个对象的状态发生变化,或有外部输入等情况发生,则产生相应的事件当事件产生时,系统会发出特定的消息编写程序时可以对这些消息做出反应,也可以不做出;若要做出反应(即响应消息),则把响应此消息的程序写在与此消息相关联的函数中在程序执行时,一旦产生了一个消息,会调用与此消息相关联的函数窗口是Windows应用程序基本的操作单位,是应用程序与用户之间交互的接口,也是系统管理应用程序的基本单位消息传输事件发生,产生消息消息保存到消息队列分配给应用程序消息队列消息循环提取消息窗口函数响应消息MFC Microsoft foundation class MFC应用程序框架提供了一般应用程序需要的全部面向对象软件组件的集成集合MFC程序结构基于框架窗口的应用程序(早期的MFC)程序运行管理、窗口及数据管理分开两部分,与SDK程序类似基于文档/视图的应用程序单文档应用程序(重点)程序运行管理、窗口管理、交互管理、数据管理分开基于对话框的应用程序程序运行管理、对话框管理分开目前的MFC应用程序都采用文档/视图结构,把原来窗口框架类的工作分开窗口框架类管理窗框视图类(即视窗类)管理数据显示、接收用户输入文档类负责数据管理文档视图架构的思想数据嵌入文档中,利用文档的架构管理文档与视图通信,使数据在视图中显示视图显示数据,并与用户交互视图放入窗口中文档模板类对象管理上述对象协调工作CDocument是负责管理数据的类应用程序中的文档类是这个类的派生类作用数据管理程序员应将用户的实际数据对象内嵌在自己的文档类中需要与自己的视图类通信在程序中实现CDocument的派生类,以便嵌入数据对象,并改写成员函数实现对数据的处理用于派生应用程序的视图类CView 作用处理与用户的交互显示文档类中的数据接收用户输入(例如鼠标操作)通常要改写视图类的成员函数OnDraw或OnPrint,实现数据显示框架自动调用OnDraw函数WM_PAINT消息OnPaint()OnDraw() 菜单及响应利用菜单编辑器修改IDR_MAINFRAME 菜单资源在相应的类中为新菜单项映射消息COMMAND单击或用快捷键选中时生产UPDATE_COMMAND_UI上一级菜单显示前生产用于控制菜单状态编写新菜单项的消息处理函数快捷键在菜单项标题后面加“(&字母)”菜单动态为要添加的菜单项定义一个宏(例如ID_MENU1)用CWnd::GetMenu( )获得指向菜单条的指针(如果在子菜单上添加,应用CMenu::GetSubMenu()获得该菜单的指针)为菜单项手工映射消息处理函数在适当的地方调用InsertMenu或AppendMenu添加菜单项调用CWnd::DrawMenuBar()函数重画菜单动态删除菜单项与上面类似(使用DeleteMenu函数)动态创建菜单项用函数BOOL CreateMenu( );获得新菜单句柄,再用此句柄当作AppendMenu函数的第2个参数(需进行(UTIN)强制类型转换)通常用于创建弹出式菜单的顶级(不需映射消息)快捷菜单建立菜单如果菜单已经存在,且功能齐全,只需确定弹出方式即可也可以另加一个菜单资源,此法可使菜单条中不显示快捷菜单关联类(对于新加菜单)把此菜单资源关联到视图类上选中此菜单资源的情况下打开类向导,选视图类影射消息并编写消息处理函数选择弹出方式可在视图类的WM_CONTEXTMENU消息(鼠标右键单击客户区时产生)处理函数中弹出Windows系统有一个存放消息的队列每个应用程序也有一个消息队列Windows系统先将收到的消息存放在系统队列中,然后再分发到相应的应用程序队列中应用程序则从自身的队列中获取消息并进行处理类的消息响应一个类要响应多种消息对于每一种消息最重要的是知道是哪个消息:消息的标识(ID 身份证)这个消息对应的响应函数是什么(函数的起始地址)解决的办法建立一个结构体数组(消息映射表)一行(一个数组元素)是一个消息的信息每行至少包含消息的标识(ID)指向响应函数的指针消息的响应当收到消息后,根据消息ID在表中查找,找到后调用对应的消息处理函数消息路由当一个类收到消息后,先在自己的消息映射表中搜索,搜索到就执行相应的消息处理函数,然后结束消息处理过程未搜到,则到上一层基类中搜索,依此类推如果都未搜到,则交给系统默认的窗口处理函数去处理消息种类窗口消息命令消息控件通知消息实现消息映射消息映射的要点为每个要响应的消息建立一个处理函数为每个能够响应消息的类建立一个结构类型的数组(消息映射表)并填写这个数组编写每个消息处

windows课程设计心得体会

windows课程设计心得体会 篇一:Windows程序设计实训报告 HUBEI UNIVERSITY OF AUTOMOTIVE TECHNOLOGY C语言程序设计实训报告 实训题目: 汽车零部件采购管理程序专业: 电气与信息工程学院计算机系班级: T1323-1 姓名: 王俊成绩: 完成日期: 2014-5-25 指导教师:史旅华目录 1.实训题目与要求????????????????????3 2.系统设计???????????????????????4 3.程序测试与运行结果??????????????????5 4.实训总结???????????????????????6 5.程序源代码??????????????????????7 1.实训题目与要求 汽车零部件采购管理程序题目描述

已知在汽车生产时,需要向零部件生产厂商采购零部件,设计一个汽车零部件采购管理程序,以方便采购管理部门对采购零部件的管理。该单位每次采购都有一个采购编号,每次采购一种零部件。该程序应该具有如下功能 能从键盘输入采购信息。 指定采购编号,显示采购的零部件信息。 指定零部件名称,显示该零部件的所有采购信息。给定采购编号,修改采购信息。给定采购编号,删除采购信息。题目要求: 按照分析、设计、编码、调试、测试的软件过程完成这个应用程序。 采购信息包括:采购编号、零部件名称、采购日期、采购员、采购数量、采购单价、供货单位。 为程序设计windows窗口,在该窗口上以按钮的形式为用户提供“菜单”,通过点击各个功能项对应的按钮完成操作。输入要求:

用户可以根据需求,选定相应的操作项目。进入每个操作后,通过窗口的文本框,从键盘输入相应的信息。程序根据用户输入的信息完成相应的处理,实现要求的功能。能对输入的数据进行简单的校验,例如,采购日期必须是一个合法的日期格式,采购编号是唯一的(一次采购对应一个采购编号)。输出要求: 应用程序运行后,要在屏幕上显示一个按钮形式的“菜单”。 要求用户输入数据时,给出清晰、明确的提示信息,包括输入的数据内容、格式以及结束方式等。 在程序完成处理后,要清楚地给出程序的处理结果。例如,在给定采购编号删除采购信息时,如果该采购编号不存在,要提示没能删除,如果删除成功要提示删除成功。实现要求: 在程序中使用链表存储采购信息。 采用模块化程序设计的方法,将程序中的各项功能用函数实现。提示:

Windows应用程序设计大纲

Windows应用程序设计 学时:总学时54;理论36;实验18 学分:3 适用对象:信息管理与信息系统、计算机科学与技术、软件工程专业 先修课程:《C++程序设计》 考核方式:本课程采用期末考核与平时成绩相结合的方式进行成绩评定,平时成绩占40%,期末考核成绩占60%。平时成绩包括作业、实验报告与上课表现,期末考核为闭卷笔试方式。 一、课程的性质与任务 《Windows应用程序设计》是为计算机科学与信息工程系各专业开设的一门专业基础课。该课程以面向对象程序开发理论为基础,具有较强的理论性、实践性和实用性。该课程的主要任务是讲授利用MFC进行Windows应用程序设计的基本原理和方法,并向学生灌输框架编程的核心思想,从而为今后开发实用性较强的软件系统打下坚实基础。 二、教学目的与基本要求 本课程的目的是使学生深刻理解框架编程的思想,学会MFC的常用类的用法,并能够开发出一般功能的Windows应用程序,进一步提高学生实际编程和用程序解决问题的能力。 教学中要求学生掌握Windows应用程序的基础概念、术语;理解Windows应用程序框架的封装原理;深刻理解VC提供的“文档/视图”结构框架;掌握MFC类库提供的常用类在窗口中绘制图形;熟练掌握鼠标、键盘消息处理的方法;熟练掌握资源的使用方法;掌握MFC的文件处理机制;熟练掌握对话框及控件的编程方法;了解应用程序中进程与线程的管理方法;学会用MFC设计数据库应用程序。 理论教学部分 理论课学时:36 使用教材及主要参考书: 1、使用教材: 任哲等编著,《MFC Windows应用程序设计》,清华大学出版社,2004年 2、主要参考书: 候俊杰,《深入浅出MFC》第二版,华中科技大学出版社,2001年 陈志泊等编著,《Visual C++ 6.0程序设计》,中国铁道出版社,2005年 一、学时分配 章节课程内容学时 1 Windows应用程序基础知识 2 2 Windows应用程序的类封装 2 3 MFC应用程序框架 2

Windows程序设计案例教程习题解答

《Windows程序设计案例教程》习题解答 第1章 1.1 选择题 https://www.doczj.com/doc/ab14571340.html, Framework是一种( )。 A、编程语言 B、程序运行平台 C、操作系统 D、数据库管理系统 2.用Visual https://www.doczj.com/doc/ab14571340.html,编写的程序被编译成中间语言(MSIL)后,运行时还要再一次被编译,这种编译被称为( )。 A、CLR B、JIT C、GC D、GDI https://www.doczj.com/doc/ab14571340.html,ing namespace的作用是表示( )。 A、引入名字空间 B、使用数据库 C、使用一个文件 D、使用一段程序 4.要使程序运行,需要按( )键。 A、F5 B、Ctrl+F5 C、F10 D、F11 5.C#中的数据类型有( )和( )两种。 A.值类型B.调用类型C.引用类型D.关系类型 6.以下运算符中,()是三目运算符。 A.?:B.――C.=D.<= 7.下列不能为类的成员的是()。 A、属性 B、方法 C、索引器 D、接口 8.下列哪一个不是类的成员的访问修饰符() A、private B、base C、public D、protected 9. 调用构造函数创建对象时,通常使用( )关键字。 A.typeof B.new C.as D.is 10.关键字virtual只能用来修饰类的()成员。 A.字段 B.方法 C.属性 D.常量 11.用()关键字定义的方法,属于整个类而不属于类的某一个具体实例。 A.public B.static C.protected D.private 12.在属性的访问声明中,对属性的读操作用( )关键字标出,表明属性的值是只读的,不能改写。 A.set B.get C.private D.public 13.声明了一个数组Array[13],则Array[3]表示第( )个元素。 A.3 B.4 C.5 D.无法知道 14.在C#中,多继承通过( )来实现 A.属性 B.接口 C.索引器 D.方法 15.采用异常处理格式编写程序的目的在于使程序( )。 A.不会引发异常 B.顺利通过编译 C. 减少异常 D. 在出现异常后能够得到处理 16.窗体的标题条显示的标题由窗体的( )属性决定。 A、BackColor B、Text C、ForeColor D、Opacity 17.关闭窗体需要调用窗体( )方法。 A、Show B、Hide C、Activate D、Close 18.对文本文件写进一行,需要调用StreamWriter实例的()方法。 A.Write B.WriteLine C.Flush D.Close

仿windows JAVA 课程设计 记事本

前言 随时着科学技术的快速发展,计算机程序设计早已成为了趋势,JAVA是计算机专业的核心课程,是计算机科学的算法理论基础和软件设计的技术基础。JAVA是实践性很强的课程。课程设计是加强实践能力的一个强有力手段。要求掌握JAVA的应用、编写、上机调试的基本方法。本课程设计就是主要利用java语言编写的一个模仿windows 记事本的较简单的程序,实现了一些基本功能,要求打开文件,读取文件中的文本信息;显示、编辑修改文本信息;实现输入文本文件、控制保存文本信息到指定的文件的功能。 目录 一、需求分析 (1) 二、概要设计 (1) 三、详细设计 (2) 四、系统调试分析 (6) 五、课程设计心得体会 (7) 六、使用说明 (7) 七、参考文献及致 (7) 八、附录(程序源代码) (7)

一、需求分析 该课程设计报告里的简易记事本程序是使用Java程序设计语言编写的,要现记事本的基本功能,参考了windows中记事本的一些功能。要求打开文件,读取文件中的文本信息;显示、编辑修改文本信息;实现新建、打开、保存文本文件以及控制保存文本信息到指定的文件的一些基本功能。 二、概要设计 1.1 系统主要功能 本程序是利用java程序设计语言编写的一个简单的记事本程序。可以通过菜单栏和工具栏实现以下功能:如文件的新建,打开,保存和退出;对文件的编辑,如复制,剪切,粘贴;以及帮助菜单;执行完操作后,能够顺利关闭记事本。 1.2运行环境要求 (1) 实现设计的系统硬件需求 硬件配置的基本要求: * 586以上的计算机 * 32MB以上的存 * 彩色显示器 * 3.5寸高密软盘驱动器 * 光盘驱动器 * 4G以上硬盘空间 * 鼠标 (2) 实现设计的系统软件 * WINDOWS95或WINDOWS98 * Jcreator Pro全套软件 三、详细设计 设计思路:设计一个EditorDemo类,继承自JFrame类,并在EditorDemo类利用JtextPane 创建面板窗口textPane,利用Jlabel创建状态栏 statusBar,利用JFileChooser 创建文件选择器filechooser,利用JMenuBar创建并实例化菜单栏,利用JToolBar创建工具栏,再通过一些具体方法实现各功能键的功能。建立构造函数public EditorDemo();通过该构造函数实现记事本程序的主要功能,运行时在主类过调用该构造函数来实现对记事本程序的基本操作。 1:窗口设计 在主接口中设计一个EditorDemo容器继承自JFrame,并在其中加入菜单栏、工具栏和一个文本域控件。

Windows程序设计题

《Windows程序设计》模拟题 一.单项选择题 1. 在VC++中,项目文件的扩展名是(B)。 A)exe B)dsp C)dsw D)cpp 2. 在MFC中,利用ClassWizard不能(D)。 A)建立新类B)进行消息映射 C)增加类的成员变量D)插入资源 3. 当滑块滑动时,滑块条控件将发送滚动消息来通知父窗口,垂直滑动条发送(C)消息。 A)WM_CHAR B)WM_HSCROLL C)WM_VSCROLL D)WM_CHANGE 4. 更新菜单状态的消息是( C )。 A)WM_COMMAND B)UPDATE C)UPDATE_COMMAND_UI D)INVALIDATE 5. 对于消息队列描述正确的是( D ) A)在Windows中只有一个消息系统,即系统消息队列。消息队列是一个系统定义的数据结构,用于临时存储消息。 B)系统可从消息队列将信息直接发给窗口。另外,每个正在Windows下运行的应用程序都有自己的消息队列。 C)系统消息队列中的每个消息最终都要被USER模块传送到应用程序的消息队列中去。 应用程序的消息对列中存储了程序的所有窗口的全部消息。 D)以上都正确 6. 在MFC中,所有的控件都是(B)类的派生类,都可以作为一个特殊的窗口来处理。 A)CView B)CWnd C)CWindow D)CDialog 7. 使用GetDC()获取的设备上下文在退出时,必须调用(A)释放设备上下文。 A)ReleaseDC() B)delete() C)DeleteDC() D)Detach() 8. 希望菜单无效,应该用CCmdUI类的(A)成员函数。 A)Enable B)SetRadio C)SetCheck D)SetText 9. 希望菜单前出现一个“√”,应该用CCmdUI类的(C)成员函数。 A)Enable B)SetRadio C)SetCheck D)SetText 10. 下面(A)不是MFC设备环境类CDC类的派生类。 A)GDI B)CPaintDC C)CClientDC D)CWindowDC 11. 在MFC中,所有的文档类都派生于(C),所有的视图类都派生于(A)。 A)CView B)CWindow C)CDocument D)CFormView 12. 采用C++进行绘图时,(B)用于指定图形的填充样式,(A)用于指定图形的边框样式。

Windows程序设计复习资料(完整答案)

一、单项选择题: 1.WinMain()函数的工作。 WinMain()函数是Windows程序的入口点 在WinMain中进行:注册窗体类、建立窗体、显示窗体、更新窗体、建立消息循环2.非MFC的Windows程序中,不是处理WM_PAINT消息的时候怎样获得客户区的设备环境句柄。 BeginPaint ----------EndPaint GetDC---------------ReleaseDC(成对出现) 利用GetDC()函数获取设备环境句柄 3.句柄的含义。 句柄是一个(通常为32位的)无符号整数(unsigned int),它代表一个内核对象内核对象在应用层的表示 4.在MM_TEXT映射模式下,什么情况下客户坐标和逻辑坐标可能不同。 当窗口客户区有滚动条时客户坐标和逻辑坐标可能不同 5.Windows程序的控制流程。 Windows程序没有固定的控制流程,事件驱动程序控制流程 6.事件驱动、消息驱动的概念。 事件驱动程序设计是一种全新的程序设计方法,它不是由事件的顺序来控制,而是由事件的发生来控制,而这种事件的发生是随机的、不确定的,并没有预定的顺序,这样就允许程序的的用户用各种合理的顺序来安排程序的流程。 消息是事件到达Windows内部后的称呼 7.对话框、控件的作用。 对话框是程序与用户之间进行交互,接收用户输入、并把数据显示出来的一个窗口; 控件是用户可与之交互以输入或操作数据的对象。控件通常出现在对话框中或工具栏上。 8.MFC中怎样处理WM_PAINT消息。 在OnDraw()函数中处理该消息 9.GetMessage()函数在什么情况下返回0,从而导致消息循环终止,程序结束。 在接收到WM_QUIT消息时返回0 10.Windows中,应用程序的输出是怎样进行的。 通过设备描述表DC(Device Context)来进行应用程序与物理设备之间的交互11.MFC中,大多数类的基类都是什么。 CObject类 12.一个MFC应用程序必须有且只能有一个从哪个类派生的全局应用程序对象,此对象在运行时刻控制应用程序中所有其他对象的活动。 CWinApp类 13.每次当窗口客户区需要重新绘制时,应用程序框架怎么处理。 发送WM_PAINT消息,调用OnDraw()函数进行重绘 14.CDC类的作用。 CDC是设备描述表类的基类,除了一般的窗口显示外,还用于基于桌面的全屏幕绘制和非屏幕显示的打印机输出。 15.当程序中某个函数改变了数据而需要重新绘制客户区时,OnDraw()函数不会被自动调

操作系统课程设计

操作系统课程设计 Prepared on 22 November 2020

湖南科技大学计算机科学与工程学院 操作系统课程设计报告 学号: ******** 姓名:* * 班级: *** 指导老师: *** 完成时间: ****.**.** 目录 实验一 Windows进程管理 实验二 Linux进程管理 实验三互斥与同步 实验四银行家算法的模拟与实现 实验五内存管理 实验六磁盘调度 实验七进程间通信 实验一 Windows进程管理 一、实验目的 1)学会使用 VC 编写基本的 Win32 Consol Application(控制台应用程序)。 2)通过创建进程、观察正在运行的进程和终止进程的程序设计和调试操作,进一步熟悉操作系统的进程概念,理解 Windows 进程的“一生”。

3)通过阅读和分析实验程序,学习创建进程、观察进程、终止进程以及父子进程同步的基本程序设计方法。 二、实验内容和步骤 (1)编写基本的 Win32 Consol Application 步骤1:登录进入 Windows 系统,启动 VC++ 。 步骤2:在“FILE”菜单中单击“NEW”子菜单,在“projects”选项卡中选择 “Win32 ConsolApplication”,然后在“Project name”处输入工程名,在“Location” 处输入工程目录。创建一个新的控制台应用程序工程。 步骤3:在“FILE”菜单中单击“NEW”子菜单,在“Files”选项卡中选择“C++ Source File”,然后在“File” 处输入 C/C++源程序的文件名。 步骤4:将清单 1-1 所示的程序清单复制到新创建的 C/C++源程序中。编译成可执行文件。 步骤5:在“开始”菜单中单击“程序”-“附件”-“命令提示符”命令,进入Windows“命令提示符”窗口,然后进入工程目录中的 debug 子目录,执行编译好的可 (2)创建进程 本实验显示了创建子进程的基本框架。该程序只是再一次地启动自身,显示它的系统进程 ID和它在进程列表中的位置。 步骤1:创建一个“Win32 Consol Application”工程,然后拷贝清单 1-2 中的程序编译成可执行文件。 步骤2:在“命令提示符”窗口运行步骤 1 中生成的可执行文件,列出运行结果。按下ctrl+alt+del,调用 windows 的任务管理器,记录进程相关的行为属性。 步骤3:在“命令提示符”窗口加入参数重新运行生成的可执行文件,列出运行结果。按下ctrl+alt+del,调用 windows 的任务管理器,记录进程相关的行为属性。 (3)父子进程的简单通信及终止进程

相关主题
文本预览
相关文档 最新文档