




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第页共?页西安建筑科技大学华清学院课程设计(论文)题目:院(系):专业班级:计算机姓名:学号:指导教师:2016年9月8日西安建筑科技大学华清学院课程设计(论文)任务书专业班级:学生姓名:指导教师(签名):一、课程设计(论文)题目集合运算:使用链表来表示集合,完成集合的合并,求交集等操作。二、本次课程设计(论文)应达到的目的数据结构是实践很强的课程,课程设计是加强学生实践能力的一个强有力的手段。课程设计要求我们完成程序设计的同时能够写出比较规范的设计报告。严格实施课程设计这一环节,对于我们基本程序素养的培养和软件工作者工作作风的训练。将起到显著的促进作用。本题目要达到目的:熟练掌握链表的各种操作三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术参数、设计要求等)输入数据:输入10个以内的字符进行程序测试。1、自己输入两了任意集合。2、用对话框的形式显示集合运算的结果。3、优化对话框。四、应收集的资料及主要参考文献:由于本课程没有安排“课内上机”学时,因此,在课程设计之前必须自己已经上机练习了“线性表”的基本操作。参考文献:1.数据结构-C语言描述,西安电子科技大学出版社,2011.5,耿国华编著2.数决结构与算法分析(C++版),电子工业出版社,2005.7,CliffordA.Shaffer编著3.数据结构与算法,科学出版社,2005.08,赵文静祁飞等编著4.数据结构-C++语言描述,西安交通大学出版社,1999.01,赵文静编著5.VC++深入详解,电子工业出版社,2007.7,孙鑫,于安萍编著五、审核批准意见教研室主任(签字)设计总说明该设计主要应实现以下功能:利用尾差法建立单链表对于输入的链表进行有序排列删除有序链表中不符合要求的元素调用函数对单链表进行交,并,差运算,并输出系统主要由8个模块组成,分别是:单链表的建立单链表的有序排列删除单链表中不符合条件的元素集合交集集合并集集合差集单链表输出主函数目录1.设计目的 12.问题描述 13.需求分析 14.概要设计 15.详细设计 16.调试分析 17.使用说明 28.设计总结 29.参考文献 2目录在你完成后面的内容后要更新页码!目录在你完成后面的内容后要更新页码!《数据结构》课程设计—集合运算1.设计目的这部分不用改这部分不用改“数据结构”是计算机科学与技术专业一门十分重要的专业技术基础课,计算机科学各领域及有关的应用软件都要使用到各种数据结构。在我国,”数据结构与算法”已经作为理工科非计算机专业必修的信息技术基础课程之一。世界上许多科技人员对学习、研究数据结构和算法都非常重视,对于从事计算机科学及其应用的科技工作者来说,数据结构与算法更是必须透彻地掌握的重要基础。学习数据结构与算法的最终目的是解决实际的应用问题,特别是非数值计算类型的应用问题。课程设计是加强学生实践能力的一个强有力手段。课程设计所安排的题目,在难度和深度方面都大于平时的上机训练,要求同学在完成设计和编程大型作业的过程中,深化对数据结构与算法课程中基本概念、理论和方法的理解;训练综合运用所学知识处理实际问题的能力,强化面向对象的程序设计理念;使同学的程序设计与调试水平有一个明显的提高。课程设计要求学生在完成程序设计的同时能够写出比较规范的设计报告。严格实施课程设计这一环节,对于学生基本程序设计素养的培养和软件工作者工作作风的训练,将起到显著的促进作用。页脚中的页脚中的“共?页”中的?号调整成你的2.问题描述简要介绍你的题目要做些啥,有什么用简要介绍你的题目要做些啥,有什么用用有序单链表表示集合,实现集合的交、并、差运算。3.需求分析3.1数据需求字符范围:小写字母a,b,...,y,z,大写字母A,B,...Y,Z,和数字0,1,...8,9;数据对象:属于同一个结构体的集合。数据关系:具有线性关系。3.2基本功能需求可快速的分别求出两个字符集合的交、并、差。3.3非功能性需求用户界面需求:简洁、易用、易懂、友好的用户界面。硬件要求:装有VisualC++6.0的计算机。可靠性需求:保证用户在正常使用本系统时,用户的操作或误操作不会产生数据的丢失。概要设计主要说明对软件中有关信息设计的数据结构;画出整个软件的系统结构图,说明各个模块的功能。主要说明对软件中有关信息设计的数据结构;画出整个软件的系统结构图,说明各个模块的功能。4.1数据结构数据结构的基本操作实现如下:(1)InitLinkList(LinkListHead):初始化集合(2)Check(charch,LinkListHead):检查p1或p2所指向数据结点该不该加入到Head为起始的集合中(3)Merge(LinkListHead1,LinkListHead2):合并两个集合(4)IsExist(chardata,LinkListHead);IsExist2(chardata,LinkListHead):集合A中的元素,B中是否存在(5)Deprive(LinkListHead1,LinkListHead2):两个集合的差集(6)Insection(LinkListHead1,LinkListHead2):两个集合交集(7)PrintLinkList(LinkListHead):打印集合元素4.2系统包含的函数InitLinkList(LinkListHead)Check(charch,LinkListHead)Merge(LinkListHead1,LinkListHead2)IsExist2(chardata,LinkListHead)Deprive(LinkListHead1,LinkListHead2)Insection(LinkListHead1,LinkListHead2)PrintLinkList(LinkListHead)4.3函数间的关系1.求两个集合的并集时,Merge(LinkListHead1,LinkListHead2)函数首先调用了InitLinkList(LinkListHead)函数,多次调用了Check(charch,LinkListHead)函数。2.求两个集合的差集时,Deprive(LinkListHead1,LinkListHead2)函数首先也调用了InitLinkList(LinkListHead)函数,后面循环调用IsExist2(chardata,LinkListHead)函数。3.求两个集合交集时,Insection(LinkListHead1,LinkListHead2)函数的思路同Deprive(LinkListHead1,LinkListHead2)函数类似,它同样也是先进行初始化,首先调用了InitLinkList(LinkListHead)函数,后面循环调用IsExist(chardata,LinkListHead)函数。4.主函数也即main()依次调用成员函数。4.4系统功能模块图主函数主函数单链表的建立及由于排列单链表的建立及由于排列删除不符合条件的元素删除不符合条件的元素集合交集集合交集集合差集单链表输出集合差集单链表输出集合并集集合并集系统功能模块图5.主要写出所设计数据结构的详细定义和组成;各个模块的算法流程图或伪码表示。详细设计这部分可以粘贴部分代码,诚信保证书可以放在这部分主要写出所设计数据结构的详细定义和组成;各个模块的算法流程图或伪码表示。这部分可以粘贴部分代码,诚信保证书可以放在这部分5.1结构体的详细定义LinkListMerge(LinkListHead1,LinkListHead2){ LinkListHead=(Node*)malloc(SIZE); Head->data='\0';Head->next=NULL; Node*p1=Head1->next; Node*p2=Head2->next; Node*p=Head; while(p1!=NULL&&p2!=NULL) { if(p1->data==p2->data) { if(Check(p1->data,Head)==TRUE) { Node*newNode=(Node*)malloc(SIZE); newNode->data=p1->data; p->next=newNode; p=newNode; p->next=NULL; } } else { if(Check(p1->data,Head)==TRUE) { Node*newNode=(Node*)malloc(SIZE); newNode->data=p1->data; p->next=newNode; p=newNode; p->next=NULL; } if(Check(p2->data,Head)==TRUE) { Node*newNode=(Node*)malloc(SIZE); newNode->data=p2->data; p->next=newNode; p=newNode; p->next=NULL; } } p1=p1->next; p2=p2->next; } while(p1!=NULL) { if(Check(p1->data,Head)==TRUE) { Node*newNode=(Node*)malloc(SIZE); newNode->data=p1->data; p->next=newNode; p=newNode; p->next=NULL; } p1=p1->next; } while(p2!=NULL) { if(Check(p2->data,Head)==TRUE) { Node*newNode=(Node*)malloc(SIZE); newNode->data=p2->data; p->next=newNode; p=newNode; p->next=NULL; } p2=p2->next; } returnHead;}//两个集合的差集LinkListDeprive(LinkListHead1,LinkListHead2){ LinkListHead=(Node*)malloc(SIZE); Node*p=Head; Node*p1=Head1->next; while(p1!=NULL) { if(IsExist2(p1->data,Head2)==1) { Node*newNode=(Node*)malloc(SIZE); newNode->data=p1->data; p->next=newNode; p=newNode; p->next=NULL; } p1=p1->next; } returnHead;}系统函数详细介绍(1)voidInitLinkList(LinkListHead);//初始化集合(2)intCheck(charch,LinkListHead);//检查p1或p2所指向数据结点该不该加入到Head为起始的集合中(3)LinkListMerge(LinkListHead1,LinkListHead2);//合并两个集合(4)intIsExist(chardata,LinkListHead);intIsExist2(chardata,LinkListHead);//集合A中的元素,B中是否存在(5)LinkListDeprive(LinkListHead1,LinkListHead2);//两个集合的差集(6)LinkListInsection(LinkListHead1,LinkListHead2);//两个集合交集(7)voidPrintLinkList(LinkListHead);//打印集合元素5.3系统功能模块介绍求两个集合的并集时,Merge(LinkListHead1,LinkListHead2)函数首先调用了InitLinkList(LinkListHead)函数,多次调用了Check(charch,LinkListHead)函数。求两个集合的差集时,Deprive(LinkListHead1,LinkListHead2)函数同Merge(LinkListHead1,LinkListHead2)函数一样首先也调用了InitLinkList(LinkListHead)函数,后面循环调用IsExist2(chardata,LinkListHead)函数。求两个集合交集时,Insection(LinkListHead1,LinkListHead2)函数的思路同Deprive(LinkListHead1,LinkListHead2)函数类似,它同样也是先进行初始化,首先调用了InitLinkList(LinkListHead)函数,后面循环调用IsExist(chardata,LinkListHead)函数。主函数也即main()依次调用成员函数。5.4具体模块设计把各个模块用图示的方法画出流程图,注意图下方要有“图号图名”,例如“图5-1宿舍信息的录入流程图”6.调试分析本软件是基于Windows的编程开发,所以,软件调试必须在Windows环境下进行。调试前须做好准备工作:需要安装VisualC++6.0的计算机一台;配置好之后,在VisualC++6.0环境下进行软件的调试。测试数据:集合输入:在“输入数据”模块中,根据主界面提示,请输入集合1,输入#截止,再输入另一个集合。确定,显示计算结果。如果错误输入,观察是否能正常显示信息。否则修改程序再进行调试。例如:输入集合123和124后确定,假设数据为:两个集合的并集为1234,两个集合的交集为12,两个集合的差集为3.程序正常运行。退出保存。算法改进设想:在程序设计前期,我们并没有用txt文件来保存学生信息。经过我不断的修改以及调试后,该程序总算可以进行txt文本的读出与写入,并且添加学生信息后可以直接将信息保存在txt文本文件中。仿照这段话来写,不能原封不动仿照这段话来写,不能原封不动使用说明1.按屏幕提示输入字符串1的元素,输入完成后输入“#”,回车后输入字符串2,并按“#”后,再按回车键,即出现运算结果;2.按屏幕提示输入选择是否继续,如果继续,则重复第一步,否则结束;3.演示程序以用户和计算机的对话方式执行,即在计算机终端上显示“提示信息”之后,由用户在键盘上输入演示程序中规定的运算命令;相应的输入数据和运算结果显示在其后。
设计总结包括①课程设计过程的收获;②遇到的问题,解决问题过程的思考(存在问题?问题如何解决?);包括①课程设计过程的收获;②遇到的问题,解决问题过程的思考(存在问题?问题如何解决?);③程序调试能力的思考④对数据结构这门课程的思考⑤在课程设计过程中对《数据结构》课程的认识等内容数据结构使用小结链式存储是最常用的存储方式之一,它不仅可用来表示线性表,而且可用来表示各种非线性的数据结构。单链表中每个结点的存储地址是存放在其前趋结点next域中,而开始结点无前趋,故应设头指针head指向开始结点。单链表的建立有头插法、尾插法两种方法。在本次课程设计中采取了尾差法进行建立单链表。尾插法建立链表时,头指针固定不动,故必须设立一个搜索指针,向链表右边延伸,则整个算法中应设立三个链表指针,即头指针、搜索指针、申请单元指针。在使用尾插法建立单链表时最先得到的一定是头结点。通过本次上机实验,使我掌握了C++面向对象程序的基本操作,在上机实践过程中,编程水平得到了进一步提升实践能力得到了加强与锻炼。全面掌握C++面向对象程序设计的方法和技术,通过课程设计我进一步理解和掌握了C++面向对象程序的意义和作用,在上机实践过程中,我也遇到了很多困难,老师和同学给了我很大的帮助。上机过程中遇到的主要问题是:对一些语句的使用不太熟悉,不能够良好的应用,通过老师、同学的帮助了解了一部分,但还需更多的努力。对程序运行的基本条件掌握不够,在调试过程中遇到很多困难,多亏有同学的帮忙,才使得程序最后能通畅运行。对程序的设计学习还没有很好的理解,导致设计过程中漏洞较多,通过老师和同学的修改才得以正常运行。在上机过程中还学习了很多课本上没有的知识,实践能力得到了大幅度的提高,程序的调试技能有所提高,但更多的是在上机过程中发现了很多不足之处,需要在以后的学习与工作中不断的学习和实践,扎扎实实的学习,一步一个脚印,积累程序设计的经验和方法。参考文献1.耿国华编著,数据结构-C语言描述,西安电子科技大学出版社,2011.52.CliffordA.Shaffer编著,数决结构与算法分析(C++版),电子工业出版社,2005.73.赵文静祁飞等编著,数据结构与算法,科学出版社,2005.084.赵文静编著,数据结构-C++语言描述,西安交通大学出版社,1999.015.孙鑫,于安萍编著,VC++深入详解,电子工业出版社,2007.7要写成类似的这种格式,这是标准格式要写成类似的这种格式,这是标准格式各位同学:大家好!现将存在的共性问题描述如下,大家以此为标准进行撰写修改:1.报告文件的命名统一命名成“学号-姓名-题目.doc",方便我归档整理;2.封面,页眉,页脚都调整好了,按照这个模板把你设计的内容一部分一部分填写进去,具体要求注意的问题已在模板中进行了批注;3.论文中出现图的地方应该在图下方有标记,例如如果在”概要设计“部分有一个系统流程图,就在图的正下方居中写上“图4-1系统流程图”,其他的地方依次类推。图的大小应该跟页面大小一致,太大的缩小一些,居中,“图号图名”也要居中。4.有表的地方在表格上方正中写上类似于“表3-1.。。。。表”的字样,不清楚可以看一下课本中是如何书写的。5.使用说明应简明扼要,但也应该有相应的文字说明6.课设总结要写你课设过程中遇到的诸多问题及解决方法,并且写出你的真实收获和感受,不应少于1页。7.参考文献按照模板中的格式书写。8.字体大小和行间距等均参照模板进行修改,段首空两个汉字的宽度。全文同级字体应统一.9.文档修改完成之后,修改页脚的“共?页”中的问号为你正文的页数,最后更新目录中的页码。10.全部修改完成,老师认可后再打印,打印纸张为16K. 11.上交材料为报告和程序的压缩包(删除其中的debug目录).请各位同学务必认真参照上面的注意事项一条条修改,谢谢!李智杰基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅位移测量系统研究单片机控制的后备式方波UPS提升高职学生单片机应用能力的探究基于单片机控制的自动低频减载装置研究基于单片机控制的水下焊接电源的研究基于单片机的多通道数据采集系统基于uPSD3234单片机的氚表面污染测量仪的研制基于单片机的红外测油仪的研究96系列单片机仿真器研究与设计基于单片机的单晶金刚石刀具刃磨设备的数控改造基于单片机的温度智能控制系统的设计与实现基于MSP430单片机的电梯门机控制器的研制基于单片机的气体测漏仪的研究基于三菱M16C/6N系列单片机的CAN/USB协议转换器基于单片机和DSP的变压器油色谱在线监测技术研究基于单片机的膛壁温度报警系统设计基于AVR单片机的低压无功补偿控制器的设计基于单片机船舶电力推进电机监测系统基于单片机网络的振动信号的采集系统基于单片机的大容量数据存储技术的应用研究基于单片机的叠图机研究与教学方法实践基于单片机嵌入式Web服务器技术的研究及实现基于AT89S52单片机的通用数据采集系统基于单片机的多道脉冲幅度分析仪研究机器人旋转电弧传感角焊缝跟踪单片机控制系统基于单片机的控制系统在PLC虚拟教学实验中的应用研究基于单片机系统的网络通信研究与应用基于PIC16F877单片机的莫尔斯码自动译码系统设计与研究基于单片机的模糊控制器在工业电阻炉上的应用研究基于双单片机冲床数控系统的研究与开发基于Cygnal单片机的μC/OS-Ⅱ的研究基于单片机的一体化智能差示扫描量热仪系统研究基于TCP/IP协议的单片机与Internet互联的研究与实现变频调速液压电梯单片机控制器的研究基于单片机γ-免疫计数器自动换样功能的研究与实现基于单片机的倒立摆控制系统设计与实现单片机嵌入式以太网防盗报警系统基于51单片机的嵌入式Internet系统的设计与实现单片机监测系统在挤压机上的应用MSP430单片机在智能水表系统上的研究与应用基于单片机的嵌入式系统中TCP/IP协议栈的实现与应用单片机在高楼恒压供水系统中的应用\t"_bla
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年系统分析师考试模拟分析试题及答案
- 防拐骗安全教育课件模板
- 2025餐馆转让的合同协议书
- 盐城幼儿师范高等专科学校《城市公共事业管理理论与实践》2023-2024学年第二学期期末试卷
- 山西省吕梁市兴县多校2025届九年级上学期12月月考数学试卷(含答案)
- 浙江省温州市2025届高三下学3月二模试题 物理 含解析
- 民办万博科技职业学院《音乐律动(二)》2023-2024学年第一学期期末试卷
- 河北师范大学汇华学院《大数据数据库应用技术》2023-2024学年第二学期期末试卷
- 广东佛山市石门中学2025届高三新时代NT抗疫爱心卷(II)生物试题含解析
- 山东省广饶一中重点中学2025届高三下学期返校热身考试化学试题含解析
- 高三英语语法填空专项训练100(附答案)及解析
- GJB9001C-2017管理手册、程序文件及表格汇编
- 阿斯丹商赛运营规划方案
- 《HSK标准教程2》第4课课件
- 300立方米柴油储罐设计
- 2024年事业单位考试贵州省毕节地区毕节市A类《职业能力倾向测验》统考试题含解析
- (完整文本版)新概念英语第一册单词表默写版1-144
- 《我的心灵疗愈》
- 中国教育史(第四版)全套教学课件
- 2022年4月自考02400建筑施工(一)试题及答案含评分标准
- 志愿者申请登记表
评论
0/150
提交评论