实验十文件

合集下载

实验指导书10安装ActiveSync v4.5软件

实验指导书10安装ActiveSync v4.5软件

实验十安装ActiveSync v4.5软件实验学时:2实验目的:使学生掌握安装ActiveSync v4.5软件,ActiveSync v4.5软件是使实验箱和计算机开发平台建立同步连接,建立同步连接之后,当使用EVC开发完应用程序,编译文件之后,在实验箱上会自动下载应用程序,并进行调试。

实验器材:装有XP操作系统的PC机一台,硬盘至少有20GB空间,内存1GB,ActiveSync v4.5软件安装程序。

实验步骤:第一部分:安装ActiveSync v4.5软件第1步:找到ActiveSync v4.5软件安装程序,双击setup第2步:单击一下步第3步:单击一下步第4步:单击一下步第5步:单击一下步第6步:单击安装第7步:正在安装第8步:完成安装,单击完成第二部分:计算机的ActiveSync v4.5软件设置第1步:在设置ActiveSync v4.5软件前,一定要将计算机的时间和实验箱的时间设置一致,否则可能无法连接。

在安装了ActiveSync v4.5软件之后,将有移动设备如下显示:第2步:打开ActiveSync v4.5软件,选择文件-----连接设置第三部分:实验箱设置第1步:启动实验箱的WINCE系统,选择我的电脑-----控制面板-----网络和拔号连接-----双击新建连接--------选择直接连接------下一步。

第2步:在选择设备(S):中选择SC2410 USB cable:,单击完成。

第3步:在实验箱的WINCE系统中,选择我的电脑-----控制面板-----双击PC连接---选择设备在线时允许与台式计算机建立连接。

第4步:单击更改-----在“连接到台式计算机时使用:”下拉列表框中选择“我的连接”,然后单击OK按钮。

第5步:用实验箱附带的USB线将PC机与MagicARM2410实验箱连接起来。

这时,PC机的windows提示发现新设备并自动安装该设备的驱动程序。

如何管理好实验室的各类文件

如何管理好实验室的各类文件

如何管理好实验室的各类文件实验室文件的分类实验室质量体系使用的文件按类别分为管理文件和技术文件。

管理文件包括质量方针、目标、质量手册、程序文件、各种管理规定、计划、通知和各种管理活动的记录等。

技术文件包括校准、测试依据的方法、标准、图纸、图样、软件、说明书、核查规范、软件确认规范、设备操作规程、校准、测试记录等。

按来源分为内部制定的和来自外部的,内部制定的有质量方针、目标、质量手册、程序文件、管理规定、自编方法、指导书、计划、通知、各种记录表格等。

来自外部的有法律、法规和规章、制度、标准、规范、以标准发布的检测和校准方法、图纸、图样、软件、说明书和参考数据手册等。

实验室内部文件管理(1)凡作为质量体系组成部分发给实验室人员的文件,在发布之前应由授权人员审查、批准。

制定文件清单,清单中包括序号、文件名称、代号、版本、数量等信息。

建立文件发放和回收登记,文件发放和回收登记中包括文件名称、代号、版本、数量、领用人、交回人签名、领用和交回日期、文件的受控号等信息。

(2)实验室质量体系所有文件都应做出唯一性标识、唯一性标识包括发布日期、修订标识、页码、总页数或表示文件结束的标记和颁发机构等,对有保密规定的文件应确定适当的密级。

(3)自编方法的确认。

实验室自编方法时,应拟订编制计划,计划的内容包括:自编方法预计达到的指标、自编方法的编制进度、自编方法的试验条件和使用要求、自编方法所需经费预算等,计划经实验室最高管理者批准后组织实施。

自编方法初稿完成后应组织相关人员进行评审,填写评审记录。

经评审确认能够满足校准、测试工作要求,经实验室技术负责人批准后方可下发使用。

存入计算机系统的文件管理管理对存入计算机系统的文件应设定更改的授权,防止非授权人接触和修改文件;应在计算机系统以外保留备份件,保证在文件丢失或其它非正常情况下,仍有正确的文件;对于已批准不允许随意更改的文件应做只读处理;对于批准修改部分应在所有备份中确保正确更新。

文件操作的实验报告

文件操作的实验报告

文件操作的实验报告1. 实验背景文件是计算机中存储数据的一种重要方式,在实际应用中,经常需要对文件进行读写与操作。

本实验旨在通过实际操作,掌握文件的打开、读写、复制和关闭等基本操作。

2. 实验内容本实验分为四个部分,分别是文件的打开、读写、复制和关闭操作。

2.1 文件的打开文件的打开是文件操作的第一步,通过打开文件可以获得对文件的访问权限。

在本实验中,我们使用Python语言进行文件操作。

下面是打开文件的示例代码:pythonfile = open("test.txt", "r")在上述代码中,"test.txt"是指要打开的文件名,"r"表示以只读方式打开文件。

如果需要以写入方式打开文件,可以使用"w"作为参数。

2.2 文件的读写文件的读写是文件操作的核心内容之一。

通过读取文件,可以获得文件中的内容;而通过写入文件,可以向文件中写入内容。

下面是读取文件内容和写入文件内容的示例代码:python读取文件内容content = file.read()写入文件内容file.write("Hello, World!")在上述代码中,`read()`函数用于从文件中读取所有内容,`write()`函数用于向文件中写入指定的内容。

2.3 文件的复制文件的复制是文件操作中常见的需求之一。

通过文件的复制,可以将一个文件的内容复制到另一个文件中。

下面是文件复制的示例代码:python打开源文件和目标文件source_file = open("source.txt", "r")target_file = open("target.txt", "w")读取源文件内容content = source_file.read()写入目标文件target_file.write(content)关闭文件source_file.close()target_file.close()在上述代码中,我们首先打开源文件和目标文件,然后读取源文件的内容并写入目标文件,最后关闭文件。

实验十 WINS服务器的配置与管理

实验十 WINS服务器的配置与管理

实验十 WINS服务器的配置与管理一、实验目的(1) 理解NetBIOS名称解释(2) 掌握WINS服务的工作原理(3) 掌握WINS服务的安装方法(4) 掌握WINS客户端的设置方法二、实验环境三台计算机,一台安装Windows 98或XP,二台已安装Windows Server 2003的计算机,其中一台计算机配置成Windows 2003域控制器,另一台已计算机登录到域且已安装管理工具。

三、实验内容与步骤1、 WINS的工作过程WINS服务实现Net BIOS名称解析,其工作过程如下:(1)当一个WINS客户端启动时,将计算机名和IP地址等数据发送到WINS服务器,并被登记到WINS服务器的数据库内,这就是所谓的向WINS服务器注册的操作。

