南昌航空大学实验四
机票预定系统用例图

机票预定系统⽤例图南昌航空⼤学实验报告课程名称:软件⼯程实验名称:⽤Rational Rose绘制⽤例图班级:070613 14 姓名:刘⼩龙同组⼈:指导教师评定:签名:⼀实验环境Windows 2000、Rational Software公司的Rational Rose应⽤软件⼆实验⽬的1)了解Rational Rose⼯具软件的组成及功能2)掌握⽤Rational Rose画⽤例图的具体的使⽤⽅法三实验内容1)设计⽤例图(Use Case框图)2)⽤Rational Rose在Use Case视图中创建Use Case框图。
四实验要求建⽴⼀个Use Case框图。
为⽅便旅客,某航空公司拟开发⼀个机票预定系统。
旅⾏社把预定机票的旅客信息(姓名、性别、⼯作单位,⾝份证号码、旅⾏时间、施⾏⽬的地等)输⼊该系统,系统为旅客安排航班,印出取票通知和帐单,旅客在飞机起飞前⼀天凭取票通知单和帐单交款取票,系统校对⽆误即印出机票给旅客。
五实验步骤Use Case框图表⽰整个机构提供的功能,可以⽤来回答下列⼀些问题:公司是⼲什么的?为什么要建⽴这个系统?还有那些⼈使⽤这些系统。
Use Case框图在业务建模活动期间⼤量⽤于设置系统情景和形成创建使⽤案例的基础。
1)如何使⽤Rational Rose画Use Case框图S1:点击“开始”在“程序”中找到“Rational rose”点击“Rational Rose Enterprise Edition”进⼊该软件。
S2:在该软件出现的界⾯左边你将会看到⼀个“Use Case View”双击之后会出现⼀个“main”,在双击“main”会弹出⼀个界⾯,我们就可以在这个弹出的界⾯上开始我们的⽤例图绘制。
S3:在稍微靠做的位置将会看到Use Case框图⼯具栏图标,下⾯给⼤家介绍⼀下这些图表所表⽰意思:2)绘制机票预定系统⽤例图航空公司启动⼏个使⽤案例:航班信息管理,订票信息管理,机票管理,航班查询,旅客信息管理。
飞机连接实验报告(南昌航空大学)

《专业技能训练》实验班级: 100631学号: 10063112姓名:林万蔚(同组人:李力朱汉辉周炎)专业技能训练1、实验目的:通过本综合实验的练习,学生应能综合应用所学专业基础知识,对专业上的某一具体工程实际问题进行处理和解决,增强其实践能力、工程应用能力和整体素质。
2、实验内容:(1)方案设计设计铆接的产品,CATIA软件或CAD绘制零件图:1张三维立体图(同组人可一样),1张能完全表达某个零件结构尺寸和制作要求的视图(按机械制图的规定画图和标注,同组每个人不得相同,可选择不同零件画图)。
图均打印,其他内容手写!。
设计铆接的产品(飞机)具有中等复杂程度,具有立体结构。
零件结构设计经指导老师检查同意后方能进行制作。
(2)飞机装配铆接操作实验本实验要求在飞机装配工艺课程的相关实验之后进行,通过飞机装配工艺课程的授课学习和实验,掌握飞机装配铆接的基本方法和基本工艺,在此基础上,制作一个中等复杂程度的零件产品,并做相应的工艺分析。
3、对自己制作的结构件进行质量分析。
我们这组设计制作的是一个小型汽车,从设计的角度来看的比较完美的,线条、部件都比较好。
但是,在这个单有铆接的实验中,很多圆滑的地方可能很难制造出来。
4、飞机铆接的特点及发展。
4.1飞机铆接具有以下特点铆接的连接强度比较稳定可靠,铆接方法与工艺参数容易掌握和控制,铆接质量检验方法方便,故障比较容易排除,使用工具比较简单、低廉,适用于较复杂的连接。
虽然存在着一些缺点,如增大了结构质量,降低了结构强度,容易引起变形等,但到目前为止,铆接仍然是飞机装配中主要的的连接方法。
4.2飞机铆接的发展现代飞机制造过程中,由于结构设计、工艺维修、检查的需要,机械连接不可缺少,在很长一段时间内仍将是主要的连接方法。
在第二代、第三代、甚至第四代战斗机以及民机生产中,都采用了大量的机械连接。
铆接结构重量轻、成本低、工艺简便,比螺接更具技术优势,因而用得比较普遍。
铆接技术发展相对比较缓慢,但近年来在新型飞机研制过程中,为满足结构设计要求,提高飞机的性能,铆接技术有了新的发展。
南昌航空大学计算机网络实验报告

