欢迎来到天天文库
浏览记录
ID:30847003
大小:118.00 KB
页数:6页
时间:2019-01-03
《数据结构病人看病队列课程设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、编号学生实习报告2013〜2014学年第一学期实习类别课程设计学生姓名XXX专业软件工程学号100511111指导教师XX学院计算机科学技术2013年1月7FI起止周19〜20周数2实习地点计算机学院实验室实训目的:1、了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;2、掌握开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;3、提高综合运用所学的理论知识和方法独立分析和解决问题的能力;4、训练用系统的观点和软件开发-•般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。实训要求:1、独立思考,独立完成:课程设计
2、中各任务的设计和调试要求独立完成,遇到问题可以讨论,但不可以拷贝。2、做好上机准备:每次上机前,要事先编制好准备调试的程序,认真想好调试步骤和有关环境的设置方法,准备好有关的文件。3、按照课程设计的具休要求建立的功能模块,每个模块要求按照如下儿个内容认真完成;实训进度安排及主要内容:第一周:1、对题廿进行理解和思考做好上机前的准备;2、完成需求分析及概要设计、详细设计;3、完成程序代码的基本编写;第二周:1、对程序进行完善和调试;2、完成实习报告;成绩:指导教师/带队教师(签字)年月日一、概述在该部分中叙述,每个模块的功能要求1、程序应该达到的功能:在病
3、人排队过程屮,主要重复两件事:(1)病人到达就诊室,将病历交给护士,排到等待队列中候诊。(2)护士从等待队列屮取出下一位病人的病历,该病人进入入诊室就诊。要求模拟病人等待就诊这一过程。程序采用菜单方式,其选项及功能说明如下:(1)排队——输入排队病人的序列号,加入到病人排队队列屮。(2)就诊一一病人排队队列中最前面的病人就诊,并将其从队列中删除。(3)查看排队一一从队首到队尾列出所有的排队病人的病历号。(4)不再排队,余下依次就诊一一从队首到队尾列出所有的排队病人的病历号,并退出运行。(5)下班——退岀运行。二、设计的基本概念和原理数据结构的选择考虑到病
4、人排队候诊的过程屮具有先排队就诊的特诊,与队列的先进先出的特征相吻合,因此可以考虑采用队列线性表,其中,队列的存储结构有循环顺序队列和单链队列。考虑到循环顺序队列的插入,删除浪费空间和时间,故釆用单链队列,而建立带头结点的单链队列比无头结点的单链队列更简化了插入和删除操作,因此采用带头结点的单链队列。三、总体设计(1)•抽彖数据类型定义如下:此程序采用队列数据结构,存储结构为单链表,采用此种结构一方面可以减少数据复杂程度,增加系统稳定性;另一方面,利用动态分配内存的方法,便于内存管理,充分利用内存空间。intMenu_select()//菜单选择程序,要
5、求用户输入一个正确的菜单选项。如果不正确,则重复调用此子程序,直到输入的值是正确的。structbingli*(creat())//创建一个单链表。如果创建成功,则返回这个单链表的表头;如果创建不成功,则退出程序。voidListinsertrear(structbingli*head)//创建一个单链表成功后,再次排队吋则调用此子程序,作用是在单链表尾部(即对尾)插入一个病历号码。如果插入不成功,则退出程序。structbingli*(ListDclctc(structbingli*head))//就诊程序。作用是输出就诊的病历号(即队首元索),并且删
6、除队首元索、释放其所占空间。voiddisplay(structbingli*head)//显示队列所有元素(2)木程序包含两个模块:a.主程序模块:voidmain()b.队列操作模块:实现所要求的所有实际操作;各模块之间的调用关系如下:主程序模块队列操作模块四、详细设计1)structbingliIintnumber;//数据类型为整型structbingli*next;//下一个节点}bingli;//队列的类型该结构体含有两个数据:第一个是排队的病历号码,第二个是指向这类结构体的指针。2)菜单选择程序:intMcnu_sclcct()//要求用户
7、输入一个止确的菜单选项。如果不止确,则反复调用此子程序,直到输入是正确的。}3)创建一个单链表Structbingli*(creat())//如果创建成功,则返冋这个单链表的表头;如果创建不成功,则退岀程序;输出代数式:1)插入一个病历号码:voidListInsertrear(structbingli*head)//创建一个单链表成功后,再次排队时则调用此子程序,作用是在单链表尾部(即对尾)插入一个病丿力号码。如果插入不成功,则退出程序。2)就诊程序:struetbingli*(ListDclctc(struetbingli*hcad))〃作用是输出就
8、诊的病历号(即队首元索),并11删除队首元索、释放其所占空间。3)显示函数:vo
此文档下载收益归作者所有