2012级中国石油大学VC++实验报告

合集下载

中国石油大学(华东)VC++实验3

中国石油大学(华东)VC++实验3

实验三Windows 图形绘制编程实验一、实验目的(1) 熟悉Visual C++ 6.0开发环境;(2) 掌握Windows图形输出的方法;(3) 理解设备环境、画笔、画刷的概念,掌握常用的绘图函数。

二、实验内容请编写程序,要求如下:(1) 定义一支黄色画笔,绘制一条线段;(1) 定义一支紫色画笔,绘制一条多段线;(3) 定义一支红色画笔,绘制一个正方形,并用适当的画刷填充图形内部;(4) 定义一支绿色画笔,绘制一个圆,并用适当的画刷填充图形内部;(5) 定义一支蓝色画笔,绘制一个正六边形,并用适当的画刷填充图形内部。

三、实验报告(1) 列出图形绘制程序代码清单;#include"windows.h"#include"stdio.h"#include"string.h"#include"stdlib.h"#include"math.h"LRESULT CALLBACK WndProc(HWND hwnd,UINT messgae, WPARAM wParam,LPARAM lParam);//LRESULT 处理消息产生的一个有符号值 WndProc窗口函数int WINAPI WinMain (HINSTANCE hThisInst, HINSTANCE hPrevInst,LPSTR lpszCmdLine, int nCmdShow)//WinMain 程序进入点{WNDCLASS ws;HWND hWnd;MSG msg;ws.style = 0;ws.lpfnWndProc = WndProc;ws.cbClsExtra = 0;ws.cbWndExtra = 0;ws.hInstance = hThisInst;ws.hIcon = LoadIcon(NULL, IDI_HAND);ws.hCursor = LoadCursor(NULL,IDC_CROSS);ws.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);ws.lpszMenuName = NULL;ws.lpszClassName = "DemoClass";if(!RegisterClass(&ws)) //RegisterClass 注册窗口类{return -1;}hWnd = CreateWindow("DemoClass","Windows 图形绘制编程实验",WS_OVERLAPPEDWINDOW,100,200,640,480, NULL,NULL,hThisInst,NULL);ShowWindow(hWnd,nCmdShow);UpdateWindow(hWnd);while(GetMessage(&msg,NULL,0,0)){TranslateMessage(&msg);//从消息队列收到消息后,消息被传递给TanslateMessage,在那里进行一些处理,使消息更易于处理。

vc课程设计报告

vc课程设计报告

vc 课程设计报告一、课程目标知识目标:1. 学生能理解并掌握维生素C的基本概念,包括其化学性质、生理功能以及在人体健康中的作用。

2. 学生能描述维生素C的食物来源,了解不同食物中维生素C的含量及保存方法。

3. 学生能解释维生素C缺乏症及其对人体健康的影响。

技能目标:1. 学生能够运用所学知识,分析日常饮食中维生素C的摄入情况,并提出合理膳食建议。

2. 学生能够运用实验方法,检测食物中维生素C的含量,掌握基本的实验操作技能。

3. 学生能够通过小组合作,收集资料、分析数据,形成对维生素C的科学认识。

情感态度价值观目标:1. 学生能够增强健康饮食意识,关注营养均衡,培养良好的饮食习惯。

2. 学生能够认识到科学探究的方法和重要性,培养科学思维和探究精神。

3. 学生能够关注食品安全问题,提高社会责任感和环保意识。

课程性质:本课程为自然科学类课程,结合学生实际生活,以维生素C为主题,开展跨学科教学。

学生特点:四年级学生具备一定的观察、分析和动手能力,对新鲜事物充满好奇心,喜欢探究性学习。

教学要求:注重理论与实践相结合,引导学生主动探究,培养其观察、分析和解决问题的能力。

在教学过程中,关注学生的个体差异,激发学生的学习兴趣,提高其科学素养。

通过本课程的学习,使学生形成对维生素C的科学认识,并将其应用于实际生活中。

二、教学内容1. 维生素C的基本概念:介绍维生素C的化学名称、分子结构、性质和分类。

- 教材章节:第三章第二节“维生素与矿物质”2. 维生素C的生理功能:讲解维生素C在人体内的作用,如抗氧化、促进铁吸收、合成胶原蛋白等。

- 教材章节:第三章第二节“维生素与矿物质”3. 维生素C的食物来源及含量:介绍富含维生素C的食物,以及不同食物中维生素C的含量和保存方法。