南昌航空大学实验报告2013年11月24日课程名称:计算机网络实验名称:单交换机进行VLAN划分学号:姓名:一、实验目的初步了解交换机配置方法,熟悉交换机配置常用命令,掌握验证VLAN配置是否正确方法。
二、实验设备一台PC机,Boson Router Simulator v5.31网络模拟软件三、实验要求根据下图3.1网络拓扑图,将PC1和PC4、PC2和PC、PC3和PC6分别划到3个VLAN中。
图3.1网络拓扑图四、实验步骤1.打开Boson Network Designer软件,PC1至PC3分别连接到Switch1的e0/1、e0/2、e0/3,PC4至PC6连接到Switch2的e0/8、e0/9、e0/10。
2.打开网络配置软件Boson Netsim装载“shiyan2”,设置6台PC的IP地址3.配置交换机。
创建NAME为ff02号为2、NAME为ff03号为3的2个VLAN,分别进入各端口,用vlan-membership static命令将其按要求划分到相应的VLAN下。
4.用show vlan命令查看各VLAN划分是否正确。
五、实验现象1.交换机各VLAN划分如图5.1所示。
图5.1各VLAN划分2.ping测试结果如图5.2、5.3所示。
图5.2 PC1不能PING通PC2图5.3PC1不能PING通PC3,但能PING通PC4六、实验分析与小结1.分析:由6台PC的IP地址可以得出它们的网络地址为211.85.203.0,在同一个局域网中,而且各端口在初始状态下默认在VLAN1中,所以互相能ping通。
当根据端口进行VLAN划分后,因为一个VLAN就是一个独立的广播域,VLAN之间不能直接通信,VLAN间的通信必须通过三层路由功能实现,所以PC1只能ping通PC4,其他的PC都不能ping通,其他PC同理。
2.小结:通过本次试验,巩固了交换机相关知识点,熟悉掌握其配置和测试命令,对VLAN有了更深刻形象的了解。
实验1-木马病毒攻防

南昌航空大学实验报告二〇一三年十一月八日课程名称:信息安全实验名称:实验1木马攻击与防范班级:xxx 姓名:xxx 同组人:指导教师评定:签名:一、实验目的通过对木马的练习,使读者理解和掌握木马传播和运行的机制;通过手动删除木马,掌握检查木马和删除木马的技巧,学会防御木马的相关知识,加深对木马的安全防范意识。
二、实验原理木马的全称为特洛伊木马,源自古希腊神话。
木马是隐藏在正常程序中的具有特殊功能的恶意代码,是具备破坏、删除和修改文件、发送密码、记录键盘、实施DOS攻击甚至完全控制计算机等特殊功能的后门程序。
它隐藏在目标计算机里,可以随计算机自动启动并在某一端口监听来自控制端的控制信息。
1.木马的特性木马程序为了实现其特殊功能,一般应该具有以下性质:(1)伪装性(2)隐藏性(3)破坏性(4)窃密性2.木马的入侵途径木马入侵的主要途径是通过一定的欺骗方法,如更改图标、把木马文件与普通文件合并,欺骗被攻击者下载并执行做了手脚的木马程序,就会把木马安装到被攻击者的计算机中。
木马也可以通过Script、ActiveX及ASP、CGI交互脚本的方式入侵,攻击者可以利用浏览器的漏洞诱导上网者单击网页,这样浏览器就会自动执行脚本,实现木马的下载和安装。
木马还可以利用系统的一些漏洞入侵,获得控制权限,然后在被攻击的服务器上安装并运行木马。
3.木马的种类(1)按照木马的发展历程,可以分为4个阶段:第1代木马是伪装型病毒;第2代木马是网络传播型木马;第3代木马在连接方式上有了改进,利用了端口反弹技术,例如灰鸽子木马;第4代木马在进程隐藏方面做了较大改动,让木马服务器端运行时没有进程,网络操作插入到系统进程或者应用进程中完成,例如广外男生木马。
(2)按照功能分类,木马又可以分为:破坏型木马;密码发送型木马;服务型木马;DOS 攻击型木马;代理型木马;远程控制型木马。
4.木马的工作原理下面简单介绍一下木马的传统连接技术、反弹端口技术和线程插入技术。
标准实验报告(参考)

