当前位置:文档之家› VC实验报告

VC实验报告

VC实验报告
VC实验报告

黑龙江大学

实验报告

黑龙江大学教务处

实验名称:菜单、工具栏和状态栏的使用

实验目的

1 熟悉VC++编程环境

2 熟悉VC++框架程序

3 掌握基本程序调试技术

实验类型

// 设计型

实验环境

// 编程环境:Visual C++ .net

// 运行环境:Windows XP等

实验要求

1.掌握菜单栏的使用,包括命令函数和命令更新函数的使用。

2.掌握快捷菜单的使用

3.掌握工具栏和状态栏的使用

4.在框架菜单栏上添加菜单项,并在其下拉菜单中定义下级子菜单。子菜单包括性别(男、女)、课目(数学、语文、英语)和成绩(优、良、中、及格和不及格)。

5.单击显示菜单项,可将上述菜单选项内容显示出来。

实验步骤

int Grade1; //成绩等级的变量

bool Math; //数学项的变量

bool English; //英语项的变量

bool Chinese; //语文项的变量

TCHAR sex[5]; //性别项的变量

CString str;

1、设计

先定义属性,性别,姓名,成绩单选,学科多选,显示进行图标设置和关联,右键事件菜单注释,进行新的菜单,关联并编辑。

2、编码

void CMy20156660yzn3View::OnContextMenu(CWnd* /* pWnd */, CPoint point) {

//#ifndef SHARED_HANDLERS

//theApp.GetContextMenuManager()->ShowPopupMenu(IDR_POPUP_EDIT, point.x, point.y, this, TRUE);

//#endif

CMenu menu;

menu.LoadMenu(IDR_MENU1);

menu.GetSubMenu(0)->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, this);

} void CMy20156660yzn3View::OnContextMenu(CWnd* /* pWnd */, CPoint point)

{

//#ifndef SHARED_HANDLERS

//theApp.GetContextMenuManager()->ShowPopupMenu(IDR_POPUP_EDIT, point.x, point.y, this, TRUE);

//#endif

CMenu menu;

menu.LoadMenu(IDR_MENU1);

menu.GetSubMenu(0)->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, this);

}

右键事件菜单

void CMy20156660yzn3View::OnShow()

{

// TODO: 在此添加命令处理程序代码

str = _T("");

str = str + name;

str = str + _T(",性别为");

str = str + sex;

str = str + _T(",");

if (Math == true)

str = str + _T("数学");

if (Chinese == true)

str = str + _T("语文");

if (English == true)

str = str + _T("英语");

if (PE == true)

str = str + _T("体育");

if (Grade == 1)

str = str + _T("A");

if (Grade == 2)

str = str + _T("B");

if (Grade == 3)

str = str + _T("C");

if (Grade == 4)

str = str + _T("D");

if (Grade == 5)

str = str + _T("E");

MessageBox(str);

}

void CMy20156660yzn3View::Onzhang()

{

// TODO: 在此添加命令处理程序代码

if (lstrcmp(name, _T("刘龙")) != 0)

lstrcpy(name, _T("刘龙"));

}

void CMy20156660yzn3View::OnUpdatezhang(CCmdUI *pCmdUI) {

// TODO: 在此添加命令更新用户界面处理程序代码

if (lstrcmp(name, _T("刘龙")) == 0)

pCmdUI->SetRadio(1);

else

pCmdUI->SetRadio(0);

}

状态的实时更新以及显示

3、调试

右键改变文字,选项显示不同的结果。

4、测试

// 给出适当的测试数据和对应的测试结果(用表格)

// 画出该模块

实验总结

学会如何编辑菜单和关联事件,熟悉可视化的内容。

C上机实验报告实验四

实验四数组、指针与字符串 1.实验目的 1.学习使用数组 2.学习字符串数据的组织和处理 3.学习标准C++库的使用 4.掌握指针的使用方法 5.练习通过Debug观察指针的内容及其所指的对象的内容 6.联系通过动态内存分配实现动态数组,并体会指针在其中的作用 7.分别使用字符数组和标准C++库练习处理字符串的方法 2.实验要求 1.编写并测试3*3矩阵转置函数,使用数组保存3*3矩阵。 2.使用动态内存分配生成动态数组来重新完成上题,使用指针实现函数的功能。 3.编程实现两字符串的连接。要求使用字符数组保存字符串,不要使用系统函数。 4.使用string类定义字符串对象,重新实现上一小题。 5.定义一个Employee类,其中包括姓名、街道地址、城市和邮编等属性,以及change_name()和display()等函数。Display()显示姓名、街道地址、城市和邮编等属性,change_name()改变对象的姓名属性。实现并测试这个类。 6.定义包含5个元素的对象数组,每个元素都是Employee类型的对象。 7. (选做)修改实验4中的选做实验中的people(人员)类。具有的属性如下:姓名char name[11]、编号char number[7]、性别char sex[3]、生日birthday、身份证号char id[16]。其中“出生日期”定义为一个“日期”类内嵌对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、聚集。在测试程序中定义people类的对象数组,录入数据并显示。 3.实验内容及实验步骤 1.编写矩阵转置函数,输入参数为3*3整形数组,使用循环语句实现矩阵元素的行列对调,注意在循环语句中究竟需要对哪些元素进行操作,编写main()函数实现输入、输出。程序名:lab6_1.cpp。 2.改写矩阵转置函数,参数为整型指针,使用指针对数组元素进行操作,在main()函数中使用new操作符分配内存生成动态数组。通过Debug观察指针的内容及其所指的对象中的内容。程序名:lab6_2.cpp。 3.编程实现两字符串的连接。定义字符数组保存字符串,在程序中提示用户输入两个字符串,实现两个字符串的连接,最后用cout语句显示输出。程序名:lab6_3.cpp。用cin实现输入,注意,字符串的结束标志是ASCII码0,使用循环语句进行字符串间的字符拷贝。 4.使用string类定义字符串对象,编程实现两字符串的连接。在string类中已重载了运算符“+=”实现字符串的连接,可以使用这个功能。程序名:lab6_4.cpp。 5.在employee.h文件中定义Employee类。Employee类具有姓名、街道地址、城市和邮编等私有数据成员,在成员函数中,构造函数用来初始化所有数据成员;display()中使用cout显示

