- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1 引 言 - 3 -
1.1问题的提出 - 3 -
1.2 C语言 - 3 -
1.3 C语言发展过程 - 3 -
1.4任务与分析 - 3 -
2 设计方案 - 4 -
2.1整体设计方案 - 4 -
2.2结构体创建 - 4 -
2.3创建等待队列并进行简单操作 - 6 -
2.4寻找最短等待时间 - 7 -
3.程序演示: - 8 -
结 论 - 11 -
致 谢 - 12 -
参考文献 - 13 -
摘 要
随着计算机的普及,计算机技术的发展,以软件为核心的信息产业对人类的经济,政治,文化产生了深远的影响,医务室排队就诊也需要在计算机上统计显示,本程序将模拟医务室排队就诊,对到达的病人数,病人到达的时间间隔以及所需诊断时间随即产生,输出医生的总等待时间和病人的平均等待时间。
关键词:医生诊断,等待,随即
1 引 言
1.1问题的提出
以前的操作系统等系统软件主要是由汇编语言编写的(包括UNIX操作系统在内)。由于汇编语言依赖于计算机硬件,程序的可读性和可移植性都比较差。为了提高可读性和可移植性,最好改用高级语言,但一般高级语言难以实现汇编语言的某些功能(汇编语言可以直接对硬件进行操作,例如,对内存地址的操作、位操作等)。人们设想能否找到一种既具有一般高级语言特性,又具有低级语言特性的语言,集它们的优点于一身。于是,C语言就在这种情况下应运而生了。C语言既有高级语言的特点,又具有汇编语言的特点;既是一个成功的系统设计语言,有时一个使用的程序设计语言;既能用来编写不依赖计算机硬件的应用程序,又能用来编写各种系统程序;是一种受欢迎、应用广泛的程序设计语言。1973年,美国贝尔实验室的D.M.RITCHIE在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言。1977年Dennis M.Ritchie 发表了不依赖于具体机器系统的C语言编译文本《可移植的C语言编译程序》。1978年Brian W.Kernighian和Dennis M.Ritchie出版了名著《The C Programming Language》,从而使C语言成为目前世界上流行最广泛的高级程序设计语言。
2 设计方案
2.1整体设计方案
此课题是医务室排队就诊的队列模拟为了直观和方便,画出流程图如下图1:
图1
2.2结构体创建
要显示某个小时之内到达的病人数以及病人到达的时间间隔和医生的就诊情况。
typedef struct
{
int arrive;
int treat;
}PATIENT;
typedef struct queue
{
PATIENT data;
struct queue *link;
}QUEUE;
两个结构体第一个是病人的包含的是到达的时间和等待的时间
第二个是队列是一个链队列,将病人的数据存放到里面
2.3创建等待队列并进行简单操作
void EnQueue(QUEUE **head,QUEUE **tail,PATIENT x)
//进队操作
{
QUEUE *p;
p=(QUEUE*)malloc(sizeof(QUEUE));
p-data=x;
p-link=NULL;
if(*head==NULL)
*head=*tail=p;
else
{
(*tail)-link=p;
*tail=p;
}
}
int DeQueue(QUEUE **head,QUEUE **tail,PATIENT *cp)
//出队操作
{
QUEUE *p;
p=*head;
if(*head==NULL)
return 1;
*cp=(*head)-data;
*head=(*head)-link;
if(*head==NULL)
*tail=NULL;
free(p);
return 0;
}
void OutputQueue(QUEUE *head)
{
while(head!=NULL)
{
printf(到达时间:[%d]处理时间:[%d]\n,head-data.arrive,head-data.treat);
head=head-link;
}
}
队列的三种操作,分别对队列进行插入删除和出队列
2.4寻找等待时间
int InitData(PATIENT *pa, int *sum, double *res)
{
int a[100][2] = {0};
int parr=0;
int i, n=0, tm = 0;
while(
您可能关注的文档
- 北大版 线性代数第一章部分课后答案详解.doc
- 北大课件-中国通史之十-唐代的民族关系.ppt
- 北宋奏议文书初探.doc
- 北大青鸟 第三章 用OOP实现三层结构.ppt
- 北太平洋副热带高压与我国雨带的推移及水旱灾害.ppt
- 北宋朝代.ppt
- 北大:复杂系统与大成智慧.ppt
- 北师大数学五年级上 梯形面积.ppt
- 北师大小学语文六年级下册《你,浪花的一滴水》课件.ppt
- 北师大版《用字母表示数》.ppt
- 第18讲 第17课 西晋的短暂统一和北方各族的内迁.docx
- 第15讲 第14课 沟通中外文明的“丝绸之路”.docx
- 第13课时 中东 欧洲西部.doc
- 第17讲 第16 课三国鼎立.docx
- 第17讲 第16课 三国鼎立 带解析.docx
- 2024_2025年新教材高中历史课时检测9近代西方的法律与教化含解析新人教版选择性必修1.doc
- 2024_2025学年高二数学下学期期末备考试卷文含解析.docx
- 山西版2024高考政治一轮复习第二单元生产劳动与经营第5课时企业与劳动者教案.docx
- 第16讲 第15课 两汉的科技和文化 带解析.docx
- 第13课 宋元时期的科技与中外交通.docx
文档评论(0)