(2)当两个WINS客户端要通过计算机的Net BIOS名称建立通信关系时,到服务器上查询对方的计算机名和IP地址。

(3)若WINS服务器在数据库中找到对方的计算机名和IP地址,则直接返回信息给客户端,否则,WINS客户端产生一个广播信息来寻找所需的地址。

如果WINS客户端的IP地址改变时,则该客户端在更新数据或者下次重新启动时,就会自动将其新的IP地址注册到WINS服务器内,不需WINS服务器的管理者去维护WINS服务器中的注册数据库。

2、 WINS服务器的安装与配置管理㈠.WINS 服务器和客户端的要求WINS 服务器必须满足以下要求:安装WINS服务,具有静态的IP地址、子网掩码和默认网关。

WINS 客户端可以是安装并运行以下操作系统之一的计算机:Windows Server 2003、Windows 2000 Professional 或 Windows 2000 Server、Windows NT Server 或 Workstation、Version 3.5 或以上版本、Windows 95 或 Windows 98和非 Microsoft 操作系统,比如 UNIX 或 Macintosh 等。

关于人体实验的国际著名文件

关于人体实验的国际著名文件

关于人体实验的国际著名文件有:
1. 《纽伦堡法典》:这是1946 年国际军事法庭在纽伦堡审判中制定的一系列关于人体实验的伦理原则和规定,是最早的关于人体实验的国际文件之一。

2. 《赫尔辛基宣言》:这是1964 年世界医学协会制定的一份关于人体实验的伦理原则和规定,是目前国际上最广泛接受的关于人体实验的文件之一。

3. 《贝尔蒙报告》:这是1975 年美国国家委员会制定的一份关于人体实验的伦理原则和规定,强调了研究人员的责任和义务,以及实验对象的权利和保护。

4. 《东京宣言》:这是1981 年世界卫生组织和联合国教科文组织共同制定的一份关于人体实验的伦理原则和规定,强调了实验对象的知情同意和实验的科学合理性。

5. 《国际医学科学组织理事会指南》:这是1982 年国际医学科学组织理事会制定的一份关于人体实验的伦理原则和规定,强调了实验对象的知情同意和实验的科学合理性。

这些文件都对人体实验的伦理原则和规定进行了明确的阐述,对保障实验对象的权利和安全、促进科学研究的健康发展起到了重要的作用。

实验室安全政策文件

实验室安全政策文件

实验室安全政策文件是关于实验室安全管理的指导性文件,旨在确保实验室工作人员的人身安全和实验室财产的安全。

以下是常见的实验室安全政策文件示例:
1.实验室安全手册:详细描述实验室安全规定、操作规程、应急
措施等内容,是实验室工作人员必须遵守的准则。

2.化学品管理规定:对实验室中使用的化学品进行管理,包括化
学品的采购、储存、使用、废弃等环节,确保化学品的安全使用和处置。

3.生物安全管理规定:针对涉及生物材料的实验室,制定生物安
全管理制度,确保实验过程的安全和实验室生物安全。

4.辐射安全管理规定:对实验室中使用的辐射设备进行管理,包
括辐射设备的采购、使用、维护、废弃等环节,确保辐射安全。

5.实验设备管理规定:对实验室中的实验设备进行管理,包括设
备的采购、使用、维护、报废等环节,确保设备的安全使用和运行。

6.应急预案:针对实验室可能发生的突发事件,制定应急预案,
包括应急组织、应急流程、应急资源和救援力量等内容,确保实验室工作人员在紧急情况下能够得到及时有效的救援。

这些政策文件应该定期更新,并确保所有实验室工作人员都了解和遵守这些规定。

此外,实验室还应该定期进行安全检查和评估,及时发现和解决安全隐患,确保实验室的安全。

实验十二 文件操作

实验十二  文件操作
in1.txt文件内容为: 705 533 579 289 301 774 14 760 814 709 45 414 862 790 373 961 871 56 949 364 524 767 53 592 468 298 622 647 263 279 829 824 589 986 910 226 695 980 243 533 106 999 676 15 575 100 103 798 284 45 295 382 300 948 979 401 278 160 162 646 410 412 712 326 633 207 186 583 80 457 905 261 785 378 289 919 631 627 428 97 561 694 913 834 22 543 916 430 677 502 513 462 353 404 269 55 243 979 60 390
HBMU
VB应用程序设计实验
湖北医药学院
HBMU
实验十二
文件操作
一、实验目的和要求
1、掌握文件的打开、关闭和读操作。 2、学会使用文件建简单的应用程序。
计算机
HBMU 二、实验内容:
1 .在窗体上建立一个文本框(名称为 Text1 , Multiline 属性设为 True , ScrollBars属性设为2)和两个命令按纽(名称为C1和C2,标题分别为“读入 数据”和“计算保存”)(如下图12-1所示)。要求程序运行后,如果单击 “读入数据”,则读入“in1.txt”文件中的100 个整数,放入一个一维数组 中(数组的下界为1),同时在文本框中显示出来;如果单击“计算保存”按 钮,则计算小于或等于 700 的所有数之和,并把求和结果在文本框 Text1中显 示出来,同时把该结果存入自已的文件夹中的文件“out.txt”中。

仪器分析实验10

仪器分析实验10

实验十气相色谱-质谱法(GC-MS)对酯类混合试样的定性分析一、实验目的1. 了解GC-MS的基本结构和工作原理;2. 初步掌握GC-MS的操作过程;3. 掌握GC-MS对未知化合物定性的分析方法。

二、基本原理气相色谱(GC)-质谱(MS)联用仪可看作是以MS为检测器的GC或以GC为进样、分离装置的MS,因此同时具备GC对混合物的高效分离效能和MS对未知物的强定性能力,可在较短时间内实现对多组分混合物质的定性及定量分析。

在所有联用技术中,GC-MS的发展最为完善,广泛应用于环保、食品、石油化工、轻工、农药、医药、法医毒品及兴奋剂检测等各个领域。

气相色谱(GC)是以气体为流动相的色谱方法,仪器结构见图9-1,待测样品由进样口注入到色谱分离柱柱顶(进样后瞬间被气化),然后在惰性载气(流动相)的带动下进入色谱柱(常为石英毛细管柱,内壁涂覆固定相),组分在随载气运动的同时与固定相发生作用,由于不同组分与相同固定相的作用力大小不同,因此固定相对不同组分的保留能力不同,作用力小的组分会随流动相在较短时间流出色谱柱,作用力大的组分则需较长的时间才能流出色谱柱,因此实现了分离。