- 教材章节:第三章第三节“食物中的维生素与矿物质”4. 维生素C缺乏症及预防:讲解维生素C缺乏症的症状、原因和预防方法。

- 教材章节:第三章第四节“维生素与矿物质的缺乏与过量”5. 实验教学:开展维生素C含量检测实验,让学生了解实验原理、操作步骤和结果分析。

中国石油大学(华东)VC++实验4

中国石油大学(华东)VC++实验4

实验四鼠标和键盘编程实验一、实验目的(1) 掌握键盘和鼠标的消息传递机制;(2) 掌握在Windows 程序中处理键盘和鼠标消息的方法;(3) 掌握在Visual C++的程序调试方法。

二、实验内容请编写程序,要求如下:(1) 在屏幕上绘制一个矩形,并将举行内部划分成4 个矩形区域;(2) 在矩形内移动鼠标时,在上面划分的4 个区域中显示不同的光标,并在屏幕左上角显示光标坐标;(3) 当用户按下SHIFT 和CTRL 键并移动鼠标时,显示一个消息框,提示用户按下的是哪个键。

三、实验报告(1) 列出消息处理程序代码清单;#include<windows.h>//包含应用程序中所需的数据类型和数据结构的定义#include "stdio.h"#include<tchar.h>LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); //窗口函数说明//--------------- 以下初始化窗口类 ----------------------int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInst,LPSTR lpszCmdLine,int nCmdShow){HWND hwnd ;MSG Msg ;WNDCLASS wndclass ;// LPCWSTR lpszClassName =_T("窗口"); //窗口类名// LPCWSTR lpszTitle=L"My_Windows"; //窗口标题名char lpszClassName[] = "窗口"; //窗口类名char lpszTitle[]= "My_Windows"; //窗口标题名//窗口类的定义wndclass.style=0; //窗口类型为缺省类型wndclass.lpfnWndProc=WndProc; //定义窗口处理函数wndclass.cbClsExtra=0; //窗口类无扩展wndclass.cbWndExtra=0; //窗口实例无扩展wndclass.hInstance=hInstance;//当前实例句柄wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);//窗口的最小化图标为缺省图标wndclass.hCursor=LoadCursor(NULL,IDC_ARROW) ;//窗口采用箭头光标wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);//窗口背景为白色wndclass.lpszMenuName=NULL; //窗口中无菜单//wndclass.lpszClassName=(LPCWSTR) lpszClassName ;wndclass.lpszClassName= lpszClassName ;//窗口类名为"窗口"//--------------- 以下进行窗口类的注册 -------if(!RegisterClass( &wndclass))//如果注册失败则发出警告{ MessageBeep(0) ; return FALSE ; }//---------------- 创建窗口 -------------------hwnd=CreateWindow(lpszClassName, //窗口类名lpszTitle, //窗口实例的标题名WS_OVERLAPPEDWINDOW, //窗口的风格CW_USEDEFAULT,CW_USEDEFAULT, //窗口左上角坐标为缺省值CW_USEDEFAULT,CW_USEDEFAULT, //窗口的高和宽为缺省值NULL, //此窗口无父窗口NULL, //此窗口无主菜单hInstance, //创建此窗口的应用程序的当前句柄NULL //不使用该值);//--------------- 显示窗口 ----------------------ShowWindow( hwnd, nCmdShow) ;//-------------- 绘制用户区 ---------------------UpdateWindow(hwnd);//--------------- 消息循环 ----------------------while( GetMessage(&Msg, NULL, 0, 0)){TranslateMessage( &Msg) ;DispatchMessage( &Msg) ;}return Msg.wParam; //消息循环结束即程序终止时将信息返回系统}//窗口函数LRESULT CALLBACK WndProc( HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){HDC hDC; //定义设备环境句柄.PAINTSTRUCT ps; //定义包含绘图信息的结构体变量HPEN hPen; //标示画笔句柄HCURSOR hcursor; //标识一个光标对象static int x,y;char buf[100]; //临时申请一个100大的空间(又叫buffer),并且未初始化switch(message){case WM_MOUSEMOVE:hDC = GetDC(hwnd);hPen = (HPEN)GetStockObject(BLACK_PEN);SelectObject(hDC,hPen);x = LOWORD(lParam);y = HIWORD(lParam);sprintf(buf,"%d ,%d ",x,y);TextOut(hDC,1,1,buf,strlen(buf));if(x>50&&x<150&&y>50&&y<150){ hcursor=LoadCursor(NULL,IDC_CROSS); //十字光标SetCursor(hcursor);}if(x>150&&x<250&&y>50&&y<150){hcursor=LoadCursor(NULL,IDC_SIZEALL);//十字箭头光标SetCursor(hcursor);}if(x>200&&x<350&&y>50&&y<200){ hcursor=LoadCursor(NULL,IDC_SIZENESW);SetCursor(hcursor);}//西南-东北光标else if(x>50&&x<200&&y>50&&y<200){ hcursor=LoadCursor(NULL,IDC_IBEAM);SetCursor(hcursor);}//I字型光标else if(x>200&&x<350&&y>200&&y<350){ hcursor=LoadCursor(NULL,IDC_WAIT);SetCursor(hcursor);} //沙漏光标else if(x>50&&x<200&&y>200&&y<350){ hcursor=LoadCursor(NULL,IDC_UPARROW);SetCursor(hcursor);} //向上箭头光标ReleaseDC(hwnd,hDC);break;case WM_PAINT: //处理绘图消息hDC=BeginPaint(hwnd,&ps);hPen=(HPEN)GetStockObject(BLACK_PEN);SelectObject(hDC,hPen);Rectangle(hDC,50,50,350,350);MoveToEx(hDC,50,200,NULL); LineTo(hDC,350,200);MoveToEx(hDC,200,50,NULL); LineTo(hDC,200,350);EndPaint(hwnd,&ps);break;case WM_DESTROY:PostQuitMessage(0);case WM_KEYDOWN:{switch(wParam){case VK_SHIFT: //当按control键时响应。