物理实验报告格式范文

物理实验报告格式范文 一、实验目的 二、实验仪器和器材(要求标明各仪器的规格型号) 三、实验原理:简明扼要地阐述实验的理论依据、计算公式、画出电路图或光路图 四、实验步骤或内容:要求步骤或内容简单明了 五、数据记录:实验中测得的原始数据和一些简单的结果尽可能用表格形式列出,并要求正确表示有效数字和单位 六、数据处理:根据实验目的对测量结果进行计算或作图表示,并对测量结果进行评定,计算误差或不确定度. 七、实验结果:扼要地写出实验结论 八、误差分析:当实验数据的误差达到一定程度后,要求对误差进行分析,找出产生误差的原因. 九、问题讨论:讨论实验中观察到的异常现象及可能的解释,分析实验误差的主要来源,对实验仪器的选择和实验方法的改进提出建议,简述自己做实验的心得体会,回答实验思考题. 物理探究实验:影响摩擦力大小的因素 技能准备:弹簧测力计,长木板,棉布,毛巾,带钩长方体木块,砝码,刻度尺,秒表。 知识准备: 1. 二力平衡的条件:作用在同一个物体上的两个力,如果大小相等,方向相反,并且在同一直线上,这两个力就平衡。 2. 在平衡力的作用下,静止的物体保持静止状态,运动的物体保持匀速直线运动状态。 3. 两个相互接触的物体,当它们做相对运动时或有相对运动的趋势时,在接触面上会产生一种阻碍相对运动的力,这种力就叫摩擦力。 4. 弹簧测力计拉着木块在水平面上做匀速直线运动时,拉力的大小就等于摩擦力的大小,拉力的数值可从弹簧测力计上读出,这样就测出了木块与水平面之间的摩擦力。

探究导引 探究指导: 关闭发动机的列车会停下来,自由摆动的秋千会停下来,踢出去的足球会停下来,运动的物体之所以会停下来,是因为受到了摩擦力。 运动物体产生摩擦力必须具备以下三个条件:1.物体间要相互接触,且挤压;2.接触面要粗糙;3.两物体间要发生相对运动或有相对运动的趋势。三个条件缺一不可。 摩擦力的作用点在接触面上,方向与物体相对运动的方向相反。由力的三要素可知:摩擦力除了有作用点、方向外,还有大小。 提出问题:摩擦力大小与什么因素有关? 猜想1:摩擦力的大小可能与接触面所受的压力有关。 猜想2:摩擦力的大小可能与接触面的粗糙程度有关。 猜想3:摩擦力的大小可能与产生摩擦力的两种物体间接触面积的大小有关。 探究方案: 用弹簧测力计匀速拉动木块,使它沿长木板滑动,从而测出木块与长木板之间的摩擦力;改变放在木块上的砝码,从而改变木块与长木板之间的压力;把棉布铺在长木板上,从而改变接触面的粗糙程度;改变木块与长木板的接触面,从而改变接触面积。 物理实验报告 .化学实验报告 .生物实验报告 .实验报告格式 .实验报告模板 探究过程: 1. 用弹簧测力计匀速拉动木块,测出此时木块与长木板之间的摩擦力:0.7N 2. 在木块上加50g的砝码,测出此时木块与长木板之间的摩擦力:0.8N 3. 在木块上加200g的砝码,测出此时木块与长木板之间的摩擦力:1.2N 4. 在木板上铺上棉布,测出此时木块与长木板之间的摩擦力:1.1N 5. 加快匀速拉动木块的速度,测出此时木块与长木板之间的摩擦力:0.7N 6. 将木块翻转,使另一个面积更小的面与长木板接触,测出此时木块与长木板之间的摩擦力:0.7N 探究结论:

VC++实验报告书

一、设计方案及功能描述 图像平滑往往使图像中的边界、轮廓变的模糊,为了减少这类不利效果的影响,这就需要利用图像鋭化技术,使图像的边缘变的清晰。图像銳化处理的目的是为了使图像的边缘、轮廓线以及图像的细节变的清晰,经过平滑的图像变得模糊的根本原因是因为图像受到了平均或积分运算,因此可以对其进行逆运算(如微分运算)就可以使图像变的清晰。 对图像f(x,y),在点(x,y)处的梯是一个矢量 G=[f(x,y)]=[?f ?x ,?f ?y ] 梯度的方向在函数f(x,y)最大变化率的方向上,梯度的幅度G M[ f(x,y)]可由下式给出: G M[ f(x,y)]=(?f ?x )2+(?f ?y )2 由上式可知,梯度的数值是f(x,y)在其最大变化率的方向上的单位距离所增加的量。 对数字图像,微分?f ?x 和?f ?y 可用差分近似。差分运算近似后的梯度表达式为 G M[ f(x,y)]=f x,y?f(x+1,y)2+f x,y?f(x,y+1)2 对于图像f(x,y),上式的计算量很大,因此在实际计算中常用绝对值代替平方和平方根运算,梯度模值近似为 运用双方向一次微分运算,算出梯度后用梯度值替代该点的灰度值。在图像的最后一行或最后一列无法计算像素梯度时,一般用前一行或前一列的梯度值近似代替。 为了在不破坏图像背景的前提下更好地增强边缘,也可以对上述直接用梯度值代替灰度值的方法进行改进,即利用门限判断梯度锐化方法。具体公式如下: G M[ f(x,y)]= G M f x,y+100, G M[ f(x,y)]≥T f x,y,其他 对于图像而言,物体与物体之间,背景和背景之间的梯度变化一般很小,灰度变化较大的地方一般集中在图像的边缘上,也就是物体和背景交界的地方,当设定一个合适的阈值T,G M[ f(x,y)]大于等于T就认为该像素点处于图像的边缘,对梯度值加上100,以使边缘变亮,而对于G M[ f(x,y)]小于T就认为像素点是同类像素点。这样就增加了物体的边界,又同时保留了图像的背景的原来的状态。

微机原理实验四实验报告

实验报告