利用柱末端的检测器对流出组分的实时测定,就可以获得色谱流出曲线(见图9-2),根据各组分的保留时间(从进样到出现色谱峰值的时间)和峰面积就可分别实现对其的定性和定量分析。

但仅利用保留时间定性(相同测定条件下,同一组分的保留时间不变)的可靠性不高,而常用色谱检测器也无法提供其它可反映结构的信息。

图10-1 气相色谱仪器示意图图10-2 色谱流出曲线质谱法(MS)是在离子源(能量源)的作用下把待测试样转化为运动的气态离子并按核质比(m/z)大小进行分离记录的方法,测量结果可以质谱图(见图9-3)表示。

离子源能量一定时,同一化合物可生成的碎片离子及各离子间的相对强度是一定的,即质谱图可反映化合物的结构特征,因此可用来进行定性及结构解析。

此外离子强度(任一离子或总离子强度和)与进样量在一定条件下存在正比关系,这为定量分析提供了依据。

实验指导书

实验指导书

目录实验一实验二实验三实验四实验五实验六实验七实验八实验九实验十实验十一实验十二实验十三实验十四实验十五实验十六实验十七实验十八实验十九实验二十电阻式传感器的单臂电桥性能实验……………………电阻式传感器的半桥性能实验…………………………电阻式传感器的全桥性能实验…………………………电阻式传感器的单臂、半桥和全桥的比较实验………电阻式传感器的振动实验* …………………………电阻式传感器的电子秤实验* ………………………变面积式电容传感器特性实验…………………………差动式电容传感器特性实验…………………………电容传感器的振动实验* …………………………电容传感器的电子秤实验* …………………………差动变压器的特性实验…………………………自感式差动变压器的特性实验………………………差动变压器的振动实验* …………………………差动变压器的电子秤实验* …………………………光电式传感器的转速测量实验…………………………光电式传感器的旋转方向测量实验……………………接近式霍尔传感器实验…………………………………霍尔传感器的转速测量实验……………………………涡流传感器的位移特性实验……………………………被测体材质对涡流传感器特性的影响实验……………135678911131415161819202223252527实验二十一涡流式传感器的振动实验* …………………………实验二十二涡流式传感器的转速测量实验…………………………实验二十三温度传感器及温度控制实验(AD590) …………………实验二十四K型热电偶的温度控制实验……………………………2 282930 33实验二十五E型热电偶的温度控制实验 (35)实验二十六铂热电阻的温度控制实验 (36)实验二十七铜热电阻的温度控制实验 (37)实验二十八磁电式传感器的特性实验………………………………实验二十九磁电式传感器的转速测量实验…………………………38 40实验三十磁电式传感器的应用实验* (40)实验三十一压电加速度式传感器的特性实验………………………实验三十二光纤传感器的位移特性实验……………………………实验三十三光纤传感器的振动实验…………………………………实验三十四光纤传感器的转速测量实验……………………………实验三十五压阻式压力传感器的特性实验…………………………实验三十六压阻式压力传感器的差压测量实验* ………………实验三十七超声波传感器的位移特性实验…………………………实验三十八超声波传感器的应用实验* ..............................实验三十九气敏传感器的原理实验 (41)4244454648495051实验四十附录一附录二湿度式传感器的原理实验………………………………计算机数据采集系统的使用说明………………………温度控制仪表操作说明…………………………………525355附录三JZY-Ⅲ型检测与转换技术实验箱(台)使用手册 (57)3实验一电阻式传感器的单臂电桥性能实验一、实验目的1、了解电阻应变式传感器的基本结构与使用方法。

实验11导入OBJ模型

实验11导入OBJ模型

实验十一导入OBJ模型一、实验目的(一)了解Obj和mtl文件的基本格式(二)了解导入OBJ模型的基本过程(三)掌握将OBJ模型从文件中导入并绘制到场景中的方法二、实验内容在实验十的基础上,通过导入OBJ模型在实验九的场景中绘制一个人物和一把椅子。

三、实验步骤(一)本次实验不需要新建一个项目,而是在实验十的基础进行扩展。

(注意做好备份)这里只需要新增两个文件:ObjLoader.h和ObjLoader.cpp。

实验中的文件如下图所示(二)新建一个文件取名为media,放到cpp文件相同路径下,如下图所示。

然后将下图中的文件考入到media文件夹中。

(建议大家开始敲代码前,先用记事本打开obj文件和mtl文件看看其中的内容,结合教材说明有助于大家更好理解代码)(三)编写ObjLoader.h文件(四)编写ObjLoader.cpp文件(五)修改d3dStencil.cpp文件1. 将编写好的ObjLoader.h包含到头文件中2. 新增两个全局变量3. 修改Setup函数在函数返回之前添加下列语句(1)将原本创建顶点缓存的代码放到Display函数中,具体操作如下。

首先找到下面这段代码起始从至结束将这段代码考贝到Display函数中下面这段代码之前(2)在上次实验中添加的虚拟摄像机的代码前加入下列代码4. 修改Display函数在实验十设置完虚拟摄像机之后,以及刚刚从Setup函数中拷贝过来的创建顶点缓存的代码之前,写入下列代码(六)编译后会出现下面结果思考题:(1)想一想,为什么需要将Setup函数中的创建顶点的代码放到Display函数中去?如果不这么做有没有其他方法达到同样效果?(2)如果要在镜子中绘制椅子和人物的倒影该怎么做?。

实验十-正弦信号发生器实验

实验十-正弦信号发生器实验

实验10正弦信号发生器实验
1、实验目的:
1)学习分频器,计数器和LPM_ROM的使用方法
2)学习DDS的基本原理。

2、实验原理:
图1 正弦信号发生器的原理图
图2 DDS信号源的原理图
3、实验内容
选择模式NO.5,打开试验箱左上侧的+/-12V开关(D/A输出需要),将示波器探头接于主系统左下角的两个挂钩处,最右侧的时钟选择,用短路帽接插clock0为65536Hz 或750KHz处,这时可以从示波器上看到波形输出
1)用VHDL语言描述一个16进制计数器,然后再描述一个正弦表译码器,使用
元件例化语句描述图1所示原理图(FPGA内部),在QuartusⅡ上进行编译、综
合、适配。

引脚锁定以及硬件下载测试。

时钟输入锁clcok0(750KHZ),正弦
表输出锁DAC0832输入,复位和时钟使能锁按键,进行编译、下载和硬件测
试。

2)用VHDL语言描述一个1024进制计数器,然后使用lpm_ROM再描述一个10
位地址的正弦表译码器,使用元件例化语句描述图1所示原理图(FPGA内部),
在QuartusⅡ上进行编译、综合、适配。