实验报告范文(VC)2

实验报告范文(VC)2

实验报告范文(VC)2实验一:框架接口、文档模板和文档视图的使用实验目的:1、熟练掌握框架窗口的使用2、熟练掌握文档模板的使用3、基本掌握使用多个文档类型4、基本掌握文档视图结构实验内容:1、框架窗口的使用2、文档模板的使用3、使用多个文档类型4、文档视图结构的使用实验步骤:在向导中修改窗口风格:MFCAppWizard的项目类型,指定项目工作文件夹位置,输入项目名E 某_SDI2单击“确定”按钮。

2、在向导的第一步,将应用程序类型选为“单个文档”。

3、单击“下一个”按钮,出现向导的第二步对话框,在这里用户可以选择程序中是否假如数据库的支持。

4、单击“下一个”按钮,出现向导第三步对话框,允许用户在程序中加入符合文档、自动化、Active某控件的支持。

5、单击“下一个”按钮,出现向导第四步对话框,对话框的前几项依次确定对浮动工具条、打印与预览以及通信网络等特性的支持。

对话框的最后两项是最近文件列表数目的设置和一个“高级”按钮。

6、在第四步对话框中,单击“高级”按钮,分别用于文档模板字串资源内容和窗口风格的修改。

7、单击“关闭”按钮回到向导对话框,单击“下一个”按钮,。

在这里用户可选择:应用程序的主窗口是MFC标准风格还是窗口左边有切分窗口的浏览器风格,在源文件中是否加入注释来引导用户编写程序代码,是只用动态链接库还是静态链接库。

8、单击“下一个”按钮,在这里,用户可以对MFCAppWizard提供的默认类名、基类名、各个源文件名进行修改。

实验二:常用控件的使用实验目的:1、熟练掌握创建和使用静态控件和按钮2、熟练掌握创建和使用编辑框和按钮控件3、熟练掌握创建和使用列表框4、熟练掌握创建和使用组合框5、基本掌握创建和使用进展条、滚动条和滑动条6、基本掌握创建和使用图像列表、列表和树控件实验内容:1、创建和使用静态控件和按钮2、创建和使用编辑框和按钮控件3、创建和使用列表框4、创建和使用组合框5、创建和使用进展条、滚动条和滑动条6、创建和使用图像列表、列表和树控件实验步骤:1)控件的创建方法:一种是在对话框模板中用编辑器指定控件,另一种是编程方式,即调②③④⑤⑥MFCAppWizard(e某e)的项目类型,在工程框中输入项目名E某_DlgCtrl。

(完整版)可视化(VC)实验报告

(完整版)可视化(VC)实验报告

