《数据结构_看病案列》由会员分享,可在线阅读,更多相关《数据结构_看病案列(3页珍藏版)》请在金锄头文库上搜索。
1、计算机科学与信息技术学院程序设计课程上机实验报告程序设计课程上机实验报告学号:姓名: 班级:12A实验时间:2014 年 月 日实验地点:开发环境:vc+6.0课程名称:数据结构实验性质: 综合性实验 设计性实验 验证实验实验内容:模拟患者看病题目来源: 教材 教师补充 自选题目主要功能描述:编写一个程序,反映病人到医院看病排队看医生的情况。设计分析: #include #include #include #define MAXQSIZE 10000 typedef struct int *base;int front;int rear; SqQueue;void InitQueue(SqQu
2、eue if(!Q.base)puts(“内存分配失败.“);exit(0);Q.front = Q.rear = 0; void EnQueue(SqQueue Q.baseQ.rear = Number;Q.rear = (Q.rear + 1)%MAXQSIZE; void DeQueue(SqQueue Q.front = (Q.front + 1)%MAXQSIZE; int main(void) SqQueue Q;InitQueue(Q);char ch;int Number;while(1)scanf(“%c“,getchar();if(ch = A | ch = a)scan
3、f(“%d/n“,EnQueue(Q,Number);else if(ch = N | ch = n)if(Q.rear = Q.front)puts(“无病人就诊“);elseDeQueue(Q,Number);printf(“病历号为%d 的病人就诊/n“,Number);else if(ch = S | ch = s)printf(“今天不接受病人排队,下列排队的病人依次就诊:“);while(Q.front != Q.rear)printf(“%d “,Q.baseQ.front);Q.front = (Q.front + 1)%MAXQSIZE;puts(“);break;elsep
4、uts(“输入命令不合法!“);return 0; 典型测试数据输入:A(或 a) 病历号 N(或 n) S(或 s) 输出:请输入命令: 病历号为 x 的病人就诊 无病人就诊 下列排队的病人依次就诊: 今天不再接收病人排队 输入命令不合法!预期结果: 请输入命令:A 病历号:123 请输入命令:n 病历号为 123 的病人就诊 请输入命令:n 无病人就诊 请输入命令:a 病历号:124 请输入命令:a 病历号:125 请输入命令:x 输入命令不合法! 请输入命令:s 下列排队的病人依次就诊: 124 125 今天不再接收病人排队程序及运行结果正误判断: 非常好 正确,还可改进 基本正确,还需改进 还有错误 不足之处或设计经验小结:通过这次实验,学会了如何做好一个操作性比较强的实验。有清晰的设计思路,良好的设计方案。任课教师评语:教师签字: 年 月 日注:每学期至少有一次设计性实验。每学期结束请任课教师按时按量统一交到教学秘书处。