visual c++可视化程序设计.docx
《visual c++可视化程序设计.docx》由会员分享,可在线阅读,更多相关《visual c++可视化程序设计.docx(46页珍藏版)》请在三一办公上搜索。
1、Visual c+实验汇总报告(8个)班级:电气1004班 姓名:郑邦猛 学号:100534302012.11.10实验一 Visual C+程序调试实验一、实验目的 熟悉Visual C+ 6.0开发环境; 掌握在Visual C+ 6.0开发环境调试程序的方法。二、实验内容 创建三个项目,项目类型分别为:Win32 ConsoleApplication、Win32Application 和 MFC AppWizard(exe),分别编译运行各个程序,观察各种项目类型程序的特点。 创建一个Win32 Console Application类型的项目,输入下面 的代码,按照要求对代码进行调试。
2、(1) 三种项目类型程序特点的简要说明Win32 Console Application:控制台应用程序,入口函数为main函数,用来编写一般的应用 程序,只能使用c+语言提供的函数,可以随时使用cin、cout 等输入输出函数,结果以命令行的形式输出。Win32 Application:Window应用程序,入口函数为WinMain,用来编写windows应用程 序,可以调用windows提供的一些库函数,亦可以使用c+语言提 供的函数,但不能使用cin、cout等输出输出函数。MFC AppWizard(exe):微软基础类,通过对类的继承,尽可能的实现了代码重用,程序 员需要自己写的东西
3、非常少,编程方便。(2)实验内容第二部分程序清单:调试要求:1. 在程序代码的main函数中设置断点,启动程序执行到断点处 停止;2. 在函数narcissus调用处进入函数内部,跟踪函数执行的过 程;3. 单步执行程序,观察各个变量值的变化情况;4. 单步执行若干步后,跳出函数体,回到main函数。#include iostream.h”#include math.h”void narcissus();void main()narcissus();void narcissus()int x1;/百位数字int x20;/十位数字+个位数字int x2;/十位数字int x3;/个位数字int
4、 count =0;/找到的水仙花数总数for(int x=100;x1000;x+)x1=x/100;x20=x%100;x2=x20/10;x3=x20%10;if(x1*x1*x1+x2*x2*x2+x3*x3*x3=x)count+;coutOne narcissus number found:xendl;coutThe total numbet of narcissus numbers is:countendl; 运行结果:One One One One Thenarcissusnarcissusnarcissusnarcissusnumber number number numbe
5、rfonnd:153 found:370 found:371 found:407total numbet of napeissus numbers is:4Press any key to continue(3)调试过程记录(4)在Visual C+ 6.0中跟踪调试程序第一步:设置断点(F9);第二步:运行当前项目(F5);第三步:通过F11进入narcissus函数内部;第四步:在narcissus内部用F10进行单步调试,观测记录变量 值;第五步:按住Shift+F11从narcissus函数体内跳出,返回主函数。(5)实验小结: 本次实验,我们主要熟悉了Visual C+ 6.0的开发
6、环境,掌握了基 本的在Visual C+ 6.0开发环境调试程序的方法。其实也是在复 习以前所学的知识。实验二C+类基本语法实验一、实验目的(1) 熟悉Visual C+ 6.0开发环境;(2) 熟悉C+类设计的基本方法;(3) 掌握C+类的几个重要成员函数的定义和使用方法;二、实验内容创建一个Employee类,该类中有字符数组,表示姓名、街道 地址、市、省和邮政编码。其功能有修改姓名、显示数据信息。要求其功能函数的原型放在类定义中,构造函数初始化每个成 员,显示信息函数要求把对象中的完整信息打印出来。其中数据 成员为保护的,函数为公有的。三、实验报告(1)程序清单及运行结果程序清单:emp
7、loyee.h 部分class employeeprotected:char name20;char add20;char city20;char pro20;char post20;public:employee(char *n,char *a,char *c,char *p,char *o);employee();void Setname(char *);void show();employee.cpp部分#include #include #include employee.h”using namespace std;employee:employee(char *n,char *a,c
8、har *c,char *p,char *o)(strcpy(name,n);strcpy(add,a);strcpy(city,c);strcpy(pro,p);strcpy(post,o);employee:employee()(void employee:Setname(char *names)(strcpy(name,names);void employee:show()(cout姓名:nameendl;cout住址:addendl;cout城市:cityendl;cout省份:proendl;cout邮编:postendl;main.cpp部分#include #include #i
9、nclude employee.h”using namespace std;void main()(char *n=郑邦猛;char *a=学 4;char *c=青岛;char *p=山东;char *po=622555;employee t(n,a,c,p,po);t.show();运行结果:r 1 F:VC Debu9101.exe猛邦恩岛东 s= l= LbWy n a s s :eMr55 52tocontinue总结:本次实验主要是重温了以前所学的知识,掌握C+类的 几个重要成员函数的定义和使用方法,加强了理解。实验三Windows图形绘制编程实验一、实验目的(1) 熟悉Visua
10、l C+ 6.0开发环境;(2) 掌握Windows图形输出的方法;理解设备环境、画笔、画刷的概念,掌握常用的绘图函数。二、实验内容(1) 定义一支红色画笔,绘制一个正方形;(2) 用不同颜色的线条连接互不相邻的两个顶点;(3) 用不同颜色的画刷填充用上述方法所形成的图形中的每一 个区域。三、实验报告(1)图形绘制程序代码清单LRESULT CALLBACK WndProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM IParam)(PAINTSTRUCT PtStr; 定义指向包含绘图信息的结构变量HDC hDC;定义环境句柄HBRUSH hBru
11、sh;定义画刷句柄HPEN hPen;定义画笔句柄switch(message)(case WM_PAINT:绘图响应hDC=BeginPaint(hWnd,&PtStr);SetMapMode(hDC,MM_ANISOTROPIC);/定 义映像模式POINT p3;hPen=(HPEN)CreatePen(PS_INSIDEFRAME,1,RGB(255,0,0);/画矩形SelectObject(hDC,hPen);Rectangle(hDC,40,40,200,200);DeleteObject(hPen);hBrush=(HBRUSH)GetStockObject(DKGRJY_BR
12、USH);/ 深灰色画刷填充SelectObject(hDC,hBrush);枳wflla旧 抵黛 w(HsmiqAVNDIImgqcpp2sD(HsniqHTqsmqq-(qsmqq)so500苛勺 d-cduaeUOXAodO彳 A.sdoOZE.sdoZIHA.sdoZIE.sdoOZHA.odoOZE.odxqsmqquaqmgqQ 密勺 S 枳wftla旧:I(2zolx=40&x=40&y=200)hCursor二LoadCursor(NULL,IDC_SIZEALL);SetCursor(hCursor);elsehCursor二LoadCursor(NULL,IDC_ARROW
13、);SetCursor(hCursor);sprintf(buffer,%d,%d”,x,y);/显示光标TextOut(hDC,10,10,buffer,strlen(buffer);break;case WM_LBUTTONDOWN: /鼠标左键响应if(wParam & MK_CONTROL)&(wParam & MK_SHIFT)/control和shift 同时按下MessageBox(hWnd,电气 10_4 明磊,NULL,MB_OK);/调用系统消息 盒子break;case WM_DESTROY:PostQuitMessage(0);break;default:return
14、DefWindowProc(hWnd,message,wParam,lParam);return 0;(2)实验小结通过此次实验我们学到了很多。绘制矩形并分区很容易实现,但在不同区域显示不同光标并打印 实现的有点儿困难。我们要做的是随时捕捉光标位置,并在左上角显 示。对于shift和control键的监测,用的是预备知识中的格式,即 只有当鼠标左键和shift、control键同时按下时,才有触发响应并 弹出系统消息盒子。在做实验过程中很容易出现错误。我们要细心地 编写并及时发现解决问题。实验五定时器编程实验一、实验目的 熟悉Visual C+ 6.0开发环境;(2)掌握API编程模式中定时器
15、的使用方法 熟练掌握在Visual C+ 6.0开发环境调试程序的方法。二、实验内容设计一个窗口,在窗口中间位置绘制一个圆角矩形,并用交替用 红、绿、蓝三种颜色的画笔填充矩形的内部,每次改变颜色的时 间间隔为1.0秒。三、实验数据(1)定时器操作相关的程序清单回调函数LRESULT CALLBACK WndProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam)(PAINTSTRUCT ps;HDC hdc;HBRUSH hb1,hb2,hb3;/定义指向包含绘图信息的结构变量/定义指向设备的句柄定义画刷句柄static int i;/定
16、义静态变量switch(message)(case WM_CREATE:SetTimer(hWnd,1,1000,NULL);/设置定时器 break;case WM_TIMER:InvalidateRect(hWnd,NULL,1);/刷新客户区 break;case WM_PAINT:绘图响应hdc二BeginPaint(hWnd,&ps);SetMapMode(hdc,MM_ANISOTROPIC);/设置映像模式hb1二CreateSolidBrush(RGB(0,0,255);/定义三种画刷hb2二CreateSolidBrush(RGB(0,255,0);hb3二CreateSol
17、idBrush(RGB(255,0,0);if(i%3=0)/颜色变换条件(SelectObject(hdc,hb1);RoundRect(hdc,40,40,400,400,10,10);if(i%3=1)(SelectObject(hdc,hb2);RoundRect(hdc,40,40,400,400,10,10);if(i%3=2)(SelectObject(hdc,hb3);RoundRect(hdc,40,40,400,400,10,10);i+;EndPaint(hWnd,&ps);break;case WM_DESTROY:PostQuitMessage(0);break;de
18、fault:return DefWindowProc(hWnd,message,wParam,lParam);return 0;(2)实验小结通过本次实验我们掌握了基本的API编程模式中定时器的使 用方法,基本掌握在Visual C+ 6.0开发环境调试程序的方 法。本次实验共分为两个部分:第一部分,通过自己创建三种 项目类型的应用程序,体会各种类型程序的特点。第二部分为应 用程序的调试。实验六MFC消息映射编程实验、实验目的(1) 熟悉Visual C+ 6.0开发环境;(2) 掌握消息映射机制的基本原理和手工添加消息映射的方法; 熟练掌握在Visual C+ 6.0开发环境调试程序的方法。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- visual c+可视化程序设计 c+ 可视化 程序设计
链接地址:https://www.31ppt.com/p-4925865.html