南昌航空大学C++实验指导书

合集下载

nesC实验报告二

nesC实验报告二

南昌航空大学实验报告二O 一六年 3 月 28 日课程名称:TinyOS与nesC编程实验名称:CC2530平台上TinyOS编程基础班级:姓名:指导教师评定:签名:一、实验目的:1.加深和巩固学生对于TinyOS编程方法的理解和掌握2.让学生初步掌握传感器的ADC组件应用方法3.学生通过本实验能够初步的了解和掌握CC2530平台上传感器的连接方法,及TinyOS编程方法4. 提高学生的上机和编程过程中处理具体问题的能力二、实验要求:1. 实验要求自己独立的完成;2. 编写和调试过程中出现的问题要做好记录,并事后总结到报告中;3. 实验程序调试完成后,用给定的平台进行测试,由老师检查测试结果,并给予相应的成绩;4. 实验完成后,要上交实验报告。

三、实验内容:1. 开发一个新的应用,每秒钟获取一次传感数据。

以下述顺序完成这个新应用的开发。

1. 首先使得应用能够以1秒为周期获取电压及芯片内部温度;(1)顶层配置文件MyTestAdcC.nc该组件不提供或使用任何接口,在实现部分需要用到程序的模块组件、MainC组件、定时器组件和ADC组件,其中ADC组件需要实例化两次,分别用作片内温度数模装换和工作电压数模装换的组件,定时器组件实例化一个Timer1。

组件声明之后需完成对应接口的连接,模块组件的各接口分别连接至MainC的boot 接口、定时器的Timer1接口、电压ADC转换的AdControl和AdRead接口以及温度ADC 转换的AdControlTemp和AdReadTemp接口。

(2)模块组件MyTestAdcM.nc模块组件名为MyTestAdcM,因为要使用到系统定义好的相关寄存器的设置宏定义,因此包含头文件ADC.H(包含寄存器配置参数),声明部分使用在配置组件中连接的六个接口,分别完成系统启动初始化、转换温度控制和读取、转换电压读取和控制、定时触发的功能。

实现部分包含两个任务和四个事件,两个任务为CalcVolt()和CalcTemp(),分别用来完成电压值和温度值的转换并通过串口输出。

C++实验指导书

C++实验指导书

项目开发过程在一个集成的开发环境中开发项目非常容易。

一个用C++开发的项目的通用开发过程可以用左图表示。

建立一个项目的第一步是利用编辑器建立程序代码文件,包括头文件、代码文件、资源文件等。