引脚锁定以及硬件下载测试。

3)如图2所示,把上述计数器改为+M计数器,M为3位,采用按键输入。

记录
4、思考
怎样提高输出频率的范围
参考程序见文件。

杭电计组实验10-实现R-I-J型指令的CPU设计实验

杭电计组实验10-实现R-I-J型指令的CPU设计实验

实验报告2018年6月9 日成绩:、实验程序源代码顶层RI型指令CPU模块测试文件: module test;//In putsreg rst;reg clk_100MH z;reg clk;// Outputs wire ZF; wire OF;wire [31:0] F;wire [31:0] M_R_Data; wire [31:0] PC;// I nsta ntiate the Unit Un der Test (UUT) TOP_RIJ_CPU uut ( .rst(rst), .clk_100F .clk(clk), •ZF(ZF), •OF(OF),.M_R_Data(M_R_Data), .PC(PC));in itial begi n//I nitialize In putsrst = 0;clk_100MHz = 0;clk = 0;// Wait 100 ns for global reset to fin ish #100;// Add stimulus hereforeverbegi n#2;clk=~clk;#10;clk_100MHz=~clk_100MH z;endenden dmodule顶层LED验证模块module TOP_LED(clk_100M Hz, oclk,rst,SW 丄ED); in put clk_100MH z; in put oclk,rst;in put [3:0]SW;output reg[7:0]LED;4'b0001:LED二F[15:8];4'b0010:LED=F[23:16];4'b0011:LED=F[31:24];4'b0100:LED=M_R_Data[7:0];4'b0101:LED=M_R_Data[15:8];4'b0110:LED二M_R_Data[23:16];4'b0111:LED=M_R_Data[31:24];4'b1000:begin LED[7:2]=0;LED[1]=OF;LED[0]=ZF;e nd4'b1100:LED=PC[7:0];4'b1101:LED=PC[15:8];4'b1110:LED=PC[23:16];4'b1111:LED=PC[31:24];default:LED=0;endcaseenden dmodule顶层RIJ型指令CPU验证模块:module TOP RIJ CPU(i nput rst, in put elk 100MHz,i nput clk,output ZF, output OF,output [31:0]F,output [31:0]M_R_Data,output [31:0]PC);wire Write_Reg;wire [31:0]lnst_code;wire [4:0]rs;wire [4:0]rt;wire [4:0]rd;wire [31:0]rs_data;wire [31:0]rt_data;wire [31:0]rd_data;wire [31:0]imm_data;〃被扩展的立即数wire [15:0]imm;//wire rd_rt_s;wire [1:0]w_r_s;wire imm_s;〃判断是否需要扩展wire rt_imm_s;//B 端选择rt或者是扩展后的immwire Mem_Write;//wire alu_mem_s;wire [1:0]wr_data_s;wire [31:0]W_Addr;wire [31:0]W_Data;wire [31:0]R_Data_A;wire [31:0]R_Data_B;wire [31:0]F;wire [31:0]ALU_B;//B 端口数据wire [2:0]ALU_OP;wire [1:0]PC_s;wire [31:0]PC_ new;wire [31:0]PC;wire [25:0]address;pc pc_c onn ect(clk,rst,PC_s,R_Data_A,imm_data,address,l nst_code,PC);OP_YIMA op(I nst_code,ALU_QP;,rt,rd,Write_Reg,imm,imm_s,rt_imm_s,Mem_Write,address,w_r_s,wr_data_s,PC_s,ZF);elsebeg in case(PC_s)2'b00:PC<二PC_ new;2'bO1:PC<二R_Data_A;2'b10:PC<=PC_ new+(imm_data<<2);2'b11:PC<={PC_ new[31:28],address,2'b00};endcaseendenden dmoduleOP指令功能译码模块:module OP_YIMA(i nst,ALU_OPfe,rt,rd,Write_Reg,imm,imm_s,rt_imm_s,Mem_Write,address,w_r_s,wr_data_s,PC_s,ZF) in put [31:0]i nst; output reg[2:0]ALU_OP;output reg[4:0]rs;output reg[4:0]rt;output reg[4:0]rd;output reg Write_Reg;output reg[15:0]imm;//output reg rd_rt_s;output reg imm_s;output reg rt_imm_s;output reg Mem_Write;output reg [25:0]address;output reg[1:0] w_r_s;output reg[1:0] wr_data_s;output reg[1:0] PC_s;in put ZF;always@(*)begi nw_r_s=2'b01;Write_Reg=1; wr_data_s=2'b00;case(i nst[31:26])6'b001000:begin imm_s=1;ALU_OP=3'b100;e nd 6'b001100:begin imm_s=0;ALU_OP=3'b000;e nd 6'b001110:begin imm_s=0;ALU_OP=3'b010;e nd 6'b001011:begin imm_s=0;ALU_OP=3'b110;e nd endcaseend// ------- 处理I型取数/存数指令------if((i nst[31:30]==2'b10)&&(in st[28:26]==3'b011))imm=i nst[15:0];rt=i nst[20:16];//rt 寄存器rs=inst[25:21];//rs 寄存器//rd_rt_s=1;//rt作为目的存储器rt_imm_s=1;//imm 作为源操作数imm_s=1;w_r_s=2'b01;wr_data_s=2'b01;PC_s=2'b00;case(i nst[31:26])6'b100011:begin Mem_Write=O; Write_Reg=1;ALU_OP=3'b100;e nd 6'b101011:begin Mem_Write=1; Write_Reg=0;ALU_OP=3'b100;e nd endcaseend// ---------- 处理I型跳转指令-------if(i nst[31:27]==5'b00010)begi nimm=i nst[15:0];rt=i nst[20:16];//rtrs=i nst[25:21];//rscase(i nst[31:26])for(i=0;iv=31;i二i+1)REG_Files[i]=O;endassign R_Data_A=REG_Files[R_Addr_A]; assign R_Data_B=REG_Files[R_Addr_B]; always@(posedge Clk or posedge Reset) begi nif(Reset)for(i=0;i<=31;i=i+1)REG_Files[i]v=O;elseif(Write_Reg&&W_Addr!=0)REG_Files[W_Addr]<=W_Data; enden dmoduleALU运算模块:module ALU(A,B,F,ALU_QZF,OF); in put [31:0]A,B;in put [2:0]ALU_OP;output reg ZF,OF;output reg[31:0]F;reg C32;always@(*)begi nOF=1'b0;C32=1'b0;case(ALU_OP)3'b000:F=A&B;3'b001:F=A|B;3'b010:F=A A B;3'bO11:F=~(A^B);3'b100:begin {C32,F}=A+B;OF=A[31]A B[31]A F[31]A C32;e nd3'b101:begin {C32,F}二A-B;OF二A[31]AB[31]AF[31FC32;e nd 3'b110: if(A<B)F=1;elseF=0;3'b111:F=B<< A;endcaseif(F==0)ZF=1;elseZF=0;enden dmodule三、电路图J!仿真波形NjmeVtki*曲饶k ■ FIJI*]•电M_R_Dala[11fl]0 1吃网IIIhO Q10000(X1 悴259^353顶层电路内部结构:四、引脚配置(约束文件)NET "LED[7]" LOC = T11; NET "LED[6]" LOC = R11; NET "LED[5]" LOC = N11; NET "LED[4]" LOC = M11; NET "LED[3]" LOC = V15; NET "LED[2]" LOC = U15; NET "LED[1]" LOC = V16; NET "LED[0]" LOC = U16; NET "SW[3]" LOC = M8; NET "SW[1]" LOC = T9; NET "SW[01" LOC = T10;顶层电路模块SW(3:D)TOP LEDLED(7:0)elk 100MH2odknsl■ /TOP_LEDTOP LED.1NET "clk_100MHz" LOC = V10;NET "oclk" LOC = C9;NET "rst" LOC = C4;NET "SW[2]" LOC = V9;五、思考与探索(1) R-l-J型指令CPU实验结果记录表序号指令执行结果标志结论1 00004020 $8=0000_0000 0 0 正确2 00004820 $9=0000_0000 0 0 正确3 200a0014 $10=0000_0014 0 0 正确4 8d2b0010 $11=0000_0010 0 0 正确5 010b4020 $8=0000_2222 0 0 正确6 21290004 $9=0000_0004 0 0 正确7 214affff $10=000_0013 0 0 正确8 11400001 判断:$10不为0 0 0 正确0 0 正确9 08000003 返回去执行地址为0000_0010 的指令,即序号4:8d2b001010 ac0b0030 存储器地址:0000 0030 0 0 正确。

