机房机位预约模拟管理系统设计.pptx

上传人:摩西的****12 文档编号:144686509 上传时间:2020-09-13 格式:PPTX 页数:22 大小:354.77KB
返回 下载 相关 举报
机房机位预约模拟管理系统设计.pptx_第1页
第1页 / 共22页
机房机位预约模拟管理系统设计.pptx_第2页
第2页 / 共22页
机房机位预约模拟管理系统设计.pptx_第3页
第3页 / 共22页
机房机位预约模拟管理系统设计.pptx_第4页
第4页 / 共22页
机房机位预约模拟管理系统设计.pptx_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《机房机位预约模拟管理系统设计.pptx》由会员分享,可在线阅读,更多相关《机房机位预约模拟管理系统设计.pptx(22页珍藏版)》请在金锄头文库上搜索。

1、学 海 无 涯,高级语言程序设计课程设计 说明书 设计题目:机房机位预约模拟管理系统 设计 目录 课程设计题目*3 需求分析*5 详细设计*5 用户使用说明*12 测试结果*13 设计小结*17 参考文献*18 附录(源程序)*18 一机房机位预约模拟管理系统设计 1、数据结构 顾客信息结构体: Struct CusInfo,1,2,学 海 无 涯, Char name20;/顾客姓名 Int sex; /性别 Char tel11; /电话 CInfo; 机位信息结构体: Struct Int State6; /机位状态,每 2 个小时 为一个时间段,08:00-20:00 共 6 个时间段

2、。 0 表示有空机位,1 表示没有空机位 CInfo waitlist6; /各个时间段的运行 客户 Int year; Int month; Int day; /日期 PCInfo; PCInfo info100; /存放 100 天的机位信息 2、具体实现 查询 输入时间,则遍历 info 数组,查看 日期(year/month/day),如果日期匹配,则把机位 信息输出。 机位预订 输入日期(或时间段)查询机位 信息文件,如果日期符合,再查看状态字段,若相应 字段为 0,则预约(即把该用户信息加入写入机位 waitlist 相应时间段中) ;若相应字段为 1,则查,学 海 无 涯,三详细

3、设计,看本天其他时间段,寻找最近空时间段。如果用户要 求在非空时间上机,则查找 info 数组中该时间段为 空的元素,把该时间段的状态字段设为 1,把用户信 息加入机位当天 waitlist 相应时间段中。 (3)退出预订 根据预订日期和客户信息找到预订 信息,把客户信息删除,并把该时间段的状态置为 0。 (4)查询 输入日期和时间段,查看该时间段的状态 如为 1,则把相应时间段的运行客户信息打 印输出。 如为 0,则显示“该时间段空闲!。” 二 需求分析 根据题目要求,程序需要四个结构体来完成,分别对 应四个功能。另外,这个程序还要根据时间更新各个 列表的信息。 机房机位预约模拟系 统,查询

4、模块,排队模块,预定模块,取消模块,查询空位模块,查询预订机模块,3,学 海 无 涯,#include #include #include #define SJD 6 /*宏定义定义 SJD Z NULL D(r)*/ #define Z 20 #define D(s) (s-8)/2 /*将输入的时间划分时间段;分别为 0,1,2,3,4,5 时间段 */ #define NULL 0 struct xinxi int jihao; char xuehao20; struct xinxi *next; ; /*结构函数包含学生信息:机位,学号,还有下名学生信息*/ struct cell i

5、nt RS; /*RS 表示总人数*/ struct xinxi *first; /*第一个预订者记录*/ struct xinxi *middle; /*等待队列列表*/,显示一系列功能选择,输入 n,判断 m 是否是 0 到 6?,根据n 值调用各 功能模块函数,结束,N,主函数比较简洁,只提供输入、功能处理和输出 部分的函数调用。 开始,4,学 海 无 涯 struct xinxi *last; /*最后预订者记录*/ DUILEISJD; /*学生时间(SJD)段顺序:人数,第一名学生,排队的学生, 最后一名学生*/ 预定模块,/*预定模块*/ void yuding() int n;