学生学号实验课成绩学生实验报告书实验课程名称可视化编程(VC)开课学院计算机科学与技术学院指导教师姓名岑丽学生姓名学生专业班级2013-- 2014学年第 2 学期实验课程名称:_可视化编程(VC)第三部分结果与讨论(可加页)一、实验结果分析(包括数据处理、实验现象分析、影响因素讨论、综合分析和结论等)二、小结、建议及体会实验结果:体会:主要学习了Windows编程的基础知识,包括窗口的概念、事件驱动的基本概念等,同样详细介绍了Windows编程中经常用到的“消息”以及对“消息”的响应,在此基础上又学习了Windows程序的结构框架。

实验课程名称:_可视化编程(VC)第三部分结果与讨论(可加页)一、实验结果分析(包括数据处理、实验现象分析、影响因素讨论、综合分析和结论等)二、小结、建议及体会运行结果:体会:进一步学习到了图形设备接口的基本概念以及Windows应用程序中绘图的主要步骤,同时也学习到了绘图函数的应用。

在WM_PAINT消息处理程序中,将映像模式设置为MW_ANISO_TROPIC,同时设置视口和窗口范围,以及视口原点,这样做是为了使得逻辑坐标的原点移动到窗口的中央位置,便于处理后面的坐标。

实验课程名称:_可视化编程(VC)第三部分结果与讨论(可加页)一、实验结果分析(包括数据处理、实验现象分析、影响因素讨论、综合分析和结论等)二、小结、建议及体会运行结果:体会:Windows应用程序中常见的键盘及鼠标的操作及其编程方法和对鼠标操作的响应,是Windows编程中非常重要的组成部分。

在用户与计算机的交互过程中,除鼠标之外,键盘的操作也是非常重要的,大量的信息是通过键盘输入的。

实验课程名称:_可视化编程(VC)第三部分结果与讨论(可加页)一、实验结果分析(包括数据处理、实验现象分析、影响因素讨论、综合分析和结论等)二、小结、建议及体会运行结果:体会:VisualC++的另一种编程方法是利用MFC和向导来编写Windows应用程序。

VC实验报告具体内容(样例5)

VC实验报告具体内容(样例5)

VC实验报告具体内容(样例5)第一篇:VC实验报告具体内容注意: 请大家实验报告双面打印!!给出主要代码就行.实验一:名称:熟悉VC IDE,创建一个简单的VC界面具体内容:用API创建一个基本窗口实验二:名称:基于API编程(一)具体内容:习题4-8(旋转的小风车)实验三:名称:基于API编程(二)具体内容:习题6_6(设计一个键盘程序, 当按Ctrl键时,表明要画椭圆..)实验四:名称:基于MFC编程(一)具体内容:9-18(用编辑框与按钮实现加减乘除运算)实验五:名称:基于MFC编程(二)具体内容:9_20(建立一个程序进行数据的管理, 设有10组数据,每一组数据有5个元素…)第二篇:vc控制台是什么CONSOLE: win32 字符模式应用程序,此种类型的应用程序在运行的时候会产生一个类似DOS窗口的控制台窗口,如果在应用程序的主函数为main()或者wmain(),在默认情况下该应用程序就是一个控制台应用程序。

控制台就是一个标准的输入输出,对大量数据输入很方便,它不是为做图形界面服务的。

你要做图形界面,又想自己画菜单,简单点,写个Win32 application 一切都自己写。

控制台就算是写DOS的程序,但是也支持部分API 也可以创建窗口并打开。

相对的,WINDOWS类型的应用程序不产生console窗口,该类型的应用程序的窗口由用户自己创建,简而言之就是一个标准的Win32 application,其入口地址为WinMain()函数或者wWinMain()函数的地址如果你在应用程序种定义的主函数为WinMain或者wWinMain,在默认情况下该应用程序就是一个Win32 Application!第三篇:具体内容具体内容1、开展“记忆的证明”纪念抗战60周年“四个一”爱国主义教育活动。

要围绕爱国主义主旋律,抓住抗战胜利60周年这一德育契机,大力宣传这一伟大民族解放战争的重要历史地位和光辉业绩,进一步弘扬爱国主义为核心的民族精神,认真开展“四个一”活动,即听一次专题革命讲座,学一首经典革命歌曲,读一本老革命家传记,做一张主题纪念小报。

vc 实验报告

vc 实验报告

