ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:62.18KB ,
资源ID:6566859      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6566859.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(VC++实验报告123456.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

VC++实验报告123456.docx

1、VC+实验报告123456VC+实验报告班号:学号:姓名: 实验1 VC+开发环境的熟悉和Windows编程基础一、实验目的 1. 熟悉Visual C+的开发环境2. 掌握用应用程序向导创建一个控制台应用项目的方法。3. 掌握源代码文件的新建、打开、保存和关闭等基本操作。4掌握用应用程序向导创建一个Windows应用项目的方法5. 掌握Visual C+项目的编译、连接和执行6. 掌握代码简单语法错误修正和调试的一般过程7掌握Windows程序运行基本原理。 8. 掌握使用SDK(Windows API)方式编写Windows应用程序方法。 9. 掌握用应用程序向导创建一个Windows应用

2、项目的方法。二、实验知识点概念Visual C+是Microsoft公司推出的目前使用极为广泛的基于Windows平台的可视化编程环境。由于其功能强大、灵活性好、完全可扩展以及具有强有力的Internet支持,在各种C+语言开发工具中脱颖而出,成为目前较为流行的C+语言集成开发环境。Windows程序设计不同于DOS下的程序设计,它是一种事件驱动的程序设计模式,主要是基于消息的。Windows SDK编程主要采用C+/C语言和Windows API进行Windows应用程序设计。三、实验题目1. 控制台应用程序编写术语:“控制台应用程序”是一个在仿DOS窗口(控制台窗口)中运行的基于字符的程序

3、,控制台窗口将成为其标准输入和输出装置。由于这种模式的应用程序比Windows程序简单,我们先选择利用Visual C+来建立这样一个应用,这样使得我们可以将精力先投入到学习使用C+编程语言,而不需要把过多的精力投入到学习复杂的Windows编程中去。创建一个控制台应用,输入以下代码:#include class Vehicle public: Vehicle(float speed,int total) speed = speed; total = total; cout”constructor is called!” endl; void ShowMember() coutspeed |

4、totalendl; private: float speed; int total; int main() Vehicle a(120,4);a. ShowMember();Vehicle b;a. ShowMember();(1)编译该程序,修改程序错误(2)分别在创建对象,构造函数处设置断点,调试运行。(3)写出程序运行结果2.Windows SDK应用程序编写下面是一个SDK应用程序的示例,该程序的功能是构造一个编辑框控件和一个按钮。编辑框用于输入一元二次方程的系数,各系数之间用逗号分隔,当单击“计算”按钮,获取方程系数,然后将求得的根通过TextOut显示在窗口客户区中。#inclu

5、de #include #include / 求一元二次方程的根,函数返回根的个数int GetRoot(float a, float b, float c, double *root) double delta, deltasqrt; delta = b*b - 4.0 * a * c; if (delta0.0) return 0; / 无根 deltasqrt = sqrt(delta); if (a!=0.0) root0 = (-b + deltasqrt)/(2.0 * a); root1 = (-b - deltasqrt)/(2.0 * a); else if (b!=0.0)

6、 root0 = root1 = -c/b; else return 0; if (root0 = root1) return 1; else return 2;char str80;LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM); / 窗口过程int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) HWND hwnd ; / 窗口句柄 MSG msg ; / 消息 WNDCLASS wndclas

