医院候诊排队系统(数据结构与算法课设)(C语言版)

         本文为数据结构与算法课设--《医院候诊排队系统》课题的分享,采用了可以选择出队的队列结构,可以分科室的进行患者新增和删去,按要求的完成了设计内容。

        

目录

 1.设计内容和要求

2.功能分析和程序调试

           功能分析:

          程序调试:

3.代码实现

1.结构体定义

2.添加病人操作

3.删去病人操作

4.信息显示操作

5.菜单和主函数

*6.完整代码

4.问题总结与反思 


 1.设计内容和要求

设计内容:

         设计一个医院候诊排队系统。问题描述:医院各科室的医生有限,因此病人到医院看病时必须排队候诊,而病人的病情有轻重之分,不能简单的根据先来先服务的原则进行诊断治疗,所以医院根据病人的病情规定了不同的优先级别。医生在诊断治疗时,总是选择优先级别高的病人先治疗,如果遇到两个优先级别相同的病人,则选择最先来排队的病人进行诊治。

设计要求:

          (1)用队列模拟上述排队候诊的问题,建立队列分别对应不同优先级别,按照从终端读入的输入数据的方式进行模拟管理。

                输入1,表示有新的病人加入队列候诊,根据病情指定其优先级别;

                输入2,表示医生根据优先级别为病人进行诊治;

                输入3,表示退出系统。

          (2)要求界面友好美观,操作方便易行;

          (3) 注意程序的实用性、安全性;

2.功能分析和程序调试

           功能分析:

            本课题实际只解决两个问题,一个是入队,另一个是有选择的出队。由于病人的数量并不明确,所以采用链式队列的存储方式。

           课题中并没有区别科室,但是结合实际生活,我们采用一个结构体数组来表示一个科室,并在其中封装队列的头尾指针和已经存储的病人数量便于判断。入队采取尾插入法,再加入对于空队列的一个判断就可以通过选择来进行新增病人的操作。

          至于选择性的出队,对于一个链表,使用一个指针存取病情最严重的病人(优先级别最高),然后在原队列中删除他,最后进行显示输出即可。

          程序调试:

                                         开始运行程序,打印菜单开始选择。 

        开始进行病人信息的插入,这里构造一组数据来检查程序。这里键入信息后通过输出可以发现键入信息的功能正确。 

 

        从这里开始调试执行删去病人的操作,第一张图发现出队时是按照病情程度(优先级)来选择最严重的病人先输出的,第二张图发现是在病人病情都相同时,按照先来后到的顺序输出。验证发现功能实现了。

3.代码实现

1.结构体定义

typedef struct patient {
	char name[10];
	int illness;
	struct patient* next;
}Pat;

typedef struct doc {
	char name[20];
	Pat* front;
	Pat* rear; 
	int num_patient = 0;
}Doctor;

Doctor Doc[4]; //全局变量 存储科室信息

2.添加病人操作

void In_queue() {
	int input;
	Pat* newpat =(Pat*)malloc(sizeof(Pat));
	if (!newpat) {
		printf("内存分配失败\n");
		return;
	}

	Menu2();
	printf("请选择就诊科室 (1-%d)\n", sizeof(Doc) / sizeof(Doc[0]));
	scanf("%d", &input);
	if (input < 0 || in
  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值