VB实验十 (1)

VB实验十  (1)

实 验 报 告学院: 交通学院 专业: 土木工程 年级: 08 姓名: 黄 健 学号: 081328055 实验室号___明南附201__ 计算机号 49 实验日期: 2009 年 12 月 7 日指导教师签字: 成绩: 报告退发 (订正 、 重做)实验十 文件管理与操作一、实验目的(1)掌握:文件系统应用程序的设计(2)掌握:文件存储和检索用户数据的方法二、实验内容实验内容及操作提示1、设计如图10-1所示的窗体Form1,编写适当的事件代码,要求运行后,单击“打开”按钮,读入D:\VB\10文件夹下“in.txt ”文件中数据,并在文本框Text1显示;单击“保存”按钮,将文本框Text1中的内容转换为大写字母显示在文本框中(如图10-2所示),并保存到“out.txt ”文件中。

以10-1frm 和10-1.vbp 文件名保存在D:\VB\10下。

图10-1 图10-22、设计如图10-3所示的窗体“文件选择器”,编写适当的事件代码,要求运行后,驱动器、目录和文件列表框同步显示。

双击文件列表框中的文件时,在底部文本框中显示选中文件带路径的完整文件名(如图10-3所示)。

以10-2frm 和10-2.vbp 文件名保存在D:\VB\10下。

图10-3 图10-43、改进上一个实验内容,要求文件列表框中显示相应路径下的文本文件,双击文件名时,在文本框中显示该文件的内容。

4、设计一个简易记事本,要求能够实现文件的新建、打开、编辑和保存等功能。

界面如图10-5所示。

程序运行后,单击“新建”菜单命令,则清空文本框;用户可以在文本框中输入内容;单击“保存”菜单命令,则将当前文本框中的内容保存到D:\VB\10下的myfile.txt文件中;单击“打开”菜单命令,则将D:\VB\10下的myfile.txt文件中的内容显示到文本框。

以10-4frm和10-4.vbp文件名保存在D:\VB\10下。

图10-5三、实验环境(1)硬件:PC机(2)软件:Windows 操作系统、Visual BASIC 6.0四、实验步骤1、(1).启动VB(2)添加1 文本控件,2 命令控件(3)窗体布局.打开Text1保存(4)编写代码Private Sub Command1_Click()Dim mystring, mynumberOpen "G:\AA.txt" For Input As #1Do While Not EOF(1)mystring = Input(1, #1)Text1.Text = Text1.Text + mystringLoopClose #1End SubPrivate Sub Command2_Click()Dim mystring As StringOpen "G:\out.txt" For Output As #1mystring = Text1.TextText1.Text = UCase(mystring)Print #1, UCase(mystring)Close #1End Sub(5)单击“文件”/“保存工程”菜单项,以10-1.frm和10-1.vbp文件名保存在D:\VB\10下。

实验十 M文件及函数文件

实验十 M文件及函数文件

实验十M文件及函数文件一、实验目的1. 学习M脚本文件和M函数文件的特征及创建方式2. 学习子函数、匿名函数的定义及使用3. 学习函数句柄的创建及使用二、实验原理1. M脚本文件在MATLAB的Desktop工作桌面上操作菜单File-New-M File,即打开M文件编辑器,此时默认新建一个以Untitled开头的M脚本文件,编写文件内容(由一串按用户意图排列的MATLAB指令集合),保存时可重新设定文件名。

脚本文件运行后,产生的指令驻留在MATLAB基本工作空间。

2. 函数文件如同一个“黑箱”,从外界只看到传给它的输入量和输出结果,内部运作藏而不见。

函数文件与脚本文件创建方式类似,但函数文件的第一行总是以function引导的函数申明行,且函数名与文件名保持一致。

函数文件运行时,MATLAB为其开辟专门的临时工作空间,称为函数工作空间。

中间变了存放于函数工作空间。

函数文件执行完后,函数工作空间及其中变了被清除。

3. 函数类别在MATLAB中函数可以分为主函数、子函数、嵌套函数、私用函数、匿名函数等,其中主函数、子函数和匿名函数最为常用。

这三类函数的区别如下:主函数实质上就是函数文件中由第一个function引出的函数,函数名与函数文件名一致。

在当前目录、搜索路径上会列出该函数所在的函数文件名。

在指令窗或视野包含该函数文件的其他文件中可调用并执行该函数。

采用help functionname可获得该函数携带的帮助信息。

子函数书写方式与主函数相同,但它必须是寄生在主函数中,在函数文件中由非第一个function引出,只能在其所在主函数及同一个函数文件中的其他子函数调用。

主函数与子函数工作空间彼此独立。