然后,启动编译程序,编译程序首先调用预处理程序处理程序中的预处理命令(如#include,#define等),经过预处理程序处理的代码将作为编译程序的输入。

编译对用户程序进行词法和语法分析,建立目标文件,文件中包括机器代码、连接指令、外部引用以及从该源文件中产生的函数和数据名。

此后,连接程序将所有的目标代码和用到的静态连接库的代码连接起来,为所有的外部变量和函数找到其提供地点,最后产生一个可执行文件。

一般有一个makefile文件来协调各个部分产生可执行文件。

可执行文件分为两种版本:Debug和Release。

Debug版本用于程序的开发过程,该版本产生的可执行程序带有大量的调试信息,可以供调试程序使用,而Release版本作为最终的发行版本,没有调试信息,并且带有某种形式的优化。

学员在上机实习过程中可以采用Debug版本,这样便于调试。

选择是产生Debug版本还是Release版本的方法是:在Developer Studio中选择菜单Build|Set Active Configuration,在弹出的对话框中,选择所要的类型,然后选择OK关闭对话框。

Visual C++ 集成开发环境中集成了编辑器、编译器、连接器以及调试程序,覆盖了的开发应用程序的整个过程,程序员不需要脱离这个开发环境就可以开发出完整的应用程序。

三、集成开发环境Developer Studio进入Developer Studio如果你使用的是Visual C++ 6.0,则要进入Developer Studio,需要单击任务栏中“开始”后选择“程序”,找到Microsoft V isual Studio 6.0文件夹后,单击其中的Microsoft V isual C++6.0图标,则可以启动Developer Studio。

南昌航空大学嵌入式系统实验指导书

南昌航空大学嵌入式系统实验指导书

《嵌入式系统》实验指导书南昌航空大学信息工程学院2013-10realview MDK开发环境简介一、RealView MDK软件开发环境简介RealView MDK源自德国Keil公司,被全球超过10万的嵌入式开发工程师验证和使用,是ARM公司目前最新推出的对各种嵌入式处理器的软件开发工具。

RealView MDK集成了业内最领先的技术,包括µVision3集成开发环境与 RealView编译器,支持ARM7、ARM9和最新的Cortex-M3核处理器,自动配置启动代码,集成Flash烧写模块,强大的Simulation设备模拟,性能分析等功能,与ARM之前的工具包ADS等相比,RealView编译器的最新版本可将性能改善超过20%。

1、 RealView MDK的突出特性—启动代码生成向导,自动引导,一日千里—软件模拟器,完全脱离硬件的软件开发过程—性能分析器,看得更远、看得更细、看得更清— Cortex-M3支持—业界最优秀的编译器RealView 编译器,代码更小,性能更高,配备ULINK2仿真器,无需安装驱动— Flash编程模块轻松实现Flash烧写2µVision3 IDEµVision IDE在全球拥有庞大的用户群,超过10万开发工程师在使用Keil开发工具。

不管以前是用8位、16位MCU,还是现在改用ARM 32位处理器,µVision IDE简单易用,能让您立马上手。

µVision3 ID E主要特性:●功能强大的源代码编辑器;●可根据开发工具配置的设备数据库;●用于创建和维护工程的工程管理器;●集汇编、编译和链接过程于一体的编译工具;●用于设置开发工具配置的对话框;●真正集成高速CPU及片上外设模拟器的源码级调试器;●高级GDI接口,可用于目标硬件的软件调试和ULINK2仿真器的连接;●用于下载应用程序到Flash ROM中的Flash编程器;●完善的开发工具手册、设备数据手册和用户向导。

标准实验报告(参考)

标准实验报告(参考)

南昌航空大学实验报告二零一年月日课程名称: C 语言实验名称:lab1 Sequence Structure班级:姓名:同组人:指导教师评定:签名:一、实验目的和要求1.熟悉TC的开发环境;2.明确C语言程序的基本结构,掌握C语言程序的书写格式;3.理解程序的顺序控制结构。

二、实验题目⒈在自己的系统上运行“Hello, World”,再让程序遗漏一些部分,观察出现的错误信息。

⒉输入两个城市之间的距离(以千米为单位),将其转换为以英里为单位的距离⒊输入两个数,交换它们的值。

⒋输入以华氏为单位的温度,将其转换为以摄氏为单位的温度。

⒌输入某员工的基本工资(以元为单位,工资为整数值),如果他的住房补贴是基本工资的20%,岗位补贴是基本工资的40%,计算该员工的总工资。

三、程序清单(及流程图)1、在自己的系统上运行“Hello,World”,再让程序遗漏一些部分,观察出现的错误信息。

预习:调试后:#include < stdio.h >int mian(void){print(“hello,world”)return 0;} #include < stdio.h >int main(void){printf(“hello,world”);return 0;}调试过程:在第一题的调试中,出现了以下错误提示信息:(1)undefined symbol …_main‟ in module COS主要原因是把main错写为mian。

(2)statement missing …;‟ in function main主要原因是print(“hello,world”)后分号;没有输入。

(3)undefined symbol …_print‟ in module hello.c主要原因是把输出函数printf错写为print。

……2、……3、……四、实验结果1、调试无错误后,分别用下列数据作为输入可得到以下结果:可以在屏幕上输出hello world的字符串。

南昌航空大学C 实验指导书(DOC)

南昌航空大学C  实验指导书(DOC)

面向对象程序设计实验指导书任课教师:陈斌全二零零七年九月前言本指导书是软件工程专业本科课程《面向对象程序设计B》的实验指导书,一般人员也可以使用它作为学习C++语言的上机指导。

因为选择以Microsoft公司的C++开发环境Visual C++6.0作为实验环境,因此书的前一部分介绍了Visual C++的一些基本知识,并且在实验进行的过程中穿插介绍使用Visual C++的一些技巧。

书的内容分为两大部分:第一部分介绍Visual C++实验环境;第二部分是具体的实验安排。

使用本书前,请先阅读以下内容:1.C++语言实验环境配置要求硬件配置:586以上PC兼容机或品牌机,配有彩色显示器、鼠标、键盘,内存不小于20MB,硬盘自由空间不少于60MB。

推荐配置为内存32MB或64MB(或以上),硬盘自由空间500MB以上。

软件配置:操作系统:Windows95, Windows98, Windows NT3.51以上版本。

开发集成环境:Microsoft Visual C++5.0以上版本2.建立自己的工作目录你需要在计算机上先建立自己的工作目录,所有的实验都在该工作目录下进行。

使用Visual C++建立新项目时,需要指定该目录作为项目所在的目录。

本书中假设你的工作目录为c:\student\your_name,具体的实验目录由你的指导教师指定。

3.安装Visual C++Visual C++ 6.0和Visual C++ 5.0最大的不同是在联机帮助系统上做了很大改变。

Visual C++ 5.0的帮助系统直接集成在开发环境之中,在安装Visual C++ 5.0时就可以选择安装帮助内容。

而Visual C++ 6.0的联机帮助系统采用了MSDN(Microsoft Developer Network)库,在安装Visual C++ 6.0时,只安装了MSDN的索引,实际的内容在光盘上。

如果希望能脱离光盘使用帮助系统,需要在安装了Visual C++ 6.0以后,再运行MSDN的安装程序,把完整的库装到硬盘上。

南昌航空大学实验报告2构造函数

南昌航空大学实验报告2构造函数

南昌航空大学实验报告2011年11月16日课程名称: 面向对象程序设计B 实验名称:构造函数班级:102022 姓名:林书晨指导老师评定:签名:实验二构造函数1、实验目的通过实验理解构造函数的概念与其特殊应用。

2、实验内容应用VC++6.0的编辑环境构造一个类Triangle,该类主要实现三角形的基本操作,例如初始化(构造函数及构造函数的重载)、求三角形的周长、面积、判断该三角形是什么三角形(等边、等腰、直角、等边直角、一般三角形、非三角形)、输出等,具体说明如下:class Triangle{public:Triangle(double,double,double);Triangle(double,double);Triangle(double);Triangle();double GetArea();double GetPerimeter();double Show();private:double a,b,c;};3.概要设计a.构造函数class Triangle{public:Triangle(double x,double y,double z) {a=x;b=y;c=z;}Triangle(double x,double y){a=x;b=y;c=5;}Triangle(double x){a=x;b=4;c=5;}Triangle(void){a=3;b=4;c=5;}b.实现功能1. D ouble GetArea() //求面积{double m=GetPerimeter()/2;return sqrt(m*(m-a)+m*(m-b)+m*(m-c)); }2.Double GetPerimeter() //求周长{return a+b+c;}3.Void Show() //判断是什么三角形if(a*a + b*b == c*c || a*a + c*c == b*b || b*b + c*c == a*a) {if(a == b || a == c || b == c){cout<<"right angled isosceles triangle"<<endl;}else{cout<<"right angled triangle"<<endl;}}else{if(a == b || a == c || b == c){if(a==b && b==c){cout<<"regular triangle"<<endl;}else{cout<<"isosceles triangle"<<endl;}}else{cout<<"General triangle"<<endl;}else{cout<<"Not a triangle"<<endl;}return ;4.详细设计#include<iostream.h>#include<math.h>class Triangle{public:Triangle(double x,double y,double z) {a=x;b=y;c=z;}Triangle(double x,double y){a=x;b=y;c=5;}Triangle(double x){a=x;b=4;c=5;}Triangle(void){a=3;b=4;c=5;}double GetArea() //求面积{double w=GetPerimeter()/2;return sqrt(w*(w-a)+w*(w-b)+w*(w-c)); }double GetPerimeter() //求周长{return a+b+c;}void Show() //判断是什么三角形{if(a*a + b*b == c*c || a*a + c*c == b*b || b*b + c*c == a*a){if(a == b || a == c || b == c){cout<<"right angled isosceles triangle"<<endl;}else{cout<<"right angled triangle"<<endl;}}else{if(a == b || a == c || b == c){if(a==b && b==c){cout<<"regular triangle"<<endl;}else{cout<<"isosceles triangle"<<endl;}}else{cout<<"General triangle"<<endl;}else{cout<<"Not a triangle"<<endl;}return ;}void Print(){cout<<"The Area is :"<<GetArea()<<" "<<"The Perimeter is :"<<GetPerimeter()<<" ";Show();cout<<endl<<endl;return ;}private:double a,b,c;};void main(){Triangle tr1(6.0); Triangle tr2(5.0,4.0); Triangle tr3(6.0,6.0,6.0); Triangle tr4;tr1.Print();tr2.Print();tr3.Print();tr4.Print();return ;}5.程序调试a.(1)未初始化函数(2)三角形形状判断函数不明(3)没有正确的数据输出(4)调试加入初始化函数(5)该了判断函数三角形函数(6)程序可运行(7)输入数据(8)结果正确b.运行结果输入:3,4,5输出:right angled triangleThe Area is :6The Perimeter is :12输入:4,4,5输出:Not a triangle输入:4,4,4输出:regular triangleright angled triangleThe Area is :12The Perimeter is :6.9282输入:4,4,5输出:right angled triangleThe Area is :13The Perimeter is :7.8062 输入:2,2,2*2^(1/2)输出:right angled isosceles triangle The Area is :4+2*2^(1/2) The Perimeter is :2输入:3,5,6输出:General triangleThe Area is :14The Perimeter is :4.56.实验总结在实验中其实程序的写入并不难,只是我们应该注意一些具体的细节,比如函数的初始化,函数的具体方法等等。

【免费下载】C 实验指导书

【免费下载】C 实验指导书

四.实训步骤
1. 建立一个 Windows 应用程序项目,命名为“WinForm”。 首先要新建 Windows 应用程序类型的项目,创建成功后,可以得到一个名为 Form1 的空白
窗体。可以从左边工具箱中的公共控件组中选择控件往窗体上拖放。 2. 设计界面。 在 Windows 窗体上添加两个文本输入框供用户输入操作数,再添加一个按钮来对输入的操
{ long oper1, oper2, result; //如果操作数为空,显示警告信息 if ((textBox1.Text == "") || (textBox2.Text == "")) { MessageBox.Show(this,"操作数不能为空","提示信息", MessageBoxButtons.OK,rmation); return;
-1-
C#程序设计实验指导书
五.实训要求
1. 掌握使用 Console(控制台)对象的 WriteLine 和 Write 方法实现显示;使用 ReadLine 方 法读入字符。
2. Main()是应用程序(可执行)的入口点,它必须包含在一个类中,且仅有一个类能使用 该标志定义。
-2-
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,力根通保据过护生管高产线中工敷资艺设料高技试中术卷资,配料不置试仅技卷可术要以是求解指,决机对吊组电顶在气层进设配行备置继进不电行规保空范护载高与中带资负料荷试下卷高问总中题体资,配料而置试且时卷可,调保需控障要试各在验类最;管大对路限设习度备题内进到来行位确调。保整在机使管组其路高在敷中正设资常过料工程试况中卷下,安与要全过加,度强并工看且作护尽下关可都于能可管地以路缩正高小常中故工资障作料高;试中对卷资于连料继接试电管卷保口破护处坏进理范行高围整中,核资或对料者定试对值卷某,弯些审扁异核度常与固高校定中对盒资图位料纸置试,.卷保编工护写况层复进防杂行腐设自跨备动接与处地装理线置,弯高尤曲中其半资要径料避标试免高卷错等调误,试高要方中求案资技,料术编试交写5、卷底重电保。要气护管设设装线备备置敷4高、调动设中电试作技资气高,术料课中并3中试、件资且包卷管中料拒含试路调试绝线验敷试卷动槽方设技作、案技术,管以术来架及避等系免多统不项启必方动要式方高,案中为;资解对料决整试高套卷中启突语动然文过停电程机气中。课高因件中此中资,管料电壁试力薄卷高、电中接气资口设料不备试严进卷等行保问调护题试装,工置合作调理并试利且技用进术管行,线过要敷关求设运电技行力术高保。中护线资装缆料置敷试做设卷到原技准则术确:指灵在导活分。。线对对盒于于处调差,试动当过保不程护同中装电高置压中高回资中路料资交试料叉卷试时技卷,术调应问试采题技用,术金作是属为指隔调发板试电进人机行员一隔,变开需压处要器理在组;事在同前发一掌生线握内槽图部内 纸故,资障强料时电、,回设需路备要须制进同造行时厂外切家部断出电习具源题高高电中中源资资,料料线试试缆卷卷敷试切设验除完报从毕告而,与采要相用进关高行技中检术资查资料和料试检,卷测并主处且要理了保。解护现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。

C++实验报告

C++实验报告

南昌航空大学实验报告课程名称:Visual C++面向对象程序设计与可视化程序设计实验名称:数据库的访问操作学号:11041404 姓名:余文波一、实验目的1、学习掌握Access数据库文件的建立。

2、学习如何在控制面板上建立ODBC数据源。

3、了解数据库应用程序中常用的几个类:CRecordView、CRecordset、CDatabase、RFX、CDBException。

4、学习通过使用MFC编程实现数据库文件删除一个记录、更新记录、清除域、增加一个记录、移动记录、排序、查找记录的功能。

二、实验涉及知识点1、CRecordView、CRecordset、CDatabase、RFX、CDBException。

等常见数据库类成员函数的使用。

2、建立对话框、添加类和函数。

3、菜单工具按钮的添加及属性设置。

三、实验步骤及内容实验一DDX_FieldText(pDX,IDC_EDIT1,m_pSet->m_ID,m_pSet);DDX_FieldText(pDX,IDC_EDIT2,m_pSet->m_author,m_pSet);DDX_FieldText(pDX,IDC_EDIT3,m_pSet->m_publish,m_pSet);DDX_FieldText(pDX,IDC_EDIT4,m_pSet->m_price,m_pSet);分析:实验一我们通过DoDataEchange函数将数据库中数据与对话框中编辑框控件关联起来,在此用到了PFX类中DoFieldExchange函数实现数据源与视图的交换数据,当我们运行实例一时,可以自由浏览数据库文件中数据。

操作:1、在Microsoft Access 中建立数据库文件。

2、打开控制面板-〉管理工具-〉数据源中注册数据库文件。

3、打开Visual Studio 2010建立MFC应用程序,应用程序类型选择单文档,风格选MFC标准,数据库界面选择查看数据库不使用文件支持,数据源选择ODBC,之后添加数据库文件。

模具设计制造DYNAFORM实验指导书

模具设计制造DYNAFORM实验指导书

板料成形CAE分析及排样上机指导书黄玉萍编王菲茹审南昌航空大学飞行器制造工程系二○一零年十月板料成形CAE分析及排样一、实验目的和要求:1、认识板料成形CAE软件Dyanform的操作界面;2、了解板料成形CAE分析的基本方法和思路;3、掌握坯料排样的基本方法,输出排样报告。

二、实验设备计算机、DYNAFORM(V5.2)三、实验内容1、板料成形CAE分析2、坯料排样四、实验步骤练习一、板料成形CAE分析1、Dynaform界面简介在桌面上双击DF5.2图标,进入Dyanform操作界面(如图1)。

图1 Dynaform界面快捷键:CTRL+鼠标左键旋转;CTRL+鼠标右键缩放2、导入零件模型,保存文件打开下拉菜单File->Import,如图2所示,在F:\dynaform\BLANK_CAE目录下分别导入文件punch.igs,binder.igs,die.igs和bl an k.igs。

图2 导入、保存文件菜单导入上述文件后,点击Save As 在F:\BLANK_CAE\STU目录下,以姓名作为文件名,保存文件*.df。

图3 导入文件窗口图4 库文件保存窗口3、更改零件层名打开下拉菜单Parts->Edit,对应不同的零件更改层名,改好层名后保存文件。

图5 修改层名窗口4、进行网格划分打开DFE-->Preparation菜单(如图6所示),进入模面工程界面,点击MESH TOOL,进入网格划分窗口,如图7所示,修改相应的参数,点击OK后点击Apply按钮进行网格划分。

依次对Punch,Die,和Binder进行网格划分。

打开BSE--> Preparation菜单,进入坯料工程界面,点击PART MESH进行坯料网格划分,经网格划分后的零件如图8所示。

图6 DFE菜单图7 网格划分操作界面图8 网格化后的零件5、定义工具和坯料材料(1)定义工具打开Tools-->Define Tools菜单,进入工具定义窗口(如图9所示)。

南昌航空大学.1doc

南昌航空大学.1doc

南昌航空大学课程实验报告课程名称:C语言B专业:材料化学班级:130232学号:13023214 姓名:何安旺评分:教师:周之平南昌航空大学C语言实验报告课题名称:实验一实验名称:C程序的运行环境和C 程序的方法班级:130232 学号:13023214 姓名:何安旺指导教师评定:签名:1.实验目的(1)了解所用计算机系统的基本操作方法,学会独立使用该系统。

(2)了解在该系统上如何编辑、编译、连接和运行一个C程序。

(3)熟悉集成环境的界面和有关菜单的使用方法。

(4)输出并运行一个简单的、正确的程序。

2.实验内容和步骤和运行结果(1)检查所用的计算机系统是否已安装了C 编译系统并确定它所在的子目录(2)进入所用的集成环境(3)熟悉集成环境的界面和有关菜单的使用方法(4)输入并运行一个简单的、正确的程序输入下面的程序 # include<stdio.h> void main(){printf(“This is a c program.\n”);}①下面是屏幕上显示的编译信息。

无错,进行连接。

②连接无错误,使程序运行,观察分析运行结果。

运行输出结果This is a c program.分析:输入自己编写的源程序,检查程序有无语法错误,可以通过编译来实现,它会自动查出程序的语法错误,如果有错误应该找出原因,并改正过来,再进行编译和连接,仔细分析编译信息,确定没错误就可以运行程序,输入数据。

第一个程序运行的结果是This is a c program.。

符合我们原来设计这个程序的目的,说明这个程序是正确的。

(5)输入并编辑一个有错误的C程序输入程序#include<stdio.h>{int main(){int a,b,suma=123;b=456;sum=a+bprint(“sum is %d\n”,sum); }②进行编译,修改错误。

仔细分析编译信息窗口,显示有二个错误,逐个修改,把程序修改如下int main(){int a,b,sum;a=123;b=456;sum=a+b;printf("sum is %d\n",sum);}③使运行程序,分析运行结果。

c#通讯录实验

c#通讯录实验

南昌航空大学实验报告二00 年月日课程名称:c#面向对象程序设计实验名称:通讯录设计班级:姓名:同组人:指导教师评定:签名:一、实验目的熟悉和掌握c#的使用。

二、实验要求设计一个通讯录的管理系统,包含:姓名(NAME )街道(STREET)城市(CITY)邮编(EIP)国家(STATE),关系(relative),电话email、QQ等数据项,也可以自行扩展其他数据项.设计内容:用面向对象思想完成类的设计,并实现以下几方面的功能:1)输入信息;2)显示信息;3)查找以姓名作为关键字;4)删除信息;5)存盘;6)装入;三、实验步骤1.创建一个项目,;2.创建class类;3.写出class类的属性,并写出构造函数;4.编写input方法并使用文件存储;5.编写search方法;6.编写del方法;7.编写show方法;8.写出主函数,并调用这些方法实现要求。

