XXXXXXX
《C语言》课程设计报告
学 院:_电气与信息工程学院_ 专业班级: 学生姓名: 学 号: 设计地点(单位)________计算机基础自主学习中心 _ __ 设计题目:_医院门诊候诊的队列管理程序______________ _____ 完成日期: XXXX 年XX 月 XX日
指导教师评语: ______________________ _________________
_________________________________________________________________________________________________________________________________________________________________________________________________________ __________ _
成绩(五级记分制):______ __________
指导教师(签字):________ ________
重庆科技学院
重庆科技学院《C语言》课程设计报告
课程设计任务书
设计题目:医院门诊候诊的队列管理程序
学生姓名 课程名称 地 点 C语言程序设计课程设计 专业班级 I301/I302 起止时间 设【问题描述】 计要求采用先来先就诊的排队方式(就诊顺序与挂号单编号无关),假设内挂号时编码是连续的,但由于同一个门诊科目有3个诊室,其中35(含35)容岁以上的在第一诊室,35岁以下男患者进第二诊室,其它的进第三诊室,及程序启动后显示下列菜单: 要【实现提示】 求 1--挂号 2--叫号 3--分诊室 4--显示各诊室队列信息 5--统计当天就诊的患者情况(要求按性别进行统计和按任意年龄区段进行统计) 6--结束程序 选1时,提示用户在一行内输入姓名及挂号单编号; 选2时,显示排在队列中第一位患者姓名、挂号单编号,并将其从挂号序列中删除 选3时,进行诊室分配 选4时,按队列顺序显示个诊室排队人的姓名、挂号单编号及所在诊室 选5时,进行两种统计方法的选择,并进行必要的统计计算 选6时,退出程序的运行 要求1~5中每一个步骤完成后都能重新显示此选择菜单 设计 参数 (1)系统分析、设计正确。 (2)结果以图表方式显示。 (3)界面简洁、美观。 (4)报告格式规范。 进1月6日第一大节、第二大节 讲解课程设计任务 度 要1月6日第三大节、第四大节 阅读课程设计指导书,选择课题 求 1月7日第一大节、第二大节 讲解结构体相关知识 1月7日第三大节、第四大节 学生练习结构体的使用 1月8日第一大节、第二大节 程序编码 1月8日第三大节、第四大节 程序编码
重庆科技学院《C语言》课程设计报告
1月9日第一大节、第二大节 程序编码 1月9日第三大节、第四大节 编写课程设计报告 1月10日第一大节、第二大节 课程设计答辩 1月10日第三大节、第四大节 课程设计答辩 参[1]何钦铭 颜晖.《C语言程序设计》.高等教育出版社.2008年 考[2]谭浩强 张基温.《C语言程序设计教程》.高等教育出版社.2006年 资料 其 它 说1.本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一份由负责教师留用。2.若填写内容较多可另纸附后。 明 3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。
重庆科技学院《C语言》课程设计报告
摘要
熟练操作VC++软件,熟练运用switch语句进行各种选择,通过模块化程序设计,编写子函数使程序条理更清晰。
运用VC++软件编写《医院门诊候诊的队列管理程序》,本程序分为6大模块,模块一中包含所有子函数的调用及结束程序的条件,模块二进行挂号处理,模块三进行叫号处理,模块四程序自动将挂号的人进行分诊室处理,模块五显示队列中各个人的信息,模块六统计当前所挂号的总人数;运用switch进行各种操作的选择;利用循环进行重复的操作;并运用system(“cls”)进行清屏处理,使显示界面更清晰。
关键字:模块化 switch 循环
I
重庆科技学院《C语言》课程设计报告
目录
摘要.....................................................................Ⅰ 1软件需求及分析说明书.....................................................1 2系统分析与设计...........................................................2
2.1软件界面设计.......................................................2 2.2软件的数据设计.....................................................6 2.3软件的算法设计.....................................................6 3软件的实现..............................................................9 4软件测试...............................................................14 5软件使用说明书.........................................................15 参考文献.................................................................16 致谢.....................................................................17
I I
重庆科技学院《C语言》课程设计报告
1软件需求分析说明书
本程序分为6大模块,模块一中包含所有子函数的调用及结束程序的条件,模块二进行挂号处理,模块三进行叫号处理,模块四程序自动将挂号的人进行分诊室处理,模块五显示队列中各个人的信息,模块六统计当前所挂号的总人数。
1
重庆科技学院《C语言》课程设计报告
2系统分析与设计
2.1、软件界面设计
主界面:
输入1时进入挂号系统 输入2时进入叫号系统 输入3时进入分诊室系统 输入4时进入显示队列系统 输入5时进入查询信息系统 输入6时退出系统
挂号界面:
输入挂号 输入1进入挂号系统,等待输入 进行挂号 2
重庆科技学院《C语言》课程设计报告
叫号界面:
分诊室界面:
输入3进入分诊室系统,系统自动进行诊室分配 任意输入退出分诊 室系统 输入2进入叫号系统 显示排在队列第一个患者的信息 叫号成功,任意输入退出叫号系统 挂号成功 任意输入退出挂号系统
3
重庆科技学院《C语言》课程设计报告
信息查询界面:
统计界面:
输入5进入统计系统,输入0按性别统计,输入1按年龄段统计 输入4进入信息查询系统,显示队列中的各个患者的信息及其所在的诊室 任意输入退出信息查询系统
4
当按0时,按性别输出统计结果,按0返回上一级菜单,按1结束统计系统 重庆科技学院《C语言》课程设计报告
当按1时,按年龄段输出统计结果,等待输入一个年龄段 显示输入年龄段的患者人数,按0 返回上一级菜单,按1结束统计系统
结束界面:
5
输入6 程序结束 重庆科技学院《C语言》课程设计报告
2.2、软件的数据设计
将输入的挂号人信息以姓名,性别,年龄和挂号单号存入数组中。
2.3、软件的算法设计
模块二:挂号系统
模块一,选择系统:
当x不为零时,反复执行下面的语句 6 模块三:叫号系统 模块一:选择要进行的操作 模块四:分诊室系统 模块五:查询系统 模块六:结束程序 开始 程序结束 通过输入选择将要进行的操作 终止 重庆科技学院《C语言》课程设计报告
模块二,挂号系统:
模块三,叫号系统: 开始 终止 输入挂号信息 开始 挂号完成
叫号成功 输出队列第一个患者的信息
模块四,分诊室系统: 将该患者分配到第一诊室 35岁一上的患者 终止 开始 将该患者分配到第三诊室 35岁一下的男患者 将该患者分配到第二诊室 分配诊室成功
7
终止 重庆科技学院《C语言》课程设计报告
模块五,查询系统:
开始 显示队列中的各个患者的信息及其所在的诊室 显示完毕 终止
模块六,统计系统:
8
开始 选择统计方式 输入0时 输入1时 按年龄段统计,输入一个年龄段 显示该年龄段患者的人数 按性别统计,判断男女 分别显示男女患者的人数 输入0时 选择是否退出统计系统 输入1时 终止 重庆科技学院《C语言》课程设计报告
3 软件的实现
程序源代码:
#include typedef struct News { char name[20]; char sex[10]; char number[10]; int old; }News; //定义一个结构体以便保存患者的各个信息 int i=0; // 依次记录患者挂号的顺序,顺便记录总共挂号的人数 int q=0; // 记录当前被叫号的当前队列序号 int s1[50],s2[50],s3[50]; //保存各个诊室患者的队列号 int q1,q2,q3; // 记录各个诊室患者的总人数 int Choose() { int i; printf(\"\\n\\n\"); printf(\">>>>>>>>>>>>>>>>>>>>>>>>>>>医院门诊候诊的队列管理<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\\n\"); printf(\"\\n\\n\"); printf(\" * 1、挂号;\\n\"); printf(\" * 2、叫号;\\n\"); printf(\" * 3、分诊室;\\n\"); printf(\" * 4、显示各诊室队列信息;\\n\"); printf(\" * 5、统计当天就诊的患者情况;\\n\"); printf(\" * 6、结束程序。\\n\"); printf(\"\\n\\n\\n\\n\"); printf(\"请选择:\"); scanf(\"%d\通过输入获得返回值,选择说要进入的系统 system(\"cls\"); return i; } // 选择所要进入系统的函数 void Gh(News *a) { int x; printf(\"\\n\"\\n\"); printf(\">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>挂号系统<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\\n\"); printf(\"\\n\\n\"); printf(\"请输入挂号姓名,性别,年龄及挂号单号:\\n\"); scanf(\"%s %s %d %s\9 患者输入自己的 重庆科技学院《C语言》课程设计报告 信息进行排队 i++; system(\"cls\"); printf(\"挂号成功,按任意键结束!\"); scanf(\"%d\ system(\"cls\"); } // 挂号系统 void Jh(News *a) { int x; printf(\"\\n\\n\"); printf(\">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>叫号系统<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\\n\"); printf(\"\\n\\n\"); printf(\"姓名:%s \\n性别:%s \\n年龄:%d \\n挂号单 号:%s\\n\显示排在队列第一名患者的信息 q++; printf(\"叫号成功,按任意键结束!\"); scanf(\"%d\ system(\"cls\"); }// 叫号系统 void Fzs(News *a) { int b,x; system(\"cls\"); printf(\"\\n\\n\"); printf(\">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>分诊室系统<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\\n\"); printf(\"\\n\\n\"); for(b=q;b{if(a[b].old>=35) {s1[q1++]=b;} // 从当前队列第一人开始判断,如果当前患者大于35岁,则诊室1记录下当前患者的总队列号 else if(a[b].old<35 && !strcmp(a[b].sex,\"nan\")) {s2[q2++]=b;} // 如果当前患者小于35岁并且是男性,则诊室2记录下当前患者的总队列号 else {s3[q3++]=b;} // 如果以上两种情况都不满足,则诊室3记录下当前患者的总队列号 } printf(\"分诊室成功,按任意键结束!\"); scanf(\"%d\ system(\"cls\"); 10 重庆科技学院《C语言》课程设计报告 } // 分诊室系统 void Xsxx(News *a) { int x1,x2,x3; int x,j; printf(\"\\n\\n\"); printf(\">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>信息查询系统<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\\n\"); printf(\"\\n\\n\"); for(j=q;j{if(s1[x1]==j) // 如果查询到当前序列号与诊室1的某个队列号相同,则输出其信息 {printf(\"姓名:%s \\n性别:%s \\n年龄:%d \\n挂号单号:%s\\n\ printf(\"ta在第一诊室!\\n\\n\");} } for(x2=0;x2 {printf(\"姓名:%s \\n性别:%s \\n年龄:%d \\n挂号单号:%s\\n\ printf(\"ta在第二诊室!\\n\\n\");} } for(x3=0;x3 {printf(\"姓名:%s \\n性别:%s \\n年龄:%d \\n挂号单号:%s\\n\ printf(\"ta在第三诊室!\\n\\n\");} } } printf(\"显示完毕,按任意键结束!\"); scanf(\"%d\ system(\"cls\"); } // 查询系统 void Tj(News *a) { int boy=0,girl=0,z=0; int t,c,m,n,x; for(;;) { printf(\"\\n\\n\"); printf(\">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>统计系统<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\\n\"); printf(\"\\n\\n\"); 11 重庆科技学院《C语言》课程设计报告 printf(\" 请选择统计方式:\\n\\n\\n * 0、按性别统计\\n * 1、按年龄段统计\\n\"); scanf(\"%d\ if(c==0) // 如果输入0则按性别进行统计 { {for(t=0;t{if(!strcmp(a[t].sex,\"nan\")) boy++; else girl++; } } system(\"cls\"); printf(\"\\n\\n\"); printf(\">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>统计系统<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\\n\"); printf(\"\\n\\n\"); printf(\"今天男性患者有: %d 人\\n今天女性患者有: %d 人\\n\显示按性别统计额结果 printf(\"\\n\\n\\n\\n\\n * 0、返回上一层\\n * 1、退出统计系统\\n\"); scanf(\"%d\ system(\"cls\"); if(x==1) break; } else // 输入1则按年龄段进行统计 {system(\"cls\"); printf(\"\\n\\n\"); printf(\">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>统计系统<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\\n\"); printf(\"\\n\\n\"); printf(\"请输入需要统计的年龄段:\\n\"); printf(\"\\n\\n\"); scanf(\"%d %d\输入两个年龄划分年龄段 for(t=0;t{if(a[t].old>=m && a[t].old<=n) z++;} system(\"cls\"); printf(\"\\n\\n\"); printf(\">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>统计系统<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\\n\"); printf(\"\\n\\n\"); printf(\"今天年龄段在 %d 到 %d 的有 %d 人\显示按年龄段的统计的结果 printf(\"\\n\\n\\n\\n\\n * 0、返回上一层\\n * 1、退出统计系统 12 重庆科技学院《C语言》课程设计报告 \\n\"); scanf(\"%d\ system(\"cls\"); if(x==1) // 通过输入判断是否继续进行统计 break; } } system(\"cls\"); } // 统计系统 int main() { int x=0; News a[1000]; while(x!=6) { x=Choose(); switch(x) { case 1:Gh(a);break; case 2:Jh(a);break; case 3:Fzs(a);break; case 4:Xsxx(a);break; case 5:Tj(a);break; } } system(\"cls\"); printf(\"\\n\"); printf(\"\\n\"); printf(\">>>>>>>>>>>>>>>>>>>>>>>>>>>医院门诊候诊的队列管理<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\\n\"); printf(\"\\n\\n\\n\\n\\n\\n\\n\\n\"); printf(\" * 程序结束 \\n\"); scanf(\"%d\ return 0; } 13 重庆科技学院《C语言》课程设计报告 4软件测试 1、 int Choose(); //选择所要进入系统的函数 2、 void Gh(News *a); //挂号系统 3、 void Jh(News *a);// 叫号系统 4、 void Fzs(News *a);// 分诊室系统 5、 void Xsxx(News *a); // 查询系统 6、 void Tj(News *a);统计系统 14 // 重庆科技学院《C语言》课程设计报告 5软件使用说明书 15 重庆科技学院《C语言》课程设计报告 参考文献 [1] 从问题到程序:程序设计与C语言引论.北京:机械工业出版社 16 重庆科技学院《C语言》课程设计报告 致谢 17 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo0.com 版权所有 湘ICP备2023021991号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务