采用help functionname/subfunctionname可获取自函数所带的帮助信息。

匿名函数不以文件形式驻留在文件夹上,而是直接在指令窗或任何函数体内通过指令直接生成,适合于简单的函数。

《C程序设计》实验教案[共五篇][修改版]

《C程序设计》实验教案[共五篇][修改版]

第一篇:《C程序设计》实验教案《C程序设计》实验教案一、实验的目的与任务:《C程序设计》是一门实践性很强的课程。

通过实验使学生加深对课堂讲授的概念、语法、算法、编程技术的理解;熟悉C程序设计的开发环境;掌握程序设计和调试的基本技能。

并通过实践激发学生进一步学习的积极性,培养学生的学习兴趣和创新思维。

通过8个实验,使学生经过一定数量的上机训练,了解和掌握C程序设计的环境、程序的数据表示、程序的执行流程控制、程序的整体结构等C程序设计的基本概念和应用技术。

二、实验项目与要求实验一:C程序的运行环境和运行一个C程序的方法(2学时)实验性质:验证性实验一、实验目的1.了解所用的计算机系统的基本操作方法,学会独立使用该系统。

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

3.通过运行简单的C程序,初步了解C源程序的特点。

二、实验内容1.调用编辑程序,输入教材第一章习题1.1程序,并进行编译和运行。

应了解所用的系统是用什么命令进行编译和连接运行的。

编译和连接后所得到的目标程序的后缀是什么形式的?2.输入并运行教材第一章中习题1.4。

3.输入并运行教材第一章中习题1.9,了解如何在运行时向程序变量输入数据。

实验二数据类型、运算符和表达式(2学时)实验性质:验证性实验一、实验目的1.掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用格式转换符。

2.学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)1 和自减(--)运算符的使用。

3.进一步熟悉C程序的编辑、编译、连接和运行的过程。

二、实验内容1.输入并运行教材第三章例3.6.即:#include void main(){char c1,c2;c1=97;c2=98;printf(“%c %c\n”,c1,c2);printf(“%d %d\n”,c1,c2);} 在此基础上①将第二行改为:int c1,c2; 再使之运行,分析结果。

程序设计语言实验指导书12版

程序设计语言实验指导书12版

《程序设计语言》实验指导书徐东燕编北方民族大学计算机科学与工程学院2012年9月目录实验一 C语言编程环境熟悉及简单程序的编写(验证型实验,2学时) (3)实验二分支结构程序设计(设计型实验,2学时) (6)实验三循环结构程序设计(设计型实验,2学时) (8)实验四函数程序设计(设计型实验,2学时) (10)实验五数组程序设计((设计型实验,2学时) (12)实验六指针程序设计(设计型实验,2学时) (14)实验七结构体程序设计(设计型实验,2学时) (15)实验八程序结构与递归函数(综合性实验,2学时) (16)实验九指针进阶及综合程序设计(综合型实验,2学时) (17)实验十文件的程序设计(设计型实验,2学时) (18)参考文献 (20)课程编号:11101203 课程类别:专业基础课适用专业:计算机科学与技术、软件工程、网络工程、信管专业课程总学时:76 实验课学时:20开设实验项目数:10实验一C语言编程环境熟悉及简单程序的编写(验证型实验,2学时)一、实验目的与要求实验环境1.熟悉Cfree开发环境或Visual C++ 6.0的使用环境;2.掌握Cfree开发环境或Visual C++ 6.0环境下建立C程序的步骤;3.掌握C程序在Cfree开发环境或Visual C++ 6.0环境下的编辑、调试和运行的步骤、方法;4.理解C程序的一般结构;5.理解并掌握程序的顺序结构程序设计;6.在Cfree开发环境或Visual C++ 6.0环境下编写并运行基本的C程序;7.理解程序调试思想,能修改简单的C语法错误;8.掌握算术、赋值表达式,输入输入语句和简单数据处理方法。

二、实验环境1.微机每人一台,要求PⅢ以上处理器。

2.windows2000/xp操作系统。

3.Cfree开发环境或或Visual C++ 6.0开发环境。

三、实验预习与准备1.计算机基本操作练习。

2.Cfree开发环境或Visual C++ 6.0软件使用预习。

实验室制度文件(素材稿件7篇)

实验室制度文件(素材稿件7篇)

实验室制度文件(素材稿件7篇)实验室制度文件篇11.室内应保持清静,整洁,进入室内,工作人员要穿工作服,并佩戴有关劳保用品。

外来人员未经许可不得入内。

2.仪器仪表使用前,应慎进行检查按照使用说明书进行操作。

测试结束后,停机,切断电源做好仪器仪表的清洁工作,盖好罩布。

凡使用用电的仪器设备使用人员应经常检查,下班前务必检查切断所以电源。

3.测试中认真做好原始记录,必须准确,及时,如实地记录测试数据,不得涂改。

测试及分析报告应保留存档。

4.化验室所使用的.仪器仪表溶剂溶液要有序放置,并有标识。

溶液要现配,测试结束后,做好样品处理和玻璃仪器的清洁工作。

5.仪器要有固定的操作人员进行操作,其他人员进行使用时应经质检部负责人同意方可操作。

未经过培训的人员不得擅自使用仪器。

6.每天下班前做好室内清洁卫生,切断电源,管好门窗,关水,熄灯,锁门。

7.每周未必彻底大扫除一次,并对关键仪器仪表维护保养一次,由主任负责检查。

实验室制度文件篇21.统一采购:专人根据危险品的使用量统一采购,报批有关部门,获批后可购买;2.入库检查:入库时应对危险化学品进行检查,保证包装完整、数量准确、标识清晰、符合要求,药品性质不清时严禁入库。

验收合格后由保管签字接收并将药品存放于库房内,上帐登记。

3.贮存注意事项:贮存时按照《危险化学品安全技术资料》中“储运注意事项”中的要求将危险化学品与禁忌物分开存放,严格控制与“避免接触的条件”进行接触,危险化学品应设专柜分类隔离贮存,并做好标识。

4.减少库存:应尽量控制和减少危险化学品的库存量。

5.预防措施:危险化学品贮存时,应于禁忌物分开存放,并采取防挥发、防泄漏、防潮、防火、防爆炸及通风等预防措施;库房或实验室中应备有灭火器等消防安全器材。

6.剧毒类专人专柜:有毒化学品,特别是剧毒的的化学品应锁在专门的毒品柜中,要由专人专柜保藏。

7.废品处理:保证作废的药品标识的清晰,保管负责联系厂家回收,不能回收的药品隔离存放并做好标识,定期送至环保公司统一处理。

实验室各类文件的管理

实验室各类文件的管理

实验室各类文件的管理一、实验室文件的分类实验室质量体系使用的文件按类别分为管理文件和技术文件。

管理文件包括质量方针、目标、质量手册、程序文件、各种管理规定、计划、通知和各种管理活动的记录等。

技术文件包括校准、测试依据的方法、标准、图纸、图样、软件、说明书、核查规范、软件确认规范、设备操作规程、校准、测试记录等。

按来源分为内部制定的和来自外部的,内部制定的有质量方针、目标、质量手册、程序文件、管理规定、自编方法、指导书、计划、通知、各种记录表格等。

来自外部的有法律、法规和规章、制度、标准、规范、以标准发布的检测和校准方法、图纸、图样、软件、说明书和参考数据手册等。

二、实验室内部文件管理(1)凡作为质量体系组成部分发给实验室人员的文件,在发布之前应由授权人员审查、批准。

制定文件清单,清单中包括序号、文件名称、代号、版本、数量等信息。

建立文件发放和回收登记,文件发放和回收登记中包括文件名称、代号、版本、数量、领用人、交回人签名、领用和交回日期、文件的受控号等信息。

(2)实验室质量体系所有文件都应做出唯一性标识、唯一性标识包括发布日期、修订标识、页码、总页数或表示文件结束的标记和颁发机构等,对有保密规定的文件应确定适当的密级。

(3)自编方法的确认。

实验室自编方法时,应拟订编制计划,计划的内容包括:自编方法预计达到的指标、自编方法的编制进度、自编方法的试验条件和使用要求、自编方法所需经费预算等,计划经实验室最高管理者批准后组织实施。

自编方法初稿完成后应组织相关人员进行评审,填写评审记录。

经评审确认能够满足校准、测试工作要求,经实验室技术负责人批准后方可下发使用。

三、存入计算机系统的文件管理管理对存入计算机系统的文件应设定更改的授权,防止非授权人接触和修改文件;应在计算机系统以外保留备份件,保证在文件丢失或其它非正常情况下,仍有正确的文件;对于已批准不允许随意更改的文件应做只读处理;对于批准修改部分应在所有备份中确保正确更新。

实验十 用户和组群管理

实验十 用户和组群管理

实验十用户和组群管理上机实验内容:练习一:1)登录root用户至其主目录;(如果已经登录可省略此步)2)打开终端后在[root@localhost ~]#后面输入自己名字3)新建一个用户组g1,并设置其gid为800groupadd g1 -g 8004)改变用户组g1的gid为801,用户组名为g2groupmod g1 -g 801 -n g25)设置用户组密码gpasswd6)新建一个用户账号user1,并设置该帐号的uid为550,用户的家目录为/tmp/user1,初始用户组为g2,并加入用户组useruseradd -u 550 -g g2 -G user -d /tmp/user1 user17)查看/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow关于新增用户user1的信息grep user1 /etc/passwd /etc/shadow /etc/group /etc/gshadow8)用root为用户user1创建密码passwd user19)观察/etc/shadow文件中的密码栏grep user1 /etc/shadow10)切换用户为user1,并且切换环境设置,此时再改变user1的密码su –l user1passwd11)查询user1支持的所有用户组groups12)切换其有效用户组为usernewgrp user13)切换回root用户,并且切换环境设置su –l root14)改变user1用户设置账号有效期为2014-12-31,默认的登陆shell为/bin/cshusermod -e 2014-12-31 -s /bin/csh15)锁定user1,并观察文件/etc/shadow中密码栏的变化passwd -l user116)解锁user1,并观察文件/etc/shadow中密码栏的变化passwd -u user117)删除用户组g2(观察删除是否成功,为什么?)groupdel g218)删除user1及其家目录userdel -r user119)删除g2用户组groupdel g220)设置用户组的密码gpasswd user练习二:su指令21)使用su切换用户为user,并切换用户的环境设置su -l user22)从user用户切换到root的权限,并执行查看文件/etc/shadow的操作sudo cat /etc/shadow。

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