vc 实验报告VC 实验报告一、引言VC(Venture Capital)是一种风险投资方式,通过为初创企业提供资金和资源支持,帮助其实现快速发展。

本篇文章将对VC实验进行详细报告,包括实验目的、实验设计、实验过程和实验结果等内容。

二、实验目的本次VC实验的目的在于探索风险投资对初创企业发展的影响,并评估VC对企业创新和成长的促进作用。

通过实验,我们希望能够深入了解VC的运作机制,为创业者和投资者提供有益的参考。

三、实验设计1. 参与者选择我们从学校附近的创业团队中选择了10个初创企业作为实验对象。

这些企业涵盖了不同行业和发展阶段,包括科技、互联网、教育等领域。

2. 实验组与对照组为了比较VC对企业发展的影响,我们将这10个企业分为实验组和对照组。

实验组将获得VC的资金和资源支持,而对照组则没有VC的参与。

3. 实验指标我们将通过以下指标评估企业的发展情况:- 创新能力:通过企业推出的新产品和服务数量来衡量。

- 资金状况:包括企业融资额和现金流量等方面。

- 市场份额:通过市场调研和销售数据来评估企业在市场上的地位。

- 团队规模:衡量企业员工数量和团队组织结构的完善程度。

四、实验过程1. 实验组介入实验组的企业与VC进行洽谈,达成合作意向后,VC将提供资金和资源支持。

这些支持包括投资资金、行业专家咨询、市场推广等。

2. 对照组观察对照组的企业则继续独立运营,没有VC的参与。

我们将定期观察对照组企业的发展情况,并与实验组进行对比分析。

3. 数据收集与分析在实验进行的过程中,我们定期收集和记录企业的相关数据,包括财务报表、市场调研数据等。

通过对数据的分析,我们可以了解VC对企业的影响。

五、实验结果根据实验数据的分析,我们得出以下结论:1. 创新能力提升:实验组企业在实验期间推出了更多的新产品和服务,较对照组有明显提升。

2. 资金状况改善:实验组企业获得了更多的融资机会,现金流量也相对更稳定。

3. 市场份额扩大:实验组企业在市场上的竞争地位有所提升,市场份额相对增加。

维生素C的定量测定实验报告

维生素C的定量测定实验报告

生物化学实验报告维生素C的定量测定(2,6-二氯酚靛酚滴定法)一、实验目的掌握2,6-二氯酚靛酚滴定法测定维生素C的原理和方法二、实验原理维生素C又称抗坏血酸。

在1928年从牛的肾上腺皮质中提出的结晶物质,证明对治疗和预防坏血病有特殊功效,因此称为抗坏血酸。

还原型抗坏血酸能还原染料2,6-二氯酚靛酚钠盐,本身则氧化成脱氢抗坏血酸。

在酸性溶液中,2,6-二氯酚靛酚呈红色,被还原后变为无色。

因此,可用2,6-二氯酚靛酚滴定样品中的还原型抗坏血酸。

当抗坏血酸全部被氧化后,稍多加一些染料,使滴定液呈淡红色,即为终点。

如无其他杂质干扰,样品提取液所还原的标准染料量与样品中所含的还原型抗坏血酸量呈正比。

三、实验器材1、松针、菜椒、大枣;2、取液器3、容量瓶100ml4、微量滴定管5ml5、电子天平6、研钵、烧杯数只7、漏斗两个四、实验试剂1、2%草酸溶液:称取草酸8.0311g,溶于400ml蒸馏水中;2、1%草酸溶液:称取草酸4.0254g,溶于400ml蒸馏水中;3、标准抗坏血酸溶液;4、1%HCl;5、0.1% 2,6-二氯酚靛酚溶液。

五、实验操作1、样品的提取松针:从南京大学教学楼前摘取的新鲜松针,用水清洗干净,吸去表面的水。

准确称取2.0004g,放在研钵中加入1%HCl溶液5ml一起研磨,研细。

放置片刻,将提取液转入100ml容量瓶中,如此反复几次加入提取液。

最后用1%HCl溶液定容,混匀,(每10ml样液中含松针0.20004g)静置10min,过滤,备用;菜椒和大枣:用水洗净,吸去表面水分。

准确称取得大枣 2.0025g、菜椒1.9963g。

分别加2%草酸10ml于研钵中,研细,转移提取液于100ml容量瓶中并用2%草酸溶液定容。