7、s ; / 窗口类 wndclass.style = CS_HREDRAW | CS_VREDRAW ; 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 = (H

8、BRUSH) GetStockObject (WHITE_BRUSH) ; wndclass.lpszMenuName = NULL ; wndclass.lpszClassName = SDKWin; / 窗口类名 if (!RegisterClass (&wndclass) / 注册窗口 MessageBox (NULL, 窗口注册失败!, HelloWin, 0) ; return 0 ; / 创建窗口 hwnd = CreateWindow (SDKWin, / 窗口类名 实验1Windows编程基础, / 窗口标题 WS_OVERLAPPEDWINDOW, / 窗口样式 CW_USE

9、DEFAULT, / 窗口最初的 x 位置 CW_USEDEFAULT, / 窗口最初的 y 位置 CW_USEDEFAULT, / 窗口最初的 x 大小 CW_USEDEFAULT, / 窗口最初的 y 大小 NULL, / 父窗口句柄 NULL, / 窗口菜单句柄 hInstance, / 应用程序实例句柄 NULL) ; / 创建窗口的参数 ShowWindow (hwnd, nCmdShow) ; / 显示窗口 UpdateWindow (hwnd) ; / 更新窗口,包括窗口的客户区 while (GetMessage (&msg, NULL, 0, 0) TranslateMess

10、age (&msg) ; / 转换某些键盘消息 DispatchMessage (&msg) ; / 将消息发送给窗口过程,这里是WndProc return msg.wParam ;LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) HDC hdc; PAINTSTRUCT ps; static HWND hwndButton, hwndEdit; char strEdit80, strA380, strHint80; float a3; double root2; int i, j

11、, k, m; switch (message) case WM_CREATE: / 窗口创建产生的消息 hwndEdit = CreateWindow(edit, NULL, WS_CHILD|WS_VISIBLE|WS_ BORDER, 10, 60, 200, 25, hwnd, NULL, NULL, NULL ); hwndButton = CreateWindow(button, 计 算, WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON, 240, 60, 80, 25, hwnd, NULL, NULL, NULL ); return 0 ; case WM_

12、COMMAND: / 命令消息,控件产生的通知代码在wParam的高字中 if (HWND)lParam = hwndButton )&( HIWORD(wParam) = BN_CLICKED ) / 获取编辑框控件的内容,并将其转换成float数值 GetWindowText( hwndEdit, strEdit, 80); / 获取编辑框内容 / 分隔字符串 k = 0; m = 0; for (j=0; j80; j+) if (strEditj = ,) k+; m = 0; else strAkm = strEditj; m+; for (i=0; i3; i+) ai = (fl

13、oat)atof(strAi); / 将字符串转换成float数值 int n = GetRoot(a0, a1, a2, root); if (n1) strcpy(str, 方程无根!) ; else sprintf(str,方程的解为:%f, %f, root0, root1); InvalidateRect(hwnd, NULL, TRUE); case WM_PAINT: hdc = BeginPaint(hwnd, &ps); strcpy(strHint, 请输入一元二次方程的3个系数,中间用逗号分隔); TextOut(hdc, 10, 40, strHint, strlen(

14、strHint); TextOut(hdc, 10, 90, str, strlen(str); EndPaint(hwnd, &ps); return 0 ; case WM_DESTROY: / 当窗口关闭时产生的消息 PostQuitMessage (0) ; return 0 ; return DefWindowProc (hwnd, message, wParam, lParam) ; / 执行默认的消息处理(1)请仔细阅读该程序,写出该程序的设计思路。(2)参考上面的代码,使用SDK方式编写一窗口应用程序,能实现简单的画线功能。a.设计思想b.程序源代码(要求有详细的注释)c.调试

15、分析&运行结果d. 用户使用说明(输入 / 输出规定)实验2 类和对象一、实验目的 1. 掌握类的定义方法,能合理指定类中成员的访问权限。 2. 学习对象的说明和使用方法。3. 灵活运用类和对象的相关知识进行综合程序设计。二、实验知识点概念类是对同一类事物的抽象描述,其数据成员用于描述该类事物的属性,成员函数完成修改、获取属性值或实现基于属性的某些操作。类不占用存储空间。对象是类的实例,对象占用存储空间。C+中类与结构体并没有本质的区别,结构体中也可以定义成员函数,也可以指定各个成员的访问权限。两者的唯一差异在于:结构中成员的缺省访问权限是公有的,而类中成员的缺省访问权限是私有的。三、实验题目

16、 1.设计个人信息类CPerson和学生成绩类CScore。其中,CPerson类的数据成员是姓名和学号;CScore类的数据成员除了三门成绩外,还有一个CPerson类对象stu。 2.设计数据操作类CStack,它使用数组来动态存储CScore类对象,并模拟栈的操作:push(压入)与pop(弹出)。栈是一种“FILO”(先进后出)或“LIFO”(后进先出)的存储结构。如图2-1所示,它占用一块连续的内存空间,有两个端点:一个端点是固定的,称为栈底;另一个端点是活动的,称为栈顶。操作只能在栈顶进行,建立一个栈先要开辟栈空间,且为了指示栈顶位置还要设定一个指针,称为栈顶指针(图2-1中的SP

17、)。初建栈时,栈顶指针SP指向栈底,如图2-1(a)所示。当向栈内压入一个元素d1时,先向栈顶写入d1,再将SP+,如图2-1(b)所示。再压入一个元素d2时,先向栈顶写入d2,再将SP+,如图2-1(c)所示。可见,栈顶总是用于存放下一个元素。当栈内弹出一个元素d2时,直接执行SP-,然后返回SP中的内容,如图2-1(d)所示。这样,当再次压入新元素时,d2被覆盖。栈空间SPd1栈底 (a)空栈 (b)压入d1 图2-1 栈模型 栈空间d2d1栈底SPSP(c)压入d2 (d)弹出d2 图2-1 栈模型四、程序思路五、程序源代码(要求有详细的注释)六、用户使用说明(输入 / 输出规定)七、调

18、试分析&运行结果实验3 继承和派生一、实验目的 继承与派生是面向对象的特性,是面向对象程序设计模拟客观世界的手段之一,通过实验要求掌握:1. 掌握类的继承与派生关系及实现方法,理解类的层次结构。2. 掌握派生类构造函数初始化基类成员的方法。3. 灵活运用继承和派生的相关知识进行综合程序设计。二、实验知识点概念类的继承是新的类从已有类那里得到已有的特性。从已有的类产生新类的过程就是类的派生。在继承过程中,原有的类或已经存在的用来派生新类的类称为基类或父类,而由已经存在的类派生出的新类则称为派生类或子类。 根据派生类所拥有的基类数目不同,可以分为单继承和多继承。一个类只有一个直接基类时,称为单继承

19、;而一个类同时有多个直接基类时,则称为多继承。三、实验题目编写一个程序实现小型公司的工资管理。该公司主要有4类人员:经理、兼职技术人员、销售员和销售经理。要求存储这些人员的编号、姓名和月工资,计算月工资并显示全部信息。月工资计算办法是:经理拿固定月薪8000元,兼职技术人员按每小时100元领取月薪,销售员按该当月销售额的4%提成,销售经理即拿固定月工资也领取销售提成,固定月工资为5000元,销售提成为所管辖部门当月销售总额的5%。四、程序思路五、程序源代码(要求有详细的注释)六、用户使用说明(输入 / 输出规定)七、调试分析运行结果实验4 多态性和虚函数一、实验目的 1. 了解多态性在C+中的

20、体现。2. 掌握虚函数的应用。3. 理解抽象类。二、实验知识点概念 多态性 多态是指同样的消息被不同类型的对象接收时导致不同的行为,所谓消息是指对类的成员函数调用,不同的行为是指不同的实现,也就是调用了不同的函数。 多态性可分为四类:重载多态、强制多态、包含多态和参数多态。 多态从实现的角度来讲可以划分为两类:编译时的多态和运行时的多态。编译时的多态性是在编译的过程中确定了同名操作的具体操作对象,也就是通过重载函数来实现的。运行时的多态性是在程序运行过程中才动态地确定操作所针对的具体对象,就是用虚函数来实现的。 虚函数 虚函数是重载的另一种表现形式,它是一种动态的重载方式,它提供了一种更为灵活

21、的多态性机制。虚函数允许函数调用与函数体之间的联系在运行时才建立,也就是在运行时才决定如何动作,即所谓的“动态连接”。 一般虚函数成员的定义语法是: virtual 函数类型 函数名(形参表) 虚函数的定义实际就是在原有的普通函数成员前面使用virtual关键字来限定,虚函数声明只能出现在类定义中的函数原型声明中,而不能在成员的函数体中。 运行过程中的多态需要满足三个条件,首先类之间应满足赋值兼容规则,其二是要声明虚函数,第三是要由成员函数来调用或者是通过指针、引用来访问虚函数。三、实验题目1.将实验3的题目运用多态性进行改进。2.以下两题选择一题实现(也可以两题都做)(1)编写一个程序实现图

22、书和杂志销售管理。当输入一系列图书和杂志销售记录后,将销售良好(图书每月售500本以上,杂志每月售2500本以上)的图书和杂志名称显示出来。(2)定义一个抽象类CShape,包括纯虚函数Area()(用来计算面积)和SetData(用来重设形状大小)。然后派生出三角形CTriangle类,矩形CRect类,圆CCircle类,分别求其面积。最后定义一个CArea类,计算这几个形状的面积之和,各形状的数据通过CArea类构造函数或成员函数来设置。编写一个完整的程序。四、程序思路五、程序源代码(要有注释)六、用户使用说明(输入 / 输出规定)七、调试分析运行结果实验5 输入/输出流库(选做)一、实

23、验目的1、掌握文件流的打开、关闭及使用的使用方法。2、理解文本文件流与二进制文件流在操作上的区别。3、掌握插入和提取运算符的重载。4、掌握基本流的输入、输出方法。二、实验题目1、设计一个管理图书目的简单程序,提供的基本功能包括:可连续将新书存入文件“book.dat”中,新书信息加入到文件的尾部;也可以根据输入的书名进行查找;把文件“book.dat”中同书名的所有书显示出来。为简单起见,描述一本书的信息包括:书号,书名,出版社和作者。2、自定义一个描述人的基本信息的类,至少包括的数据成员:姓名,单位,出生日期。用友元函数重载重载提取和插入运算符,实现对象的输入和输出。三、程序思路四、程序源代

24、码(要有注释)五、用户使用说明(输入 / 输出规定)六、调试分析运行结果实验6 Windows程序开发一、实验目的1、掌握使用Visual C+开发Windows程序的基本方法2、理解Windows程序原理。3、了解MFC类库及MFC应用程序框架。二、实验知识点概念1、Windows程序设计是基于事件驱动的程序设计模式。2、类库是一个可以在应用程序中使用的互相关联的C+类的集合。与一般类库不同,Microsoft基本类库(MFC)是一个Windows应用程序框架,它定义了应用程序的结构并实现了标准的用户接口。MFC提供了管理窗口、菜单、对话框的代码,可以实现基本的输入/输出和数据存储。二、实验题目1. 利用MFC应用程序向导分别生成单文档、多文档、对话框应用程序,观察三种应用程序分别有哪些类组成?这些类有什么作用,分别继承哪些MFC基类?2. 创建一个单文档工程项目,在该项目中添加一个口令对话框(如图所示),口令为自己设定的一个值,以防止非法用户侵入。口令对话框(1)设计思路与步骤(2)源代码(只写明自己添加的代码)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1