实验十文件实验时间:年月日【实验目的】1、了解文件类型及文件指针。

2、学会文件基本操作,如打开、关闭、读、写等。

3、结合一定的算法,掌握比较复杂的文件操作方法。

【实验容】1、文件的基本操作;2、fopen函数的使用及其各参数的含义,fclose函数的使用。

【实验步骤】编程题:文件复制与追加1、根据程序提示从键盘输入一个已存在的文本文件的完整文件名,再输入一个新文本文件的完整文件名,然后将已存在的文本文件中的容全部复制到新文本文件中,利用文本编辑软件,通过查看文件容验证程序执行结果。

2、模拟DOS命令下的COPY命令,在DOS状态下输入命令行,以实现将一个已存在的文本文件中的容全部复制到新文本文件中,利用文本编辑软件查看文件容,验证程序执行结果。

3、根据提示从键盘输入一个已存在的文本文件的完整文件名,再输入另一个已存在的文本文件的完整文件名,然后将第一个文本文件的容追加到第二个文本文件的原容之后,利用文本编辑软件查看文件容,验证程序执行结果。

4、根据提示从键盘输入一个已存在的文本文件的完整文件名,再输入另一个已存在的文本文件的完整文件名,然后将源文本文件的容追加到目的文本文件的原容之后,并在程序运行过程中显示源文件和目的文件中的文件容,以此来验证程序执行结果。

三、分析与思考如果要复制的文件容不是用函数fputc()写入的字符,而是用函数fprintf()写入的格式化数据文件,那么如何正确读出该文件中的格式化数据呢?还能用本实验中的程序实现文件的拷贝吗?请读者自己编程验证。

