- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
病人看病模拟程序
病人看病模拟程序目录
1 课程设计的目的………………………………………………………………1
2 需求分析………………………………………………………………………1
3 课程设计报告内容……………………………………………………………2
3.1 概要设计……………………………………………………………………2
3.2 详细设计……………………………………………………………………2
3.3 函数调用关系图……………………………………………………………4
3.4 程序清单……………………………………………………………………5
3.5 运行结果……………………………………………………………………5
4 总结……………………………………………………………………………7
参考文献 …………………………………………………………………………7
附录 ………………………………………………………………………………8
病人看病模拟程序
1.课程设计的目的
一般来讲,课程设计实验要复杂一些,深度更广并且更加接近实用。目的是通过课程设计的综合训练,培养学生实际分析问题、编程和动手能力,使学生对数据结构进行更深一层的了解,培养学生对学习数据结构这门课程的兴趣,也为以后的大学毕业设计论文打下了一个初步的基础。其基本目的有:
(1)基本掌握面向过程程序设计的基本思路和方法;
(2)达到熟练掌握数据结构的基本知识和技能;
(3)能够利用所学的基本知识和技能,解决简单的程序设计问题。
2.需求分析
编写一个程序,反映病人到医院看病,排队看医生的情况。在病人排队过程中,主要重复两件事:
(1)病人到达诊室,将病历本交给护士,排到等待队列中候诊。
(2)护士从等待队列中取出下一位病人的病历,该病人进入诊室就诊。
要求模拟病人等待就诊这一过程。程序采用菜单方式,其选项及功能说明如下:
(1)排队——输入排队病人的病历号,加入到病人排队队列中。
(2)就诊——病人排队队列中最前面的病人就诊,并将其从队列中删除。
(3)查看排队——从队首到队尾列出所有的排队病人的病历号。
(4)不再排队,余下顺序就诊——从队首到队尾列出所有的排队病人的病历号,并退出运行。
(5)下班——退出运行。
3.课程设计报告内容
3.1概要设计:
(1).抽象数据类型图的定义如下:
此程序采用队列数据结构,存储结构为单链表,采用此种结构一方面可以减少数据复杂程度,增加系统稳定性;另一方面,利用动态分配内存的方法,便于内存管理,充分利用内存空间。
int Menu_select() //菜单选择程序,要求用户输入一个正确的菜单选项。如果不正确,则重复调用此子程序,直到输入的值是正确的
struct bingli *(creat()) //创建一个单链表。如果创建成功,则返回这个单链表的表头;如果创建不成功,则退出程序。
void ListInsert_rear(struct bingli *head)
//创建一个单链表成功后,再次排队时则调用此子程序,作用是在单链表尾部(即对尾)插入一个病历号码。如果插入不成功,则退出程序。
struct bingli *(ListDelete(struct bingli *head))
//就诊程序。作用是输出就诊的病历号(即队首元素),并且删除队首元素、释放其所占空间。
void display(struct bingli *head)
//显示队列所有元素
(2)本程序包含两个模块:
a.主程序模块:
void main()
b.队列操作模块: 实现所要求的所有实际操作;
各模块之间的调用关系如下:
主程序模块
队列操作模块
3.2详细设计:
1) struct bingli
{
int number; //数据类型为整型
struct bingli *next; //下一个节点
} bingli; //队列的类型
该结构体含有两个数据:第一个是排队的病历号码,第二个是指向这类结构体的指针。
2) 菜单选择程序:
int Menu_select() //要求用户输入一个正确的菜单选项。如果不正确,则重复调用此子程序,直到输入的值是正确的
{
......
......
}
3)创建一个单链表:
struct bingli *(creat())
//如果创建成功,则返回这个单链表的表头;如果创建不成功,则退出程序。输出代数式:
{
......
......
}
4)插入一个病历号码:
void ListInsert_rear(struct bingli
文档评论(0)