南昌航空大学实验报告二零一年月日课程名称: 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的字符串。
逐点比较法插补原理实验报告

南昌航空大学实验报告年月日课程名称:数控技术实验名称:逐点比较法插补原理班级:姓名:同组人:指导老师评定:签名:一、实验的目的与要求1.目的①掌握逐点比较法插补的原理及过程;②掌握利用计算机高级语言,设计及调试“插补运算轨迹”模拟画图的程序设计方法;③进一步加深对插补运算过程的理解;二、实验仪器计算机一台三、实验原理①逐点比较法插补运算的原理首先粗略的简单介绍一下机床是如何按照规定的图形加工出所需的工件的。
例如,现在要加工一段圆弧(图2-1),起点为A,终点为B,坐标原点就是圆心,Y轴、X轴代表纵、横拖板的方向,圆弧半径为R。
如从A点出发进行加工,设某一时刻加工点在M1,一般来说M1和圆弧有所偏离。
因此,可根据偏离的情况确定下一步加工进给的方向,使下一个加工点尽可能向规定图形(即圆弧)靠拢。
若用R M1表示加工点M1到圆心O的距离,显然,当R M1<R时,表示加工点M1在圆内,这时应控制纵拖板(Y拖板)向圆外进给一步到新加工点M2,由于拖板被步进电机带动,进给一步的长度是固定的(1微米),故新的加工点也不一定正好在圆弧上。
同样,当M2≥R时,表示加工点M2在圆外或圆上,这时应控制横拖板(X拖板)向圆内进给一步。
如此不断重复上述过程,就能加工出所需的圆弧。
图2-1 插补原理可以看出,加工的结果是用折线来代替圆弧,为了清楚起见,在图2-1中,每步的步长画的很大,因此加工出来的折线与所需圆弧的误差较大。
若步长缩小,则误差也跟着缩小,实际加工时,进给步长一般为1微米,故实际误差时很小的。
②计算步骤由上述可以看出,拖板每进给一步都要完成四个工作节拍。
偏差判别:判别偏差符号,确定加工点是在要求图形外还是在图形内。
工作台进给:根据偏差情况,确定控制X坐标(或Y坐标)进给一步,使加工点向规定的图形靠拢,以缩小偏差。
偏差计算:计算进给一步后加工点与要求图形的新偏差,作为下一步偏差判别的依据。
终点判断:判定是否到达终点,如果未达到终点,继续插补,如果以到达终点,停止插补。
实验报告
实验一:空气中甲醛的测定 (酚试剂分光光度法)
4、碘溶液[C(1/2I2)=0.1000mol/L] 5、1mol/L氢氧化钠溶液 6、0.5mol/L硫酸溶液:取28ml浓硫酸缓慢加入水中,冷却后, 稀释至1000ml。 7、硫代硫酸钠标准溶液[C(Na2S2O3)=0.1000mol/L] 8、0.5%淀粉溶液:将0.5g可溶性淀粉,用少量水调成糊状后, 再加入100ml沸水,并煎沸2~3min至溶液透明确。 9、甲醛标准贮备溶液:取2.8ml含量为36~38%甲醛溶液, 放入1L容量瓶中,加水稀释至刻度。此溶液1ml约相当于1mg 甲醛。其准确浓度用下述碘量法标定。
实验一:空气中甲醛的测定 (酚试剂分光光度法)
实验所需仪器: 分光光度计(在630nm测定);大气采样器;具塞比色管 (10ml);分析天平;滴定管;容量瓶;量筒;移液管等 实验所需试剂: 1、重蒸馏水或去离子交换水 2、吸收液原液:称量0.10g酚试剂[C6H4SN(CH3)C:NNH2· HCl,简 称NBTH],加水溶解,倾于100ml具塞量筒中,加水到刻度。放 冰箱中保存,可稳定三天。吸收液:量取吸收原液5ml,加95ml 水,即为吸收液。采样时,临用现配。 3、1%硫酸铁铵溶液
实验一:空气中甲醛的测定 (酚试剂分光光度法)
标准曲线的绘制:
实验一:空气中甲醛的测定 (酚试剂分光光度法)
• 样品采集地点:南昌航空大学Q栋(四楼楼道内、一楼楼道 内内、一楼室外) • 采样流量:0.5L/min • 采样时间:20min • 样品吸光度:
实验一:空气中甲醛的测定 (酚试剂分光光度法)
实验二:高铁酸钾法去除苯酚
• 实验所需仪器: 紫外可见分光光度计、三口瓶 、搅拌器、恒温水浴锅、离心机、 抽滤泵、抽滤瓶、量筒、烧杯等 • 实验所需药品:次氯酸钠、硝酸铁 、氢氧化钠、氢氧化钾、高碘酸钾 、苯酚、环己烷、甲醇、乙醚、去 离子水
单片机实验P3.3输入、P1口输出和步进电机控制实验
单⽚机实验P3.3输⼊、P1⼝输出和步进电机控制实验南昌航空⼤学实验报告⼆0⼀⼀年⼗⽉⼀⼗七⽇课程名称:单⽚微型机实验名称:P3.3输⼊、P1⼝输出和步进电机控制实验班级: 080611 学⽣姓名:学号: 08061108 指导教师评定:签名:⼀、实验⽬的1、掌握P3⼝、P1⼝简单使⽤;2、学习延时程序的编写和使⽤;3、了解步进电机控制的基本原理;4、掌握步进电机转动编程⽅法。
⼆、实验内容及要求1、P3.3输⼊、P1⼝输出实验1)P3.3⼝做输⼊⼝,外接⼀脉冲,每输⼊⼀个脉冲,P1⼝按⼗六进制加⼀。
P1⼝做输出⼝,编写程序,使P1⼝接的8个发光⼆极管L1—L8按16进制加⼀⽅式点亮发光⼆极管。
2)P1⼝是准双向⼝,它作为输出⼝时与⼀般的双向⼝使⽤⽅法相同,由准双向⼝结构可知:当P1⼝作为输⼊⼝时,必须先对它置⾼电平,使内部MOS管截⽌,因内部上拉电阻是20KΩ—40KΩ,故不会对外部输⼊产⽣影响。
若不先对它置⾼,且原来是低电平,则MOS管导通,读⼊的数据是不正确的。
3)延时⼦程序的延时计算问题。
对于延时程序:DELAY :MOV R6, #00HDELAY1:MOV R7, #80HDJNZ R7, $DJNZ R6, DELAY1查指令表可知MOV、DJNZ指令均需⽤两个机器周期,⽽⼀个机器周期时间长度为12/ 6.0MHZ,所以该段指令执⾏时间为:((80+1)×256+1)×2×(12÷6000000)=132.1ms。
图1 P3.3输⼊、P1图2 实验电路原理图2、步进电机控制实验1)从键盘上输⼊正、反转命令,转速参数和转动步数显⽰在显⽰器上,CPU再读取显⽰器上显⽰的正、反转命令,转速级数(16级)和转动步数后执⾏。
转动步数减为零时停⽌转动。
2)步进电机驱动原理是通过对它每相线圈中的电流和顺序切换来使电机作步进式旋转。
驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速,微电脑控制步进电机最适合。
南昌航空大学实验报告4
南昌航空大学实验报告2013年12月1日课程名称:计算机网络实验名称:计算机网络综合性实验学号:姓名:一、实验目的1.熟练使用交换机、路由器等网络设备的常用配置命令2.网络地址规划并能进行一个局域网络的VLAN规划并配置相关操作二、实验设备一台PC机,Boson Router Simulator v5.31网络模拟软件三、实验要求如图3.1网络拓扑图,将4台PC规划2个VLAN,利用路由器使得VLAN 间能互通。
不同VLAN间的PC能PING通。
图3.1 网络拓扑图四、实验步骤1.打开Boson Network Designer软件,连接好网络拓扑结构并保存为“shiyan4”。
2.打开网络配置软件Boson Netsim装载“shiyan4”,先设置4台PC的IP地址,此时测试PC1、PC3之间,PC1、PC2之间,PC2、PC4之间以及PC3、PC4之间是否可以互相PING通。
3.进行交换机设置。
在switch1中创建2个VLAN,命名为VLAN2、VLAN3,ID号分别为2、3。
在两个交换机中配置好中继及其VTP,将switch1的PC1划归到VLAN2,PC2划归到VLAN3,把switch2的PC3划归到VLAN2,PC4划归到VLAN3。
进入switch1f0/27端口,开启其主干协议trunk on。
4.进行路由器配置。
将f0/0划分为两个子口f0/0.1、f0/0.2,并用ISL封装协议分别封装到VLAN2、VLAN3。
保存后,测试PC1、PC2之间是否可以PING通。
五、实验现象1.未对设备配置之前,PC1、PC3之间,PC2、PC4之间是能PING通,但PC1、PC2之间,PC3、PC4之间是互相不能PING通,如下图5.1所示。
PC1不能PING通PC2,但能PING通PC3PC4不能PING通PC3,但能PING通PC2图5.12.设备配置好后,PC1、PC2之间,PC3、PC4之间也可以互相PING通了,如图5.2。
计算机网络与通信传输层协议分析实验报告
南昌航空大学实验报告年月日课程名称:计算机网络与通信实验名称:传输层协议分析班级:学生姓名:学号: 2212893107指导教师评定:签名:一.实验目的理解TCP报文首部格式和字段的作用,TCP连接的建立和释放过程,TCP数据传输的编号与确认的过程;学习TFTP工具3CDaemon软件的使用,分析UDP协议报文格式。
二.实验内容1.TCP协议基本分析2. UDP协议分析三.实验过程1.TCP协议基本分析1.TCP的报文格式,2. TCP连接的建立,3. TCP数据的传送4. TCP连接的释放步骤1 相邻两台机器分别为PCA和PCB。
在PCB上下载并安装Telnetd,然后建立用于登录的用户和密码。
步骤2在PCA上运行WireShark进行报文截获,同时设置相应的显示过滤规则。
步骤3PCA上打开Windows命令窗口,执行telnet到PCB,然后执行“exit”退出,从而完成一次TCP协议连接的建立和释放。
步骤4分析截获报文中数据发送部分的第一条TCP报文及其确认报文。
步骤5步骤6TCP连接建立时,其报文首部与其他TCP报文不同,有一个option字段,它的作用是什么,值给多少?结合IEEE802.3协议规定的以太网最大帧长度分析此数据是怎么样得出的。
步骤7分析TCP连接的释放过程中,选择TCP连续撤消的四个报文,将报文信息填入下表:步骤8分析TCP数据传送阶段的前8个报文,将报文信息填入下表:请写出TCP 数据部分长度的计算公式。
数据传送阶段第一个报文的序号字段值是否等于连接建立时第三个报文的序号? 2. UDP 协议分析步骤1相邻两台机器分别为PCA 和PCB 。
步骤2 根据3CDeamon 软件的配置,在PCA 上配置TFTP server 功能,在PCB 上配置TFTP client 功能。
选择TFTP client 要从TFTP server 下载的文件名。
步骤3 运行PCA 、PCB 上的Wireshark ,开始报文截获。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
南昌航空大学实验报告课程名称:数据结构A 实验名称:实验四队列的应用班级: XXX 学生姓名: XXX 学号: XXXXX 指导教师评定: XXX 签名: XXX一、实验目的本实验是队列的一种典型的应用,队列是一种“先到先服务”的特殊的线性表,本实验要求模拟手机短信功能,使用链式存储结构的队列,进行动态地增加和删除结点信息。
通过本实验的学习,可以理解队列的基本操作的实现。
二、实验内容设计程序要求,模拟手机的某些短信息功能。
功能要求:(1)接受短信息,若超过存储容量(如最多可存储20条),则自动将最早接受的信息删除。
(2)显示其中任意一条短信息。
(3)逐条显示短信息。
(4)删除其中的任意一条短信息。
(5)清除。
三、程序分析采用结构体指针定义存储短信结点:typedef struct Qnode{char data[MAXNUM];/*字符数组存储短信*/struct Qnode *next;}Qnodetype; /*定义队列的结点*/定义队列:typedef struct{ Qnodetype *front;/*头指针*/Qnodetype *rear; /*尾指针*/int number;/*短信数量*/}Lqueue;(1)int initLqueue(Lqueue **q) 初始化短信队列。
(2)int LInQueue(Lqueue *q,char x[]) 入队列,将字符串x加入到队列尾部。
(3)char * LOutQueue(Lqueue *q) 出队列,删除队头元素,返回其中的字符串。
(4)void get(Lqueue *q,char x[]) 接收短数,若短信数量超过20条,则删除队头短信。
(5)void deleteall(Lqueue *q) 清除所有短信。
(6)void deleteone(Lqueue *q,int n) 删除第n条短信。
(7)void displayall(Lqueue *q) 显示所有短信。
(8)void displayone(Lqueue *q,int n) 显示第n条短信。
在main()函数中,采用菜单方式,菜单中同时显示出已有的短信数量,由用户选择输入命令,实现程序要求功能,命令说明:R(r):接收短信L(l):显示任意一条短信A(a):显示所有短信D(d):删除任意一条短信U(u):删除所有短信Q(q):退出四、程序源代码# define MAXNUM 70# define FALSE 0# define TRUE 1#include "stdio.h"#include "stdlib.h"#include "string.h"typedef struct Qnode{char data[MAXNUM];struct Qnode *next;}Qnodetype; /*定义队列的结点*/typedef struct{ Qnodetype *front;/*头指针*/Qnodetype *rear; /*尾指针*/int number;/*短信数量*/}Lqueue;int initLqueue(Lqueue **q){/*创建一个空链队列q*/if (((*q)->front=(Qnodetype*)malloc(sizeof(Qnodetype)))==NULL) return FALSE;(*q)->rear=(*q)->front;strcpy((*q)->front->data,"head");(*q)->front->next=NULL; (*q)->number=0;return TRUE;}int LInQueue(Lqueue *q,char x[]){/*将元素x插入到链队列q中,作为q的新队尾*/Qnodetype *p;if ((p=(Qnodetype*)malloc(sizeof(Qnodetype)))==NULL) return FALSE;strcpy(p->data,x);p->next=NULL; /*置新结点的指针为空*/q->rear->next=p; /*将链队列中最后一个结点的指针指向新结点*/q->rear=p; /*将队尾指向新结点*/return TRUE;}char * LOutQueue(Lqueue *q){/*若链队列q不为空,则删除队头元素,返回其元素值*/char x[MAXNUM];Qnodetype *p;if(q->front->next==NULL) return NULL; /*空队列*/p=q->front->next; /*取队头*/q->front->next=p->next; /*删除队头结点*/if (p->next==NULL) q->rear=q->front ;strcpy(x,p->data);free(p);return x;}void get(Lqueue *q,char x[]){ /*接受短信*/int n;if (q->number==20){LOutQueue(q);q->number--;}LInQueue(q,x);q->number++;}void deleteall(Lqueue *q){ /*删除所有短信*/while (q->front!=q->rear)LOutQueue(q);q->number=0;}void deleteone(Lqueue *q,int n){/*删除第n条短信*/Lqueue *p;Qnodetype *s;int i;p=q;i=1;while (i<n){p->front=p->front->next;i=i+1;}s=p->front->next;p->front->next=p->front->next->next;free(s);q->number--;}void displayall(Lqueue *q){/*显示所有短信*/Lqueue *p;char x[MAXNUM];p=q;while(p->front!=q->rear){p->front=p->front->next;printf("%s\n",p->front->data);} printf("\n");}void displayone(Lqueue *q,int n) {/*显示第n条短信*/Lqueue *p;Qnodetype *s;int i;p=q;i=1;while (i<n){p->front=p->front->next;i=i+1;}s=p->front->next;printf("%s\n",s->data);}void main(){ Lqueue *Lp; int i;Qnodetype *headnode;char command,ch[MAXNUM];initLqueue(&Lp);headnode=Lp->front;while (1){printf("Get information(%d),please enter R\n",Lp->number);printf("Display one information(%d),please enterL\n",Lp->number);printf("Display all information(%d),please enterA\n",Lp->number);printf("Delete one information(%d),please enterD\n",Lp->number);printf("Delete all information(%d),please enterU\n",Lp->number);printf("Quit,please enter Q\n");printf("please input command:");scanf("%c",&command);switch (command){case 'r':case 'R': gets(ch);Lp->front=headnode;get(Lp,ch);break;case 'l':case 'L':printf("enter No.:"),scanf("%d",&i);Lp->front=headnode;displayone(Lp,i);break;case 'a':case 'A':Lp->front=headnode;displayall(Lp);break;case 'd':case 'D':printf("enter No.:"),scanf("%d",&i);Lp->front=headnode;deleteone(Lp,i);break;case 'u':case 'U':Lp->front=headnode;deleteall(Lp);break;case 'q':case 'Q':printf("quit!");}if (command=='q'||command=='Q') break;}}五、实验结果最后程序运行结果如下所示:Get information(0),please enter RDisplay one information(0),please enter LDisplay all information(0),please enter ADelete one information(0),please enter DDelete all information(0),please enter UQuit,please enter Qplease input command: rI like c++↙<回车>Get information(1),please enter RDisplay one information(1),please enter LDisplay all information(1),please enter ADelete one information(1),please enter D Delete all information(1),please enter U Quit,please enter Qplease input command。