实验四 8251可编程串行口与PC机通信实验一、实验要求 利用实验箱内的8251A芯片,实现与PC机的通信。 二、实验目的 1.掌握8251A芯片结构和编程方法; 2.了解实现串行通信的硬件环境,数据格式和数据交换协议; 3.了解PC机通信的基本要求。 三、实验原理 (一)8251A芯片工作方式配置: 1. 8个数据位; 2.无奇偶校验位; 3.1个停止位; 4.波特率因子设为16; 5. 波特率设为9600。 (二)8251A主要寄存器说明 图4-1 模式字 图4-2 命令字

CO MMAN D I NSTR UCT ION FO RMA T 图4-3 状态字 (三)8251编程 对8251 的编程就是对8251 的寄存器的操作,下面分别给出8251 的几个寄存器的格式。(1)方式控制字 方式控制字用来指定通信方式及其方式下的数据格式,具体各位的定义如图4-4所示。 图4-4 方式控制字说明 (2)命令控制字 命令控制字用于指定8251 进行某种操作(如发送、接收、内部复位和检测同步字符等)或处于某种工作状态,以便接收或发送数据。图4-5 所示的是8251 命令控制字各位的定义。 图4-5命令控制字说明 (3)状态字 CPU 通过状态字来了解8251 当前的工作状态,以决定下一步的操作,8251 的状态字如 图4-6所示。 图4-6 状态字说明 四、实验电路连接: 1.CS8251接228H,CS8279已固定接至238H; 2.扩展通信口18中的232RXD连8251RXD ,232TXD连8251TXD;

3.计算机的两个RS232通信口,一个连至仿真机通信口,一个连至扩展通信口18(所有通信口均为DB9)。注意:RS232通信口必须在设备断电状态下插拔! 图4-7 连线图 五、实验内容及要求 1. 将例程从PDF文档中导入到WMD86软件编辑环境中,调试通过。使用软件自带的示波器,观察Txd管脚的输出,验证结果的正确性。将结果截图保存,贴入实验报告。 2.剔除例程中冗余部分,实现对例程的精简和优化。将精简内容与相应理由写入实验报告。 3.将自己学号的后三位数字通过RS232端口的Txd管脚输出。使用软件自带的示波器,观察Txd管脚的输出,验证结果的正确性。将结果截图保存,贴入实验报告。 4.通过读状态寄存器的方法,获得发送移位寄存器是否为空的信息,实现学号后三位数字的循环发送。将结果截图保存,贴入实验报告。 5.给每帧数据间添加固定的时间间隔,时间间隔为10000个指令周期。将结果截图保存,

实验报告格式范文

实验报告格式范文 实验一撰写可行性研究报告 一、实验目的 1、掌握可行性研究步骤; 2、学习编制可行性研究报告。 二、实验要求 硬件:Intel Pentium 120 或以上级别的CPU,大于16MB的内存。 软件:Win dows 95/98/2000 操作系统,Office 97/2000 软件 学时:2学时 写岀此项实验报告 三、实验内容 1、可行性研究(结构化分析)方法; 2、绘制数据流图,使用Word写实验报告。 四、实验步骤 1 ?引言 1.1 编写目的 可行性研究的目的是为了对问题进行研究,以最小的代价在最短的时间内确定问题是否可解。 经过对此项目进行详细调查研究,初拟系统实现报告,对软件开发中将要面临的问题及其解决方案进行初步设计及合理安排。明确开发风险及其所带来的经济效益。本报告经审核后,交软件经理审查。 1 . 2 项目背景 (1 )待开发的软件产品名称:旅行社机票预定系统。 (2)本项目的提岀者:冯剑。开发者:李翀。用户:旅行社 (3)本软件产品将用于旅行社的机票预定和费用的记录。

1 . 3术语说明 DFD (数据流图):一种描述书记变换的图形工具,是结构化分析方法最普遍采用的表示手段,但数据流图并不是结构化分析模型的全部,数据字典和小说明为数据流图提供了补充,并用以验证图形表示的正确性、一致性和完整性,三者共同构成了被建系统的模型。 1 . 4.系统参考文献 参考文献见附录 2?可行性研究的前提 2.1基本要求 ⑴功能 本软件实现的功能有:为游客提供机票预定服务,提高旅游局的服务质量和服务效率。 对航班数据库的查询和修改,对机票费用记帐数据库的查询和修改,记录旅客信息(姓名、性别、年龄、身份证号、单位、旅行时间、目的地)、航班时间和班次,打印机票和帐单。 (2) 性能 时间:提供的信息必须及时的反映在工作平台上。售票系统的定单必须无差错的存 储在机场的主服务器上。对服务器上的数据必须进行及时正确的刷新。一笔业务在一分钟内完成。空间:运行空间 2M。 (3) 系统的输入和输岀 输入:旅行社定票单。数据完整,详实。 输岀:机票、帐单。简捷,快速,实时。 (4) 处理流程 旅行社将定票信息输入定票系统,系统输岀机票和帐单给旅客。 5 )安全保密要求

VC++实验报告1

实验一、HelloWorld在VC上的实现 姓名:郭殷蓉学号:E10700102 班级:10数媒1班 1.1实验目的 ●掌握Windows程序基本的运行原理。 ●学会编写简单的Windows程序。 1.2实验平台 ●Windows XP professional操作系统。 ●VC6.0集成开发环境。 1.3实验内容 ●用Windows API(SDK)实现图形化HellowWorld程序。 ●用MFC类库实现图形化HellowWorld程序。 1.4实验原理 ●Windows操作介绍 Windows是一种基于图形界面的多任务操作系统。对于普通用户来说,Windows图形化界面友好、操作简单,用户不需要花费长时间学习如何使用计算机和新程序,因为所有的Windows应用程序都具相近的外观和感觉;对于程序员来说,标准化的图形用户界面来自于Windows构造菜单和对话框的内置程序,这些工作由Windows处理,与应用程序无关,使程序员可以编写出易于用户操作的程序。 ●Windows编程模型 Windows程序采用如下图所示的事件驱动编程模型,应用程序通过处理操作系统发送出来的消息来响应事件。消息处理是所有Windows应用程序的的核心。Windows程序的进入点是WinMain函数,但大多时候操作是在成为窗口过程的函数中进行的。窗口过程函数处理发送给窗口的消息。WinMain创建该窗口并进入消息循环,即获取消息或将其调度给窗口过程。消息被检索之前处于消息队列中等待。 Windows定义了成百上千个不同的消息类型。大多数消息的开始字符为“WM”并带有下划线; 操作系统是通过消息机制(Message)来实现将事件传递给应用程序的。操作系统将每个事件都包装成一个称为消息的结构体MSG来传递给应用程序(详见MSDN)。 操作系统把它所能够完成的功能以函数的形式提供给应用程序使用,应用程序对这些函数的调用就叫做系统调用,这些函数的集合就是Windows操作系统提供给应 用程序编程的接口(Application Programming Interface),简称Windows API(C函数)。