解答:1、#include <stdio.h>#include <stdlib.h>#define MAXLEN 80main(){FILE *fpSrc = NULL;FILE *fpDst = NULL;char ch;char srcFilename[MAXLEN]; /* 源文件名 */char dstFilename[MAXLEN]; /* 目标文件名 */printf("Input source filename:");scanf("%s", srcFilename); /*输入源文件名*/if ((fpSrc = fopen(srcFilename,"r")) == NULL) /*只读方式打开源文件*/ {printf("can't open file %s!\n", srcFilename);exit(0);}printf("Input destination filename:");scanf("%s", dstFilename); /*输入目标文件名*/if ((fpDst = fopen(dstFilename,"w")) == NULL) /*只写方式打开目标文件*/{printf("can't open file %s!\n", dstFilename);exit(0);}/*文件复制*/while ((ch = fgetc(fpSrc)) != EOF){if (fputc(ch, fpDst) == EOF){printf("Copy failed!");exit(0);}}printf("Copy succeed.\n");fclose(fpSrc); /*关闭源文件*/fclose(fpDst); /*关闭目的文件*/}1、#include <stdio.h>#define MAXLEN 80int CopyFile(const char *srcName, const char *dstName);main(){char srcFilename[MAXLEN]; /* 源文件名 */char dstFilename[MAXLEN]; /* 目标文件名 */printf("Input source filename:");scanf("%s", srcFilename); /*输入源文件名*/printf("Input destination filename:");scanf("%s", dstFilename); /*输入目标文件名*/if (CopyFile(srcFilename, dstFilename)) /*文件复制*/{printf("Copy succeed.\n");}else{perror("Copy failed");}}/* 函数功能:把srcName文件容复制到dstName文件中函数入口参数:文件路径函数返回值:非0值表示复制成功,否则表示出错*/int CopyFile(const char *srcName, const char *dstName){FILE *fpSrc = NULL;FILE *fpDst = NULL;int ch, rval = 1;if ((fpSrc = fopen(srcName,"r")) == NULL) /*只读方式打开源文件*/ goto ERROR;if ((fpDst = fopen(dstName,"w")) == NULL) /*只写方式打开目标文件*/ goto ERROR;/* 复制文件 */while ((ch=fgetc(fpSrc)) != EOF){if (fputc(ch, fpDst) == EOF)goto ERROR;}fflush(fpDst); /* 确保存盘 */goto EXIT;ERROR:rval = 0;EXIT:if (fpSrc != NULL)fclose(fpSrc);if (fpDst != NULL)fclose(fpDst);return rval;}2、/*源文件名:mycopy.c*/#include <stdio.h>#include <stdlib.h>int CopyFile(const char *srcName, const char *dstName);main(int argc, char *argv[]){char ch;if (argc != 3){printf("too few parameters!\n");exit(0);}if (CopyFile(argv[1], argv[2])) /*文件复制*/ {printf("Copy succeed.\n");}else{perror("Copy failed");}}/* 函数功能:把srcName文件容复制到dstName函数入口参数:文件路径函数返回值:非0值表示复制成功,否则表示出错*/int CopyFile(const char *srcName, const char *dstName){FILE *fpSrc = NULL;FILE *fpDst = NULL;int ch, rval = 1;if ((fpSrc = fopen(srcName,"r")) == NULL) /*只读方式打开源文件*/ goto ERROR;if ((fpDst = fopen(dstName,"w")) == NULL) /*只写方式打开目标文件*/ goto ERROR;/* 复制文件 */while ((ch=fgetc(fpSrc)) != EOF){if (fputc(ch, fpDst) == EOF)goto ERROR;}fflush(fpDst); /* 确保存盘 */goto EXIT;ERROR:rval = 0;EXIT:if (fpSrc != NULL)fclose(fpSrc);if (fpDst != NULL)fclose(fpDst);return rval;}3、#include <stdio.h>#define MAXLEN 80int AppendFile(const char *srcName, const char *dstName);main(){char srcFilename[MAXLEN]; /* 源文件名 */char dstFilename[MAXLEN]; /* 目标文件名 */printf("Input source filename:");scanf("%s", srcFilename); /*输入源文件名*/printf("Input destination filename:");scanf("%s", dstFilename); /*输入目标文件名*/if (AppendFile(srcFilename, dstFilename)) /*文件追加*/{printf("Append succeed.\n");}else{perror("Append failed");}}/* 函数功能:把srcName文件容复制到dstName函数入口参数:文件路径函数返回值:非0值表示复制成功,否则表示出错*/int AppendFile(const char *srcName, const char *dstName){FILE *fpSrc = NULL;FILE *fpDst = NULL;int ch, rval = 1;if ((fpSrc = fopen(srcName,"r")) == NULL) /*只读方式打开源文件*/ goto ERROR;if ((fpDst = fopen(dstName,"a")) == NULL) /*追加方式打开目标文件*/ goto ERROR;/* 文件追加 */while ((ch=fgetc(fpSrc)) != EOF){if (fputc(ch, fpDst) == EOF)goto ERROR;}fflush(fpDst); /* 确保存盘 */goto EXIT;ERROR:rval = 0;EXIT:if (fpSrc != NULL)fclose(fpSrc);if (fpDst != NULL)fclose(fpDst);return rval;}4、#include <stdio.h>#define MAXLEN 80int AppendFile(const char* srcName, const char* dstName);int DisplayFile(const char* srcName);main(){char srcFilename[MAXLEN]; /* 源文件名 */char dstFilename[MAXLEN]; /* 目标文件名 */printf("Input source filename:");scanf("%s", srcFilename); /*输入源文件名*/printf("Input destination filename:");scanf("%s", dstFilename); /*输入目标文件名*/ if(!DisplayFile(srcFilename))perror("Display source file failed");if(!DisplayFile(dstFilename))perror("Display destination file failed");if (AppendFile(srcFilename, dstFilename)) /*文件追加*/{printf("Append succeed.\n");DisplayFile(dstFilename);}else{perror("Append failed");}}/* 函数功能:把srcName文件容复制到dstName函数入口参数:文件路径函数返回值:非0值表示复制成功,否则表示出错*/int AppendFile(const char *srcName, const char *dstName){FILE *fpSrc = NULL;FILE *fpDst = NULL;int ch, rval = 1;if ((fpSrc = fopen(srcName,"r")) == NULL) /*只读方式打开源文件*/ goto ERROR;if ((fpDst = fopen(dstName,"a")) == NULL) /*追加方式打开目标文件*/ goto ERROR;/* 文件追加 */while ((ch=fgetc(fpSrc)) != EOF){if (fputc(ch, fpDst) == EOF)goto ERROR;}fflush(fpDst); /* 确保存盘 */goto EXIT;ERROR:rval = 0;EXIT:if (fpSrc != NULL)fclose(fpSrc);if (fpDst != NULL)fclose(fpDst);return rval;}/* 函数功能:显示srcName文件容函数入口参数:文件路径函数返回值:非0值表示显示成功,否则表示出错*/int DisplayFile(const char *srcName){FILE *fpSrc = NULL;int ch, rval = 1;if ((fpSrc = fopen(srcName,"r")) == NULL) /*只读方式打开源文件*/ goto ERROR;/* 文件显示 */printf("File %s content:\n", srcName);while ((ch=fgetc(fpSrc)) != EOF){if (fputc(ch, stdout) == EOF)goto ERROR;}printf("\n");goto EXIT;ERROR:rval = 0;EXIT:if (fpSrc != NULL)fclose(fpSrc);return rval;}。

相关文档
最新文档