6、 char m20; /*学号*/ struct xinxi *R; struct xinxi *p; printf(输入想要预定的时间n); scanf(%d, if(DUILEIn.first=NULL) /*还没有人预订*/ ,开始,输入预定时间,判断时间属于 820 oclock 与空机位,输入学号预定成功,排 队成功,结束,N,选择排队,5,6,学 海 无 涯 R=(struct xinxi *)malloc(sizeof(struct xinxi);/*给 R 划分适当的内存*/ R-jihao=1; strcpy(R-xuehao,m); /*将输入的学号复制到 R-xuehao

7、 */ R-next=NULL; DUILEIn.first=R; DUILEIn.last=R; DUILEIn.RS+; printf(成功预定n); else R=(struct xinxi *)malloc(sizeof(struct xinxi); strcpy(R-xuehao,m); /*将输入的学号复制到 R-xuehao */ R-next=NULL; p= DUILEIn.last; /*将最后预订记录赋值给 p*/ R-jihao= DUILEIn.RS+1; printf(%d,R-jihao); /*表示该时间段第几位预订*/ DUILEIn.last=R; /*将当

8、前的记录做为最后记录以便形成链表形式指向下一 个*/ p-next=R; DUILEIn.RS+; /*记录人数*/ printf(预定成功n); else printf(没有空余机位!n); else printf(错误.请输入 819,再次输入.n); 取消 查询模块,/*查询空位*/ void chaxunkongwei() int n; printf(输入想要查询的时间(819 点,包括 8 点)n); scanf(%d,学 海 无 涯 开始,输入查询序号或查询时间,判断是否预定,是否 有空余机位?,显示数据,结束,N,7,8,学 海 无 涯 scanf(%s,m); R= DUILE

9、In.first; /*将第一名学生的信息赋予 R*/ if(DUILEIn.first=0) printf( 还没有人预定n); /*判断有没有人预订,如果还没有人 预订,则输出还没有人预定*/ else for(;R-next!=NULL;R=R-next) /*从第一名学生开始查询直到找到符合的学号,以便确认 是否预订*/ if(strcmp(R-xuehao,m)=0)break; if(R-jihao!=0) /*已预订,输出相应的信息*/ printf(你的机位是%dn,R-jihao); else printf(对不起.你依旧在等待列表中或者没有预定); else printf(

10、错误,请再次输入.n); /*排队系统模块*/ void paiduixitong() int n; char m20; struct xinxi *R; struct xinxi *p; printf(请输入想要排队的时间n); scanf(%d, /*将刚输入学生信息拍到最后一名后,成最后一名*/ else ,学 海 无 涯 R=(struct xinxi *)malloc(sizeof(struct xinxi); strcpy(R-xuehao,m); R-next=NULL; R-jihao=0; p= DUILEIn.last; DUILEIn.last=R; p-next=R;

11、DUILEIn.RS+; printf(成功排队n); else printf(有空余机位,无须等待n); else printf(错误.再次输入.n); 取消模块,开始,输入预定时间,判断是否预定与排队,成功取消预定,结束 /*取消预订模块*/ void cancel() int n; int i; char m20; struct xinxi *R; struct xinxi *q;,N,9,10,学 海 无 涯 struct xinxi *p; printf(请输入预定的时间n); scanf(%d,学 海 无 涯,四用户使用说明,点击运行进入主菜单函数,然后按数字键选择所需要的服务。1

12、 查询空机位。2 预订系统 3 取消预订,取消已预订机位 4 查询所预订机位 5 排队系统,查看所需上机时间排队情况 6 等机者列表,查询其他等待者的预定时间 0 退出系统 五测试结果 1 主界面函数,2 查询空机位,11,学 海 无 涯,3 预订系统,4 取消预订,12,学 海 无 涯,5 查询所预订机位,13,学 海 无 涯,6 排队系统,7 等机者列表,14,学 海 无 涯,8 退出系统,六设计小结,15,这套程序应用起来并不是很方便,总的说来,大致上实现了题目的要求,各个功能有相应的 代号来直接调用,对于初次进入主函数页面的使用者来说,显得不大好用。不过用熟之后, 都不是问题。对策:对

13、于 c 语言编出的程序来说,使用方法大致上都是一样的,所以想做改 进只能从程序方面入手,尽量把指令编的简单明了,方便易用。本人对这一程序还是相当满 意的,想弄的更好的话可以尝试一下用其他编辑程序来完成。 短短的一个星期的上机实习结束了。复习理论知识、编程、调试、改错,直至存盘,同样的 环节、同样的工作步骤,重复又重复,枯燥而乏味;看似简单的程序题,编写后调试却屡屡 出错。如何改如何错,怎么编写怎么调试失败,心烦而意乱。但奇怪的是,越是如此,我越 是不甘失败。不断地调试,反复地编写。一旦在黑屏幕的左下角意外地发现所输出的信息正 是自己意想中的结果,那份惊喜,那份满足感,真是令人难以形容。好比幼儿

14、经过长时间堆 积不断倒塌的积木后,终于垒起了一座“大楼”。那份心底里的成就感,可以让你顿时忘记 了所有的烦躁,因为那一切付出都是值得的。 在实习的过程中,我得到的不仅仅是将理论与实践结合在一起的技巧与方法,而更可贵的是 做事情的态度缓和懂得与人相处的重要性。上学期在学习 C 语言程序设计理论时,总觉得 这一切都太简单了,原来什神秘的 IT 领域是那么的简单易懂,只要掌握了其中的方法,上 机并不成问题。结果却是大大出乎我的意料。编写的程序从理论上来说并未出错,但一到上 机调试时却无法运行;即算是课本的问题原封不动地照搬,也可能回得到截然不同的结 果这让我对于毛泽东同志所提倡的做事态度“解放思想,实事求是”顿时有了一种清晰,16,学 海 无 涯 的认识。正因为编程的困难与复杂,同学间的合作与互助就显得尤为有效。对于同一道程序 题,合作互助让我们掌握更多种方法;对于复杂乏味的调试,合作互助让我们更容易找到错 误所在,从而提高编程效率。合作互助更增进了同学之间(不管之前认识与否)的感情与友 谊,拉近了彼此的距离。 在这次实习过程中,我尤其要感谢刘远兴老师对我的悉心指导和耐心讲解。他

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号