计组-4位乘法器实验报告

实验4位乘法器实验报告 姓名:X XX 学号:X XX 专业:计算机科学与技术课程名称:计算机组成同组学生姓名:无 实验时间:实验地点:指导老师:XXX 一、实验目的和要求 1.熟练掌握乘法器的工作原理和逻辑功能 二、实验内容和原理 实验内容: 根据课本上例3-7的原理,来实现4位移位乘法器的设计。 具体要求:1. 乘数和被乘数都是4位 2. 生成的乘积是8位的 3. 计算中涉及的所有数都是无符号数 4.需要设计重置功能 5.需要分步计算出结果(4位乘数的运算,需要四步算出结果) 实验原理: 1.乘法器原理图

2.本实验的要求: 1.需要设计按钮和相应开关,来增加乘数和被乘数 2.每按一下M13,给一个时钟,数码管的左边两位显示每一步的乘 积 3.4步计算出最终结果后,LED灯亮,按RESET重新开始计算 三、主要仪器设备 1.Spartan-III开发板1套 2.装有ISE的PC机1台 四、操作方法与实验步骤 实验步骤: 1.创建新的工程和新的源文件 2.编写verilog代码(top模块、display模块、乘法运算模块、去抖动模块以及 UCF引脚) 3.进行编译 4.进行Debug 工作,通过编译。

5.. 生成FPGA代码,下载到实验板上并调试,看是否与实现了预期功能 操作方法: TOP: module alu_top(clk, switch, o_seg, o_sel); input wire clk; input wire[4:0] switch; output wire [7:0] o_seg; // 只需七段显示数字,不用小数点 output wire [3:0] o_sel; // 4个数码管的位选 wire[15:0] disp_num; reg [15:0] i_r, i_s; wire [15:0] disp_code; wire o_zf; //zero detector initial begin i_r <= 16'h1122; //0x1122 i_s <= 16'h3344; //0x3344 end alu M1(i_r, i_s, switch[4:2], o_zf, disp_code); display M3(clk, disp_num, o_seg, o_sel); assign disp_num = switch[0]?disp_code:(switch[1] ? i_s : i_r); endmodule

实验报告范本

学生实验报告书 实验课程名称 开课学院 指导教师姓名 学生姓名 学生专业班级 200-- 200学年第学期

实验教学管理基本规范 实验是培养学生动手能力、分析解决问题能力的重要环节;实验报告是反映实验教学水平与质量的重要依据。为加强实验过程管理,改革实验成绩考核方法,改善实验教学效果,提高学生质量,特制定实验教学管理基本规范。 1、本规范适用于理工科类专业实验课程,文、经、管、计算机类实验课程可根据具体情况参 照执行或暂不执行。 2、每门实验课程一般会包括许多实验项目,除非常简单的验证演示性实验项目可以不写实验 报告外,其他实验项目均应按本格式完成实验报告。 3、实验报告应由实验预习、实验过程、结果分析三大部分组成。每部分均在实验成绩中占一 定比例。各部分成绩的观测点、考核目标、所占比例可参考附表执行。各专业也可以根据具体情况,调整考核内容和评分标准。 4、学生必须在完成实验预习内容的前提下进行实验。教师要在实验过程中抽查学生预习情况, 在学生离开实验室前,检查学生实验操作和记录情况,并在实验报告第二部分教师签字栏签名,以确保实验记录的真实性。 5、教师应及时评阅学生的实验报告并给出各实验项目成绩,完整保存实验报告。在完成所有 实验项目后,教师应按学生姓名将批改好的各实验项目实验报告装订成册,构成该实验课程总报告,按班级交课程承担单位(实验中心或实验室)保管存档。 6、实验课程成绩按其类型采取百分制或优、良、中、及格和不及格五级评定。

实验课程名称:__通信原理_____________ 图1 AMI/HDB3码型变换电路原理图 含有丰富的时钟分量,因此输出数据直接送到位同步提取锁相环(PLL) 编译码系统组成电原理图见图1。

c++大作业学生实验报告

学生实验报告 实验课名称: C++程序设计 实验项目名称:综合大作业——学生成绩管理系统专业名称:电子信息工程 班级: 学号: 学生: 同组成员: 教师:

2011 年 6 月 23 日 题目:学生成绩管理系统 一、实验目的: (1)对C++语法、基础知识进行综合的复习。 (2)对C++语法、基础知识和编程技巧进行综合运用,编写具有一定综合应用价值的稍大一些的程序。培养学生分析和解决实际问题的能力,增强学生的自信心,提高学生学习专业课程的兴趣。 (3)熟悉掌握C++的语法和面向对象程序设计方法。 (4)培养学生的逻辑思维能力,编程能力和程序调试能力以及工程项目分析和管理能力。 二、设计任务与要求: (1)只能使用/C++语言,源程序要有适当的注释,使程序容易阅读。 (2)至少采用文本菜单界面(如果能采用图形菜单界面更好)。 (3)要求划分功能模块,各个功能分别使用函数来完成。 三、系统需求分析: 1.需求分析: 为了解决学生成绩管理过程中的一些简单问题,方便对学生成绩的管理 (录入,输出,查找,增加,删除,修改。) 系统功能分析: (1):学生成绩的基本信息:学号、、性别、C++成绩、数学成绩、英语成绩、 总分。 (2):具有录入信息、输出信息、查找信息、增加信息、删除信息、修改信息、 排序等功能。 2.系统功能模块(要求介绍各功能) (1)录入信息(Input):录入学生的信息。 (2)输出信息(Print):输出新录入的学生信息。 (3)查找信息(Find):查找已录入的学生信息。 (4)增加信息(Add):增加学生信息。 (5)删除信息(Remove):在查找到所要删除的学生成绩信息后进行删除并输出删除后其余信息。 (6)修改信息(Modify):在查到所要修改的学生信息后重新输入新的学生信息从而进行修改,然后输出修改后的所有信息。 (7)排序(Sort):按照学生学号进行排序。 3.模块功能框架图