(这样,每10ml样液中含有枣0.20025g,或者菜椒1.9963g)静置10min,过滤,弃去最初几毫升滤液,备用;2、滴定标准抗坏血酸溶液:准确吸取标准抗坏血酸溶液 1.0ml加9ml 1%草酸在100ml锥形瓶中,微量滴定管以0.1%2,6-二氯酚靛酚滴定至淡红色,并保持15s 即终点;样品滴定准确称取10.0ml样品溶液,放入100ml锥形瓶中,用与标准抗坏血酸溶液滴定相同的方法滴定;六、数据记录七、数据计算由标准液滴定数据求出1ml染料相当于多少mg抗坏血酸:T = 0.1mg / 0.26ml = 0.385 mg/ml计算每100g样品中含抗坏血酸的质量公式:1000⨯=m VT m 其中:m 100g 样品中含抗坏血酸的质量;V 滴定时所用去染料的体积数;T 每毫升染料能氧化抗坏血酸质量数,0.385mg/ml ;0m 10ml 样液相当于含样品之质量数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Visual C++面向对象与可视化程序设计实验报告姓名:郑长明班级:电气10-2学号:10053228目录实验一Visual C++程序调试实验 (3)实验二C++类基本语法实验 (6)实验三 Windows 图形绘制编程实验 (8)实验四鼠标和键盘编程实验 (13)实验五定时器编程实验 (18)实验六 MFC 消息映射编程实验 (21)实验七 MFC 控件编程实验 (25)实验八 MFC 鼠标做图编程实验 (33)实验一 Visual C++程序调试实验一、实验目的(1) 熟悉Visual C++ 6.0 开发环境;(2) 掌握在Visual C++ 6.0 开发环境调试程序的方法。

二、实验报告(1) 观察三种项目类型对应的程序特点,做出简要说明;Win32 Application就是普通的常见的窗口应用程序,当然有的界面做得比较个性化,比如圆形的、不规则形状的。

他们都是所谓的GUI(Graphics User Interface图形用户接口),我们可以通过鼠标点击来完成控制。

Win32 Console Application(win32控制台应用程序)往往是像MS-DOS窗口(XP中叫命令提示符)的样子出现,我们得用键盘输入各种命令来使用它;或者叫CUI(Character User Interface字符用户接口)。

MFC APPWIZARD:MFC程序向导,微软为了减轻开发人员的工作负担,推出了MFC,MFC其实是一个框架,里面包含了200多个类,MFC比较复杂,MFC框架把基本的功能都实现了,你只是需要把你特殊的功能加到MFC里面,比如你想建一个windows窗口,MFC APPWIZARD下,MFC 中自包含了CWnd串口类,但是win32 application,就是要你自己写一个窗口类,才能用。

(2) 列出C++程序清单,以及程序的运行结果;#include "iostream.h"#include "math.h"void narcissus();void main(){narcissus();}void narcissus(){int x1;int x20;int x2;int x3;int count=0;for (int x=100;x<1000;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++;cout<<"One narcissus number found:"<<x<<endl;}}cout<<"The total number of narcissus number is:"<<count<<endl;}(3) 记录调试过程中变量值的变化情况;(4) 在Visual C++ 6.0 中如何进行程序的跟踪调试;输完程序后先设置断点,再点F5 GO全速运行,再点F11step into进入函数体,最后点F10单步执行即可。

(5) 总结实验的心得体会,实验中遇到的困难以及解决的方法等。

首先是建工程的问题,以前总是使用C++source file,现在换别的工程不会建立了;其次是刚开始不知道怎么调试,不会但不执行和进出主函数操作。

后来进行简单学习知道了使用一些快捷键快速调试。

通过本次实验我了解了C++ 3种Win32 Console Application、Win32 Application和MFC AppWizard(exe)工程的建立。

主要学会了如何进行程序调试和观察变量值的变化。

实验二 C++类基本语法实验一、实验目的(1) 熟悉Visual C++ 6.0 开发环境;(2) 熟悉C++类设计的基本方法;(3) 掌握C++类的几个重要成员函数的定义和使用方法;二、实验内容创建一个Employee 类,该类中有字符数组,表示姓名、街道地址、市、省和邮政编码。

其功能有修改姓名、显示数据信息。

要求其功能函数的原型放在类定义中,构造函数初始化每个成员,显示信息函数要求把对象中的完整信息打印出来。

其中数据成员为保护的,函数为公有的。