四、参考源代码using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.IO;namespace kk综合实验{class Program{static void Main(string[] args){Console.WriteLine("*******************欢迎使用**********************");Console.WriteLine("*******************1表示输入*********************");Console.WriteLine("*******************2表示查找*********************");Console.WriteLine("*******************3表示删除*********************");Console.WriteLine("***************4表示显示联系人信息***************");Console.WriteLine("***************5表示退出该系统*******************");int k = 0;while (k != 5){Console.WriteLine("**************************************");Console.WriteLine("请输入i的值表示操作");int i = int.Parse(Console.ReadLine());person p = new person();switch (i){case 1:p.input();break;case 2:p.search();break;case 3:p.del();break;case 4:p.show();break;case 5:Console.WriteLine("谢谢使用!");k = 5;break;}}}public class person{public string name;public string street;public string city;public string eip;public string state;public string relate;public string tel;public string email;public string qq;public person() { }public person(string n, string s, string c, string e, string st, string r, string t, string em, string q){name = n;street = s;city = c;eip = e;state = st;relate = r;tel = t;email = em;qq = q;}public void input() //输入信息{Console.WriteLine("请输入联系人姓名:");name = Console.ReadLine();Console.WriteLine("请输入联系人电话:");email = Console.ReadLine();Console.WriteLine("请输入联系人qq:");qq = Console.ReadLine();Console.WriteLine("请输入联系人关系:");relate = Console.ReadLine();Console.WriteLine("请输入联系人关系:");state = Console.ReadLine();Console.WriteLine("请输入联系人城市:");city = Console.ReadLine();Console.WriteLine("请输入联系人街道:");street = Console.ReadLine();Console.WriteLine("请输入联系人邮编:");eip = Console.ReadLine();FileStream fs1 = new FileStream("D:\\contactlist.txt", FileMode.Append); //存盘StreamWriter sw = new StreamWriter(fs1);sw.WriteLine(name);sw.WriteLine(email);sw.WriteLine(qq);sw.WriteLine(relate);sw.WriteLine(state);sw.WriteLine(city);sw.WriteLine(street);sw.WriteLine(eip);sw.Close();}public void search() //查询信息 {int i=0;Console.WriteLine("请输入要查找的联系人姓名:");string keyname = Console.ReadLine();string[] list = File.ReadAllLines(@"D:\\contactlist.txt");while(i<=list.Length-1){if (match(list[i], keyname) == 0){Console.WriteLine("姓名:{0}", list[i++]);Console.WriteLine("电话:{0}", list[i++]);Console.WriteLine("Q Q:{0}", list[i++]);Console.WriteLine("关系:{0}", list[i++]);Console.WriteLine("国家:{0}", list[i++]);Console.WriteLine("城市:{0}", list[i++]);Console.WriteLine("街道:{0}", list[i++]);Console.WriteLine("{0}", list[i]);break;}elsei = i + 1;}if (i >= list.Length)Console.WriteLine("未找到该联系人!");}public int match(string kl, string keyname){int n=1;char[] l =kl .ToArray();char[] k = keyname.ToArray();for (int i = 0; i < kl.Length; i++)for (int j = 0; j < keyname.Length-1; j++){if (kl[i] == keyname[j])n = 0;elsen = 1;}return n;}public void del() //删除信息{int i;Console.Write("请输入要删除的联系人姓名:");string name = Console.ReadLine();string[] list = File.ReadAllLines(@"D:\\contactlist.txt");for (i = 0; i < list.Length-1; i++){if (list[i] == name){list[i++] = null;list[i++] = null;list[i++] = null;list[i++] = null;list[i++] = null;list[i++] = null;list[i++] = null;list[i] = null;File.WriteAllLines("D:\\contactlist.txt", list);Console.WriteLine("删除成功!");break;}}if (i == list.Length)Console.WriteLine("联系人列表中没有找到该联系人!");}public void show() //显示信息{int i=0;string[] list = File.ReadAllLines(@"D:\\contactlist.txt");Console.WriteLine("联系人信息:");while(i<=list.Length-1){Console.WriteLine("姓名:{0}", list[i++]);Console.WriteLine("电话:{0}", list[i++]);Console.WriteLine("Q Q:{0}", list[i++]);Console.WriteLine("关系:{0}", list[i++]);Console.WriteLine("国家:{0}", list[i++]);Console.WriteLine("城市:{0}", list[i++]);Console.WriteLine("街道:{0}", list[i++]);Console.WriteLine("{0}", list[i++]);Console.WriteLine("********************");}}}}}五、实验结果六、实验体会这次试验内容比以前做的实验多很多,但是却是对自己已经学过的东西是一种很好的检验。

实验二指导

实验二指导

南昌航空大学实验报告二0一一年月日课程名称:java网络编程实验名称:c++ TEST 动态测试班级:09201217 姓名:林虎飘同组人:指导教师评定:签名:1、实验目的(1)理解和掌握C++ test执行动态态测试的基本原理和方法。

(2)掌握C++ Test动态测试的操作步骤。

2、实验要求(1)运用LR录制登陆脚本,完成订票操作。

(2)回放脚本,观察结果。

(3)对脚本进行参数化。

3、实验步骤练习1:自动生成源单元测试下面章节展示了C++test生成和执行单元测试用例需要的步骤。

生成源测试用例:1、在C++test界面左上部分的工程树中选择工程结点(如,ATM Tutorial VS)⏹这告诉C++test 为当前工程的所有函数/方法生成源测试。

测试的生成也可以针对选中的文件、类或函数/方法2、从工具条中Test Using按钮的下拉菜单的Test Using选项中选择Configurations>Built-in> UnitTesting> GenerateSourceTests。

⏹所有和编译、测试用例生成的相关的输出都显示在Output选项卡中。

练习2:查看结果查看Account.cxx的结果:1、在C++test GUI左上的工程树中选择Account.cxx结点。

2、在Unit Testing(Source)选项卡的Test Cases/Results子选项卡(在主GUI区域中)中,查看生成的测试用例和测试包。

⏹测试用例被分组存放在“测试包”中。

一个测试包中测试用例的个数是没有限制的。

但是,测试用例生成的个数取决于预定义的值。

3、通过展开树中的任何一个测试用例结点来查看测试状态。

⏹在这个例子中,大部分生成的测试用例都被标记为“OK”(例如,用绿色字体显示的),这表明在执行过程中没有发现问题。

⏹setPassword函数的一些测试用例被标记为“FAILED”(例如,用红色字体显示的),这表明测试用例或者抛出异常,或者违反了一个包含声明。

南昌航空大学实验报告

南昌航空大学实验报告

南昌航空大学实验报告课程名称:C 语言程序设计实验名称:正弦信号模拟采样及特征参数分析软件设计 班级:姓名:同组人:指导教师评定:签名:一、实验目的1、了解正弦信号采样的基本原理;2、了解正弦信号采样的离散处理方法;3、进一步掌握C 语言输入输出语句的使用和编程方法;4、进一步掌握C 语言顺序结构、选择结构和循环结构程序的编写;5、进一步掌握C 语言函数的定义和调用,数组、结构体及文件的使用及编程方法;6、进一步培养把实际问题转化为C 语言模型和模块化程序设计的能力。

二、实验内容该实验要求对一输入正弦信号进行离散处理并对该信号的基本特征进行定量分析。

采用不同的抽样频率分别求出该信号的有效值、峰峰值、平均值。

三、实验要求具体功能指标要求如下:1、 生成模拟信号)2cos()(0ψπ+=ft A n Y +B; 其中A (幅度值)、f (频率)、0ψ(初相角)、B(直流分量)由键盘输入;2、 对该信号在一个周期内分别等间隔采样32、64点,并把采样的值分别存放在不同的数组中;注:采样的计算方法如下:设信号的频率为f ,采样N 点,则周期为T=1/f; 每两个采样点的间隔为⊿t=T/N 。

第n 点的采样值为:)/2cos()(0ψπ+=N n A n Y+B 分别计算信号的有效值、峰峰值、平均值,并在屏幕上显示; 其中有效值计算公式为:Nn YN n ∑=02)( 平均值计算公式为:Nn Y Y ∑=)(平 峰峰值计算公式为:min max n n Y Y Y -=-峰峰3、 完成对信号的幅度值、频率、初相角、有效值、峰峰值、平均值的显示并以文件形式存储。

四、实验流程图N ∑=四实验源程序、/***********************************************************************************************/ /**************************正弦信号模拟采样及特征参数分析软件设计*******************************/ /***********************************************************************************************/ #include<stdio.h>#include<math.h>#include<stdlib.h>#define PI 3.1415926struct shuju //结构体数组存放数据{double average; //平均值double virt; //有效值double peak; //峰峰值double data[64]; //存储每个采样点的数据}str[2]; //两次采样的数据分开存放struct shuju *p = str;void value(double *fp,int n,int m) //用于求各个采样点的平均值{int i;double sum = 0,aver;for(i = 0;i < n;i++){sum = sum + fp[i];}aver = sum / n;printf("平均值:%lf\n",aver);p[m].average = aver;}void fun(double *fp,int n,int m) //用于求每次不同间隔采样后的峰峰值{int i;double min,max;for(min = max = fp[0],i = 0;i < n;i++) //遍历找出最大值最小值{if(min > fp[i]){min = fp[i];}if(max < fp[i]){max = fp[i];}}printf("峰峰值为:%lf\n",max - min);p[m].peak = (max - min);}void fun1(double *fp,int n,int m) //用于求每次采样的有效值{int i;double sum = 0,yx; //sum用于寄存累加数据yx存放有效值for(i = 0;i < n;i++){sum = sum + fp[i] * fp[i];}yx = sqrt(sum / n);printf("有效值为:%lf\n",yx);p[m].virt = yx;}void write(){int i;FILE *fp;if((fp = fopen("G:\\b.txt","w")) == NULL) //判断文件写入是否出错{printf("写入文件出错!\n");exit(1);}else{fprintf(fp,"32点采样数据:\n");for(i =1;i <= 32;i++){fprintf(fp,"%lf ",p[0].data[i - 1]);if(i >= 8 && i % 8 == 0)fprintf(fp,"\n");}fprintf(fp,"平均值峰峰值有效值\n");fprintf(fp,"%lf ",p[0].average);fprintf(fp,"%lf ",p[0].peak);fprintf(fp,"%lf ",p[0].virt);fprintf(fp,"\n");fprintf(fp,"\n64点采样数据:\n");for(i =1;i <= 64;i++){fprintf(fp,"%lf ",p[1].data[i - 1]);if(i >= 8 && i % 8 == 0)fprintf(fp,"\n");}fprintf(fp,"平均值峰峰值有效值\n");fprintf(fp,"%lf ",p[1].average);fprintf(fp,"%lf ",p[1].peak);fprintf(fp,"%lf ",p[1].virt);fprintf(fp,"\n");fclose(fp);}}int main(){int i;double A,f,x,B,t; //A(幅度值)、f(频率)、x(初相角)、B(直流分量) printf("请输入A(幅度值)、f(频率)、x(初相角)、B(直流分量)\n");scanf("%lf%lf%lf%lf",&A,&f,&x,&B);for(i = 0;i < 32;i++){t = (i + 1) / (f * 32);p[0].data[i] = A * cos(2 * PI * f * t + x) + B;}printf("32点采样的数据为:\n");for(i = 1;i <= 32;i++){printf("%lf ",p[0].data[i - 1]);if(i >= 8 && (i % 8) == 0) //控制每行输出的数据个数{printf("\n");}}value(p[0].data,32,0);fun(p[0].data,32,0);fun1(p[0].data,32,0);for(i = 0;i < 64;i++){t = (i + 1) / (f * 64);p[1].data[i] = A * cos(2 * PI * f * t + x) + B;}printf("64点采样数据为:\n");for(i = 1;i <= 64;i++){printf("%lf ",p[1].data[i - 1]);if(i >= 8 && (i % 8) == 0) //控制每行输出的数据个数{printf("\n");}}value(p[1].data,64,1);fun(p[1].data,64,1);fun1(p[1].data,64,1);write(); //调用文件写入函数将数据写入到磁盘中return 0;}四、结果分析程序通过输入A(幅度值)、f(频率)、x(初相角)、B(直流分量),生成模拟信号数据,分别建立32、64个采样点进行数据采集,然后调用函数进行计算有效值、平均值、峰峰值,并将结果写入磁盘中。

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

面向对象程序设计实验指导书任课教师:陈斌全二零零七年九月前言本指导书是软件工程专业本科课程《面向对象程序设计B》的实验指导书,一般人员也可以使用它作为学习C++语言的上机指导。

因为选择以Microsoft公司的C++开发环境Visual C++6.0作为实验环境,因此书的前一部分介绍了Visual C++的一些基本知识,并且在实验进行的过程中穿插介绍使用Visual C++的一些技巧。

书的内容分为两大部分:第一部分介绍Visual C++实验环境;第二部分是具体的实验安排。

使用本书前,请先阅读以下内容:1.C++语言实验环境配置要求硬件配置:586以上PC兼容机或品牌机,配有彩色显示器、鼠标、键盘,内存不小于20MB,硬盘自由空间不少于60MB。

推荐配置为内存32MB或64MB(或以上),硬盘自由空间500MB以上。

软件配置:操作系统:Windows95, Windows98, Windows NT3.51以上版本。

开发集成环境:Microsoft Visual C++5.0以上版本2.建立自己的工作目录你需要在计算机上先建立自己的工作目录,所有的实验都在该工作目录下进行。

使用Visual C++建立新项目时,需要指定该目录作为项目所在的目录。

本书中假设你的工作目录为c:\student\your_name,具体的实验目录由你的指导教师指定。

3.安装Visual C++Visual C++ 6.0和Visual C++ 5.0最大的不同是在联机帮助系统上做了很大改变。

Visual C++ 5.0的帮助系统直接集成在开发环境之中,在安装Visual C++ 5.0时就可以选择安装帮助内容。

而Visual C++ 6.0的联机帮助系统采用了MSDN(Microsoft Developer Network)库,在安装Visual C++ 6.0时,只安装了MSDN的索引,实际的内容在光盘上。

如果希望能脱离光盘使用帮助系统,需要在安装了Visual C++ 6.0以后,再运行MSDN的安装程序,把完整的库装到硬盘上。

第一部分Visual C++实验环境介绍一、Visual C++简介Visual C++是Microsoft公司的Visual Studio开发工具箱中的一个C++程序开发包。

VisualStudio提供了一整套开发Internet和Windows应用程序的工具,包括VisualC++, Visual Basic, Visual Foxpro, Visual InterDev, Visual J++以及其他辅助工具,如代码管理工具Visual SourceSafe和联机帮助系统MSDN。

Visual C++包中除包括C++编译器外,还包括所有的库、例子和为创建Windows应用程序所需要的文档。

从最早期的1.0版本,发展到最新的6.0版本,Visual C++已经有了很大的变化,在界面、功能、库支持方面都有许多的增强。

最新的6.0版本在编译器、MFC类库、编辑器以及联机帮助系统等方面都比以前的版本做了较大改进。

Visual C++一般分为三个版本:学习版、专业版和企业版,不同的版本适合于不同类型的应用开发。

实验中可以使用这三个版本的任意一种。

Visual C++集成开发环境(IDE)集成开发环境(IDE)是一个将程序编辑器、编译器、调试工具和其他建立应用程序的工具集成在一起的用于开发应用程序的软件系统。

Visual C++软件包中的Developer Studio就是一个集成开发环境,它集成了各种开发工具和VC编译器。

程序员可以在不离开该环境的情况下编辑、编译、调试和运行一个应用程序。

IDE中还提供大量在线帮助信息协助程序员做好开发工作。

Developer Studio 中除了程序编辑器、资源编辑器、编译器、调试器外,还有各种工具和向导(如AppWizard和ClassWizard),以及MFC类库,这些都可以帮助程序员快速而正确地开发出应用程序。

向导(Wizard)向导是一个通过一步步的帮助引导你工作的工具。

Developer Studio中包含三个向导,用来帮助程序员开发简单的Windows程序,它们是:AppWizard:用来创建一个Windows程序的基本框架结构。

AppWizard向导会一步步向程序员提出问题,询问他所创建的项目的特征,然后AppWizard会根据这些特征自动生成一个可以执行的程序框架,程序员然后可以在这个框架下进一步填充内容。

AppWizard支持三类程序:基于视图/文档结构的单文档应用、基于视图/文档结构的多文档应用程序和基于对话框的应用程序。

也可以利用AppWizard生成最简单的控制台应用程序(类似于DOS下用字符输入输出的程序)。

ClassWizard:用来定义AppWizard所创建的程序中的类。

可以利用ClassWizard在项目中增加类、为类增加处理消息的函数等。

ClassWizard也可以管理包含在对话框中的控件,它可以将MFC对象或者类的成员变量与对话框中的控件联系起来。

ActiveX Control Wizard:用于创建一个ActiveX控件的基本框架结构。

ActiveX控件是用户自定义的控件,它支持一系列定义的接口,可以作为一个可再利用的组件。

MFC库库(library)是可以重复使用的源代码和目标代码的集合。

MFC(Microsoft Fundamental Casses)是Visual C++开发环境所带的类库,在该类库中提供了大量的类,可以帮助开发人员快速建立应用程序。

这些类可以提供程序框架、进行文件和数据库操作、建立网络连接、进行绘图和打印等各种通用的应用程序操作。

使用MFC库开发应用程序可以减少很多工作量。

二、项目开发过程在一个集成的开发环境中开发项目非常容易。

一个用C++开发的项目的通用开发过程可以用左图表示。

建立一个项目的第一步是利用编辑器建立程序代码文件,包括头文件、代码文件、资源文件等。

然后,启动编译程序,编译程序首先调用预处理程序处理程序中的预处理命令(如#include,#define等),经过预处理程序处理的代码将作为编译程序的输入。

编译对用户程序进行词法和语法分析,建立目标文件,文件中包括机器代码、连接指令、外部引用以及从该源文件中产生的函数和数据名。

此后,连接程序将所有的目标代码和用到的静态连接库的代码连接起来,为所有的外部变量和函数找到其提供地点,最后产生一个可执行文件。

一般有一个makefile文件来协调各个部分产生可执行文件。

可执行文件分为两种版本:Debug和Release。

Debug版本用于程序的开发过程,该版本产生的可执行程序带有大量的调试信息,可以供调试程序使用,而Release版本作为最终的发行版本,没有调试信息,并且带有某种形式的优化。

学员在上机实习过程中可以采用Debug版本,这样便于调试。

选择是产生Debug版本还是Release版本的方法是:在Developer Studio中选择菜单Build|SetActive Configuration,在弹出的对话框中,选择所要的类型,然后选择OK关闭对话框。

Visual C++ 集成开发环境中集成了编辑器、编译器、连接器以及调试程序,覆盖了的开发应用程序的整个过程,程序员不需要脱离这个开发环境就可以开发出完整的应用程序。

三、集成开发环境Developer Studio进入Developer Studio如果你使用的是Visual C++ 6.0,则要进入Developer Studio,需要单击任务栏中“开始”后选择“程序”,找到Microsoft Visual Studio 6.0文件夹后,单击其中的Microsoft Visual C++6.0图标,则可以启动Developer Studio。

如果你使用的是Visual C++ 5.0,则要进入Developer Studio,需要单击任务栏中“开始”后选择“程序”,找到Microsoft Visual C++ 5.0文件夹后,单击其中的Microsoft Visual C++5.0图标,则可以启动Developer Studio。

Developer Studio的界面Developer Studio用户界面是一个由窗口、工具条、菜单、工具及其他部分组成的一个集成界面。

通过这个界面,用户可以在同一环境下创建、测试、调试应用程序。

VC5和VC6的Developer Studio的初始化界面有一些小的差异,VC5的界面如下:主要部分介绍如下:✓工具条和菜单,用于提供用户操作的命令接口。

菜单以文字和层次化的方式提供命令接口,工具条由一系列按钮组成。

这些按钮用一系列小的位图标志。

工具条以图标方式提供快速的命令选择。

菜单和工具条在开发的不同进程有不同显示内容。

当第一次打开Developer Studio时,标准的工具条和菜单就会显示出来,随着开发的不同步骤,不同的工具条就会自动显示出来,菜单也会有所变化。

工具条有很多种,你可以显示任意多的工具条,只要屏幕空间允许。

工具条可以任意移动,也可以放大缩小。

工具条和菜单条功能基本相同,唯一的区别是:菜单条总占据一行,并且一般不能隐藏。

✓工作区窗口,这个窗口包含关于正在开发的这个项目的有关信息。

在没有开发任何项目时,该窗口显示系统的帮助目录。

当打开一个项目以后,工作区窗口将会显示关于当前项目的文件信息和类的信息。

下图是打开一个项目hello以后的工作区窗口(假设该项目由两个文件cpp1.cpp, cpp2.cpp组成)。

✓文档窗口区,这个区域可以显示各种类型的文档,如源代码文件、头文件、资源文件等。

可以同时打开多个文档。

✓输出窗口,输出窗口用来显示几种信息,可以通过选择不同的标签显示不同的信息。

这些信息包括:编译连接结果信息(Build标签)、调试信息(Debug标签)、查找结果信息(Find in Files标签)。

其中查找结果信息有两个标签,可以显示两次在文件中查找指定内容的结果VC6因为在联机帮助系统上比VC5做了很大改进,所以在工作区窗口中没有VC5的InfoView,初始化界面的其他部分都与VC5相似。

Deleveloper Studio使用Microsoft Developer Network(MSDN)库作为它的联机帮助系统。

其界面如下:总的来说,窗口和命令接口(包括工具条和菜单条)是构成界面的最主要组成部分。

通常有两种窗口:文档窗口和可附着(docking)窗口。

文档窗口显示在文档窗口区,用于显示和编辑文档,其的大小和位置可以随其所处的Developer Studio窗口的改变而改变,可以最大化和最小化。

相关文档
最新文档