如何写vc实验报告

如何写vc实验报告 篇一:VC++实验报告(2) VC++实验报告 班号:0904101 学号:090410123 姓名:仲维祎 实验一VC++开发环境的熟悉和C++基础知识实验 一、实验目的 1. 掌握C++语言的特点。 2. 掌握C++的各种数据类型及基本运算。 3. 掌握C++各种控制结构及使用技巧。 4. 掌握C++的函数、数组、指针的相关概念和使用方法。 5. 灵活运用C++相关基础知识进行综合程序设计。 6. 回顾面向过程程序设计方法。

7. 熟悉Visual C++的开发环境 8.掌握用应用程序向导创建一个控制台应用项目的方法。 9.掌握源代码文件的新建、打开、保存和关闭等基本操作。 10.掌握Visual C++项目的编译、连接和执行。 11.掌握代码简单语法错误修正和调试的一般过程。 二、实验知识点概念 注意C++中同C的不同之处,包括数据类型,输入输出等相关的差异。 三、实验题目 1. 采用插入排序法,输入10个整数按升序排序后输出。要求编写一个通用的插入排序函数,它带有三个参数,第一个参数是含有n个元素的数组,这n个元素已按升序排序;第二个参数给出当前数组中元素个数;第三个参数是要插入的整数。该函数的功能是将一个整数插入到数组中,然后进行排序。另外还需要一个用于输出数组元素的函数,要求每一行输出5个元素。 2. 有5个学生,每个学生的数据结构包括学号、姓名、年龄、C++成绩,数学成绩和英语成绩、总平均分,从键盘输入5个学生的学号、姓名、3门课的成绩,计算3门课的总平均分,最后将5个学生的数据输出。要求各个功能用函数实现。

3. 对程序加入断点简单调试。 四、程序思路 五、程序源代码 1:代码如下 #include using namespace std; void (char iArray,int nCount,int nNumber) { int i=nCount-1,j=0; char *iArray2; iArray2=iArray; *(iArray2+nCount)=nNumber;//多分配一个空间给传入数据for(i;i=0;i--) { if(nCount==1) *iArray=nNumber; if (*(iArray2+i)*(iArray+i+1))

荧光定量实验报告(作业)

RT-qPCR比较不同样本中miR-21的相对表达差异 一、实验目的 1、掌握实时荧光定量PCR的实验原理。 2、掌握实时荧光定量PCR相对定量的分析方法。 二、实验原理 实时荧光定量PCR (Quantitative Real-time PCR)是一种在DNA扩增反应中,以荧光化学物质测每次聚合酶链式反应(PCR)循环后产物总量的方法。通过内参或者外参法对待测样品中的特定DNA序列进行定量分析的方法。荧光定量PCR 最常用的方法是 DNA 结合染料 SYBR Green Ⅰ的非特异性方法和 Taqman 水解探针的特异性方法。本实验中采用非特异性 SYBR Green I 染料法,SYBR Green I 是一种结合于所有ds DNA 双螺旋小沟区域的具有绿色激发波长的染料,在游离状态下会发出微弱的荧光,但一旦与双链DNA 结合后,荧光大大增强。因此,SYBR Green I 的荧光信号强度与双链DNA 的数量相关,可以根据荧光信号检测出PCR 体系存在的双链DNA 数量。 三、实验仪器、材料和试剂 实验仪器:PCR仪、荧光定量PCR仪 实验材料:MCF7细胞 实验试剂:逆转录试剂盒、SYBR GREEN试剂盒 四、实验步骤 4.1 MCF7细胞RNA提取(RNAiso Plus) 1)将生长至80%的MCF细胞消化为单细胞悬液,准备提取RNA; 2)9000g,2min离心,弃掉培养基,加1 ml RNAiso Plus用移液枪反复吹吸直至 裂解液中无明显沉淀,室温(15-30℃)静置5分钟; 3)加入氯仿(RNAiso Plus的1/5体积量),盖紧离心管盖,混合至溶液乳化呈 乳白色,室温静置5min; 4)12,000 g 4℃离心15分钟。从离心机中小心取出离心管,此时匀浆液分为三 层,即:无色的上清液(含RNA)、中间的白色蛋白层(大部分为DNA)及带有颜色的下层有机相。 5)吸取上清液转移至另一新的离心管中(切勿吸出白色中间层)。 6)向上清中加入0.5-1倍RNAiso Plus体积的异丙醇,上下颠倒离心管充分混匀

VC实现贪吃蛇的实验报告

题目:利用VC++实现贪吃蛇小游戏

一、题目:利用VC++实现贪吃蛇小游戏 利用VC++实现的贪吃蛇小游戏更加注重可视化。一条蛇在封闭的围墙内,在围墙内会随机出现一个食物,通过键盘上的W S A D四个键控制它向上,下,左,右四个方向移动。当蛇头撞到食物时表示将食物吃掉,这时蛇身增长一节,得分加一。接着随机生成食物,等待被蛇吃掉。如果在移动过程中撞到墙壁或者自己的身体,则游戏结束。游戏过程中,可以在菜单中选择暂停或者结束游戏,对游戏进行暂停或者退出。