(1) 列出C++程序清单,以及程序的运行结果程序如下:#include<iostream.h>#include<string.h>class Employee{protected:char name[200];//这个是姓名数组char address[200];//这个是存放地址的char shi[200]; //这个是存放市的char sheng[200]; //这个是存放省的char youbian[200];//这个是存放邮编的public:Employee(char *p,char *q,char *m,char *n,char *r){strcpy(name,p);strcpy(address,q);strcpy(shi,m);strcpy(sheng,n);strcpy(youbian,r);}void changename(Employee a)//这是改变名字的{char name1[200];cout<<endl;cout<<"请输入新名字:"<<endl;cin>>name1;cout<<endl;cout<<"正在修改,请等待...修改完成!"<<endl<<endl;strcpy(name,name1);}void display()//这是显示输出的{cout<<"姓名:"<<name<<endl;cout<<"街道地址:"<<address<<endl;cout<<"市:"<<shi<<endl;cout<<"省:"<<sheng<<endl;cout<<"邮编:"<<youbian<<endl;}};void main(){Employee aa("小明","公安小区1号","徐州","江苏","221000");aa.display();aa.changename(aa);aa.display();}(2) 总结实验的心得体会,实验中遇到的困难以及解决的方法等刚开始编写的程序比较复杂,错误很多,不是少个分号就是多个大括号。

其次程序比较不美观,感觉界面很陈旧,所以后来对输出界面做了比较人性化的美化工作。

实验中的一些错误的改正:(1)在类内不允许对所定义的数据成员进行初始化。

(2 )类中的数据成员的类型可以是任意的,包括整型、浮点型、字符型、数组、指针和引用等。

也可以是对象,即另一个类的对象,可以作为该类的成员,但自身类的对象是不可以的。

(3 )一般地,在类内先说明公有成员,它们是用户关心的,后面说明私有成员。

(4 )一般将类定义的说明部分或者整个定义部分(包含实现部分)放在一个头文件中。

(5 )在类的说明部分之后必须加分号“;”。

本次实现我深刻的学习了C++的基本语法规范,学习了关于类的声明与定义,学会了使用strcmp函数,深刻的理解了C++中类的封装的优越性。

实验三 Windows 图形绘制编程实验一、实验目的(1) 熟悉Visual C++ 6.0 开发环境;(2) 掌握Windows 图形输出的方法;(3) 理解设备环境、画笔、画刷的概念,掌握常用的绘图函数。

二、实验内容请编写程序,要求如下:(1) 定义一支红色画笔,绘制一个正方形;(2) 用不同颜色的线条连接互不相邻的两个顶点;(3) 用不同颜色的画刷填充用上述方法所形成的图形中的每一个区域。