二、编程要点(或基本思路、算法分析与说明): 本次游戏设计包含两大模块,一个模块是贪吃蛇游戏本身算法的设计,完成了贪吃蛇的食物产生,获取食物,蛇的移动等功能。另一个模块是利用MFC完成贪吃蛇的可视化显示,产生了一个对话框,在对话框可以控制游戏及游戏的显示。 1.贪吃蛇游戏算法设计包括: <1>果实出现的设计思路: (1)采用随机数生成果实出现坐标 (2)判断当前生成的果实是否在贪吃蛇身体范围内。 (3)如果在,重新生成直到不在为止。如果不在,则把坐标位置返回给调用对象。 <2>贪吃蛇更新的算法设计 (1)接收玩家按下的方向键消息,并保存到方向变量中。 (2)定义一个时间定时器,用来控制蛇运动的速度。 (3)当每次时间间隔到达时,则根据方向变量来更新贪吃蛇curr(即贪吃蛇身体)向量。 (4)判断curr向量的第一个元素中的坐标数据是否碰到边界或者蛇身,如果有,则游戏结束。否则,进行下一步。 (5)判断curr向量的第一个元素中的坐标数据是否与当前果实重合,如果有,表示贪吃蛇已经吃到果实。这时就向贪吃蛇curr向量添加一个元素,并重新生成一个果实。 (6)吃到食物后,得分会同步增加。 2.利用MFC完成贪吃蛇的可视化显示: 首先初始对话框,完成游戏的整体框架的显示。然后游戏玩家在菜单栏里选择开始,暂停,结束等,控制游戏状态。游戏开始后,玩家通过键盘上的消息控制蛇的运动。在函数DrawSnake(CDC *pDC,Snake snake),和DrawFood(CDC *pDC,SnakeFood f)完成对蛇和食物的重绘,从而显示出蛇的运动和对食物的获取。在OnPaint()函数中完成得分和游戏操作提示的显示。 本次游戏设计的主要功能函数如下: OnGameStart()(游戏开始函数), OnGamePauseStart()(游戏暂停函

实验报告四综述

成都信息工程大学遥感图像处理上机报告

1. 实验项目名称 遥感图像光谱增强处理 2. 实验目的 主成分分析:为了去除波段之间多余信息、将多波段的图像信息压缩到比原波段更有效的少数几个转换波段。 主成分逆变换:将主成分变换的图像重新恢复到RGB 彩色空间。缨帽变换:根据多光谱遥感中土壤、植被等信息在多维光谱空间中信息分布结构对图像 做的经验性线性正交变换。图像融合:将多源信道所采集到的关于同一目标的图像数据经过图像处理和计算机技术 等,最大限度的提取各自信道中的有利信息,最后综合成高质量的图像,以提高图像信息的利用率、改善计算机解译精度和可靠性、提升原始图像的空间分辨率和光谱分辨率,利于监测。 3. 实验原理 主成分分析法是一种降维的统计方法,它借助于一个正交变换,将其分量相关的原随机向量转化成其分量不相关的新随机向量,这在代数上表现为将原随机向量的协方差阵变换成对角形阵,在几何上表现为将原坐标系变换成新的正交坐标系,使之指向样本点散布最开的p 个正交方向,然后对多维变量系统进行降维处理,使之能以一个较高的精度转换成低维变量系统,再通过构造适当的价值函数,进一步把低维系统转化成一维系统。 缨帽变换又称KT 变换。是一种经验性的多波段图像的线性变换,是Kauth 和Thomas(1976) 在研究MSS 图像反映农作物和植被的生长过程时提出的。在研究过程中他们发现MSS 四个波段组成的四维空间中,植被的光谱数据点呈规律性分布,像缨帽状,因此将这种变换命名为缨帽变换。 图像融合就是通过一种特定算法将两幅或多幅图像合成为一幅新图像。该技术有基本的体系,主要包括的内容有:图像预处理,图像融合算法,图像融合评价,融合结果。图像融合系统的层次划分为:像素层融合、特征层融合、决策层融合,目前绝大多数融合算法研究都集中在这一层次上。 4. 数据来源

科学实验报告标准范本

报告编号:LX-FS-A32156 科学实验报告标准范本 The Stage T asks Completed According T o The Plan Reflect The Basic Situation In The Work And The Lessons Learned In The Work, So As T o Obtain Further Guidance From The Superior. 编写:_________________________ 审批:_________________________ 时间:________年_____月_____日 A4打印/ 新修订/ 完整/ 内容可编辑

科学实验报告标准范本 使用说明:本报告资料适用于按计划完成的阶段任务而进行的,反映工作中的基本情况、工作中取得的经验教训、存在的问题以及今后工作设想的汇报,以取得上级的进一步指导作用。资料内容可按真实状况进行条款调整,套用时请仔细阅读。 准备材料:一个玻璃杯、一枚硬币、小半杯水(最好是有颜色的)、蜡烛和一个平底的容器。 实验内容:在一个盘子里倒半杯水,放入一枚硬币。手既不许接触到水,又不能把水倒出来,怎样才能把硬币取出来呢? 实验过程: 第1次:我们首先在平底的容器中倒入小半杯水,淹没硬币。然后点燃一节蜡烛放在盘子里,罩上玻璃杯,蜡烛会因为缺氧停止燃烧,这时,外面的水便源源不断地涌进玻璃杯。(可惜吸水不够多,所以没有把硬币取出来)结果:失败。

第2次:和第一次一样,失败。 第3次:我们换了一根大一点的蜡烛,这次流进去的水很多,成功。 第4次:我们用了两根蜡烛,不过因为杯子扣的太紧,杯口被盘子吸住,水没能流进玻璃杯,失败。 第5次:我把杯子扣下去的速度慢了一点点,导致蜡烛提前熄灭,失败。 第6次:同样是放了两根蜡烛,这次很正常,成功。 实验总结:我做这个实验是为了证实气体冷却后,能让压力下降,于是外面正常的大气压把盘子中的水挤进了杯中。另外,在实验中,我观察到,用玻璃杯盖住蜡烛的时候,火焰不是马上熄灭,是继续燃烧一会儿才熄灭,说明玻璃杯的空气也是含有一定量

列控实验报告-作业5

轨道交通列车运行控制技术课程实验 姓名:张泽英 学号:13281150 班级:运输1305班 指导老师:尹相勇

目录 1.实验简介 (3) 1.1实验设备 (3) 1.2实验目的 (3) 1.3实验内容 (3) 1.4进路选择 (3) 2实验结果 (4) 2.1上行5股道发车进路 (4) 2.2下行4股道接车进路 (5) 2.3上行I股道通过进路 (5) 2.4由D13向I股道调车进路 (6) 2.5实验总表 (7)

1.1实验设备 本实验所用系统为计算机联锁车务仿真教学系统-6502模式,该系统将6502联锁操作平台底层联锁逻辑和模拟现场设备的状态及变化过程集合到一台计算机上构成学员机。 1.2实验目的 通过实验,了解和掌握办理列车进路、调车进路。了解设备道岔、信号随进路的变化状态。 1.3实验内容 按照给出的车站站场平面图,根据进路表和学号选一条发车进路、接车进路、通过进路和调车进路。每条进路以图表示并做出: (1)写出该进路的名称 (2)给出该进路的始端和终端 (3)给出该进路经过的道岔 (4)给出该进路经过的轨道电路 (5)画出该进路的平行进路 (6)给出该接车进路的抵触进路和敌对进路 1.4进路选择 我的学号是13281150,因此我选择了13、28、50号三条进路,及由D13向I股道的调车进路。具体情况如下表1所示: 表1 进路选择示意

在图上分别用不同颜色的线段标出了相关进路,白色为原本的进路、黄色为抵触进路、红色为敌对进路、蓝色为平行进路。 2.1上行5股道发车进路 图1 上行5股道发车进路示意图 (1)原进路:上行5股道丰台方向发车进路。(这是往丰台方向发车) 始端:5股道上行出站信号机S5, 终端:下行进站信号机XF 经过的道岔:21、9/11、1/3 经过的轨道电路:21DG 、11DG 、9DG 、3DG 、1DG 、IIAG (2)抵触进路:上行5股道东效方向发车进路。(这是往东效方向发车) 始端:5股道上行出站信号机S5,终端:下行进站信号机XD (3)敌对进路:D1到I 股道的调车进路。(应给出从某个信号机到某个信号机的调车进路,或从某个信号机到某股道的调车进路) 始端:调车信号机D1(XF 是进站信号机不在哪个股道),终端:I 道下行出站信号机XI (请分清出站和进站信号机) (4)平行进路:下行4股道发车进路。 始端:4股道下行方向出站信号机X4,终端:上行进站信号机S 抵触进路 原进路 敌对进路 平行进路

VC++实验报告(1,2,3)

VC++实验报告 班号:________ 学号:________ 姓名:________

实验1 VC++开发环境的熟悉和Windows编程基础 一、实验目的 1.熟悉Visual C++的开发环境 2. 掌握用应用程序向导创建一个控制台应用项目的方法。 3. 掌握源代码文件的新建、打开、保存和关闭等基本操作。 4.掌握用应用程序向导创建一个Windows应用项目的方法 5. 掌握Visual C++项目的编译、连接和执行 6. 掌握代码简单语法错误修正和调试的一般过程 7.掌握Windows程序运行基本原理。 8. 掌握使用SDK(Windows API)方式编写Windows应用程序方法。 9. 掌握用应用程序向导创建一个Windows应用项目的方法。 二、实验知识点概念 Visual C++是Microsoft公司推出的目前使用极为广泛的基于Windows平台的可视化编程环境。由于其功能强大、灵活性好、完全可扩展以及具有强有力的Internet支持,在各种C++语言开发工具中脱颖而出,成为目前较为流行的C++语言集成开发环境。 Windows程序设计不同于DOS下的程序设计,它是一种事件驱动的程序设计模式,主要是基于消息的。Windows SDK编程主要采用C++/C语言和Windows API进行Windows 应用程序设计。 三、实验题目 1. 控制台应用程序编写 术语:“控制台应用程序”是一个在仿DOS窗口(控制台窗口)中运行的基于字符的程序,控制台窗口将成为其标准输入和输出装置。由于这种模式的应用程序比Windows程序简单,我们先选择利用Visual C++来建立这样一个应用,这样使得我们可以将精力先投入到学习使用C++编程语言,而不需要把过多的精力投入到学习复杂的Windows编程中去。 创建一个控制台应用,输入以下代码: #include class Vehicle { public: Vehicle(float speed,int total) { speed = speed; total = total; cout<<”constructor is called!” <

C上机实验报告 实验四

精品文档 实验四数组、指针与字符串 1.实验目的 1.学习使用数组 2.学习字符串数据的组织和处理 3.学习标准C++库的使用 4.掌握指针的使用方法 5.练习通过Debug观察指针的内容及其所指的对象的内容 6.联系通过动态内存分配实现动态数组,并体会指针在其中的作用 7.分别使用字符数组和标准C++库练习处理字符串的方法 2.实验要求 1.编写并测试3*3矩阵转置函数,使用数组保存3*3矩阵。 2.使用动态内存分配生成动态数组来重新完成上题,使用指针实现函数的功能。 3.编程实现两字符串的连接。要求使用字符数组保存字符串,不要使用系统函数。 4.使用string类定义字符串对象,重新实现上一小题。 5.定义一个Employee类,其中包括姓名、街道地址、城市和邮编等属性,以及change_name()和display()等函数。Display()显示姓名、街道地址、城市和邮编等属性,change_name()改变对象的姓名属性。实现并测试这个类。 6.定义包含5个元素的对象数组,每个元素都是Employee类型的对象。 7. (选做)修改实验4中的选做实验中的people(人员)类。具有的属性如下:姓名char name[11]、编号char number[7]、性别char sex[3]、生日birthday、身份证号char id[16]。其中“出生日期”定义为一个“日期”类内嵌对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、聚集。在测试程序中定义people类的对象数组,录入数据并显示。 3.实验内容及实验步骤 1.编写矩阵转置函数,输入参数为3*3整形数组,使用循环语句实现矩阵元素的行列对调,注意在循环语句中究竟需要对哪些元素进行操作,编写main()函数实现输入、输出。程序名:lab6_1.cpp。 2.改写矩阵转置函数,参数为整型指针,使用指针对数组元素进行操作,在main()函数中使用new操作符分配内存生成动态数组。通过Debug观察指针的内容及其所指的对象中的内容。程序名:lab6_2.cpp。 3.编程实现两字符串的连接。定义字符数组保存字符串,在程序中提示用户输入两个字符串,实现两个字符串的连接,最后用cout语句显示输出。程序名:lab6_3.cpp。用cin实现输入,注意,字符串的结束标志是ASCII码0,使用循环语句进行字符串间的字符拷贝。

实验报告作业

反应时实验报告 反应时间是心理实验中使用最早、应用最广泛的反应变量之一。反应时也被称为“反应的潜伏期”,是指刺激施于有机体之后到明显反应开始所需要的时间。反应是包括三个时段:第一时段,刺激使感受器产生了兴奋,其冲动传递到感觉神经元的时间;第二时段,神经冲动经感觉神经传至大脑皮质的感觉中枢和运动中枢,从那里经运动中枢到效应器官的时间;第三时段,效应器官接受冲动后开始效应活动的时间。简单反应时间是给予被试者以单一的刺激,要求他作同样的反应。被试的任务很简单,他预先已知道将有什么样的刺激出现并需要作出什么样的反应。选择反应时间是根据不同的刺激物,在各种可能性中选择一种符合要求的反应。对反应时间的研究最先始于天文学家Bessel对于人差方程的研究。最早将反应时间的测量用于心理实验的是荷兰生理学家Donders.1879年以后,冯特及其学生对反应时间进行了一系列实验研究。认知心理学兴起后,为了揭示信息加工过程和特点,反应时间的测量也获得进一步的发展。20世纪80年代,内隐学习领域出现了一种名为序列反应时的研究方法,10年后,刚刚萌发的内隐社会认知领域也出现了一种基于反应时范式的研究方法——内隐联想测验。其中,系列反应时范式是尼森(M.J.Nissen)比勒姆(P.Bullemer)于1978年提出的。缪森和斯奎尔(Musen&Squire,1993)的研究发现,正常成人和健忘症患者在“词-色”对应规则保持不变的前六组实验中,反应时逐渐下降;而对应规则发生变化时,反应时又迅速上升,说明了被试能够习得规则。亨特和阿斯林(Hunt&Aslin,2001)对斯戴德勒(Stadler,1992)的研究进行验证,认为他的实验说明了被试对于概率信息的内隐习得过程。内隐联想试验是有格林沃尔德(Greenwald)在1998年提出的,测验中以反应时为指标通过一种计算机化的分类任务来测量概念词和属性词之间的自动化联系的紧密程度,继而对个体的内隐态度等内因社会认知进行测量。且格林沃尔德和诺塞克(Greenwald&Nosek,2003)对传统的内隐联想测验数据处理法又进行了分析发线它为考虑到速度-准确性权衡、反应极值和老年人的反应迟缓等因素又提出了衡量内隐联想测验数据处理法好坏的几个标准。雷莉等(2004)认为,反应时技术提供的客观量化数据有助于揭示消费者内在的品牌联想结构,在市场研究中具有广泛的应用前景。陈红等(2008)运用反应时技术研究支持了他们负面身体自我图式指导认知加工的假设。

西北工业大学-操作系统实验报告-实验四

实验四进程与线程 一、实验目的 (1)理解进程的独立空间; (2)理解线程的相关概念。 二、实验内容与要求 1、查阅资料,掌握进程创建和构造的相关知识和线程创建和构造的相关知识,了解C 语言程序编写的相关知识; 2、理解进程的独立空间的实验内容及步骤 (1)编写一个程序,在其 main()函数中定义一个变量 shared,对其进行循环加/减操作,并输出每次操作后的结果; (2)使用系统调用 fork()创建子进程,观察该变量的变化; (3)修改程序把 shared变量定义到 main()函数之外,重复第(2)步操作,观察该变量的变化。 3、理解线程的实验步骤 (1)编写一个程序,在其 main()函数中创建一个(或多个)线程,观察该线程是如何与主线程并发运行的。输出每次操作后的结果; (2)在 main()函数外定义一个变量shared(全局变量),在main()中创建一个线程,在 main()中和新线程shared进行循环加/减操作,观察该变量的变化; (3)修改程序把shared变量定义到 main()函数之内,重复第(2)步操作,观察该变量的变化。 4、对整个实验过程进行分析总结,给出详细步骤; (1) 观察上述进程执行结果,并分析原因;

(2) 提交源程序清单,并附加流程图与注释。 三、实验过程 1、进程的与线程的创建和构造 (1).进程的创建和构造 进程简单来说就是在操作系统中运行的程序,它是操作系统资源管理的最小单位。但是进程是一个动态的实体,它是程序的一次执行过程。进程和程序的区别在于:进程是动态的,程序是静态的,进程是运行中的程序,而程序是一些保存在硬盘上的可执行代码。 新的进程通过克隆旧的程序(当前进程)而建立。fork() 和 clone()(对于线程)系统调用可用来建立新的进程。 (2)线程的创建和构造 线程也称做轻量级进程。就像进程一样,线程在程序中是独立的、并发的执行路径,每个线程有它自己的堆栈、自己的程序计数器和自己的局部变量。但是,与独立的进程相比,进程中的线程之间的独立程度要小。它们共享内存、文件句柄和其他每个进程应有的状态。 线程的出现也并不是为了取代进程,而是对进程的功能作了扩展。进程可以支持多个线程,它们看似同时执行,但相互之间并不同步。一个进程中的多个线程共享相同的内存地址空间,这就意味着它们可以访问相同的变量和对象,而且它们从同一堆中分配对象。尽管这让线程之间共享信息变得更容易,但你必须小心,确保它们不会妨碍同一进程里的其他线程。 线程与进程相似,是一段完成某个特定功能的代码,是程序中单个顺序的流控制,但与进程不同的是,同类的多个线程是共享同一块内存空间和一组系统资源的,而线程本身的数据通常只有微处理器的寄存器数据,以及一个供程序执行时使用的堆栈。所以系统在产生一个线程,或者在各个线程之间切换时,负担要比进程小得多,正因如此,线程也被称为轻型进程(light-weight process)。一个进程中可以包含多个线程。 2、理解进程的独立空间 流程图如下所示:

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