三、实验报告(1) 列出图形绘制程序代码清单;#include<windows.h>//包含应用程序中所需的数据类型和数据结构的定义#include<tchar.h>LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); //窗口函数说明//--------------- 以下初始化窗口类----------------------int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInst,LPSTR lpszCmdLine,int nCmdShow){HWND hwnd ;MSG Msg ;WNDCLASS wndclass ;// LPCWSTR lpszClassName =_T("窗口"); //窗口类名// LPCWSTR lpszTitle=L"My_Windows"; //窗口标题名char lpszClassName[] = "窗口"; //窗口类名char lpszTitle[]= "基本绘图练习"; //窗口标题名//窗口类的定义wndclass.style=0; //窗口类型为缺省类型wndclass.lpfnWndProc=WndProc; //定义窗口处理函数wndclass.cbClsExtra=0; //窗口类无扩展wndclass.cbWndExtra=0; //窗口实例无扩展wndclass.hInstance=hInstance; //当前实例句柄wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);//窗口的最小化图标为缺省图标wndclass.hCursor=LoadCursor(NULL,IDC_ARROW) ;//窗口采用箭头光标wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);//窗口背景为白色wndclass.lpszMenuName=NULL; //窗口中无菜单wndclass.lpszClassName= lpszClassName ;//窗口类名为"窗口"//--------------- 以下进行窗口类的注册-------if(!RegisterClass( &wndclass))//如果注册失败则发出警告{ MessageBeep(0) ; return FALSE ; }//---------------- 创建窗口-------------------hwnd=CreateWindow(// _T("Title"),lpszClassName, //窗口类名lpszTitle, //窗口实例的标题名WS_OVERLAPPEDWINDOW, //窗口的风格CW_USEDEFAULT,CW_USEDEFAULT, //窗口左上角坐标为缺省值CW_USEDEFAULT,CW_USEDEFAULT, //窗口的高和宽为缺省值NULL, //此窗口无父窗口NULL, //此窗口无主菜单hInstance, //创建此窗口的应用程序的当前句柄NULL //不使用该值);//--------------- 显示窗口----------------------ShowWindow( hwnd, nCmdShow) ;//-------------- 绘制用户区---------------------UpdateWindow(hwnd);//--------------- 消息循环----------------------while( GetMessage(&Msg, NULL, 0, 0)){TranslateMessage( &Msg) ;DispatchMessage( &Msg) ;}return Msg.wParam; //消息循环结束即程序终止时将信息返回系统}//窗口函数LRESULT CALLBACK WndProc( HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){HDC hDC; //定义指向设备的句柄HBRUSH hBrush; //定义指向画刷的句柄HPEN hPen; //定义指向画笔的句柄PAINTSTRUCT PtStr; //定义指向包含绘图信息的结构变量POINT points1[3],points2[3],points3[3],points4[3];points1[0].x=10;points1[0].y=10;points1[1].x=100;points1[1].y=10;points1[2].x=55;points1[2].y=55;points2[0].x=55;points2[0].y=55;points2[1].x=100;points2[1].y=10;points2[2].x=100;points2[2].y=100;points3[0].x=100;points3[0].y=100;points3[1].x=55;points3[1].y=55;points3[2].x=10;points3[2].y=100;points4[0].x=10;points4[0].y=100;points4[1].x=55;points4[1].y=55;points4[2].x=10;points4[2].y=10;switch(message){case WM_PAINT: //处理绘图消息hDC=BeginPaint(hwnd,&PtStr);SetMapMode(hDC,MM_ISOTROPIC); //设置映像模式SetWindowExtEx(hDC,50,50,NULL);SetViewportExtEx(hDC,100,500,NULL);hBrush=(HBRUSH)CreateSolidBrush(RGB(0,100,100));SelectObject(hDC,hBrush);Polygon(hDC,points1,3);hBrush=(HBRUSH)CreateSolidBrush(RGB(100,0,100));SelectObject(hDC,hBrush);Polygon(hDC,points2,3);hBrush=(HBRUSH)CreateSolidBrush(RGB(100,100,100));SelectObject(hDC,hBrush);Polygon(hDC,points3,3);hBrush=(HBRUSH)CreateSolidBrush(RGB(100,100,0));SelectObject(hDC,hBrush);Polygon(hDC,points4,3);hPen=CreatePen(PS_SOLID,2,RGB(0,255,255));SelectObject(hDC,hPen);MoveToEx(hDC,10,10,NULL);LineTo(hDC,100,10);hPen=CreatePen(PS_SOLID,2,RGB(0,255,0));SelectObject(hDC,hPen);MoveToEx(hDC,100,10,NULL);LineTo(hDC,100,100);hPen=CreatePen(PS_SOLID,2,RGB(0,0,255));SelectObject(hDC,hPen);MoveToEx(hDC,100,100,NULL);LineTo(hDC,10,100);hPen=CreatePen(PS_SOLID,2,RGB(255,255,0));SelectObject(hDC,hPen);MoveToEx(hDC,10,100,NULL);LineTo(hDC,10,10);hPen=CreatePen(PS_SOLID,2,RGB(255,0,255));SelectObject(hDC,hPen);MoveToEx(hDC,10,10,NULL);LineTo(hDC,100,100);hPen=CreatePen(PS_SOLID,2,RGB(255,0,0));SelectObject(hDC,hPen);MoveToEx(hDC,100,10,NULL);LineTo(hDC,10,100);hBrush=(HBRUSH)GetStockObject(DKGRAY_BRUSH); //深灰色刷SelectObject(hDC,hBrush);Rectangle(hDC,150,100,200,150);DeleteObject(hBrush);DeleteObject(hPen);EndPaint(hwnd,&PtStr); //结束绘图return 0;case WM_DESTROY:PostQuitMessage(0);default: //缺省时采用系统消息缺省处理函数return DefWindowProc(hwnd,message,wParam,lParam);}return(0);}(2) 总结在Windows 程序中绘制图形的基本操作步骤;(1)分别定义指向设备上下文、画刷、画笔的句柄,定义指向包含绘图信息的结构体变量。

相关文档
最新文档