ImageVerifierCode 换一换
格式:PDF , 页数:23 ,大小:625.67KB ,
资源ID:4312472      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4312472.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(机房机位预约模拟管理系统设计.pdf)为本站上传会员【人****来】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

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

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

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

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

4、定模块取消模块查询空位模块查询预订机模块5三详细设计三详细设计 主函数比较简洁,只提供输入、功能处理和输出部分的函数调用。显示一系列功能选择输入 n,判断 m 是否是 0 到 6?根据 n 值调用各功能模块函数结束N开始#include#include#include 6#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 xinxiint jihao;char xuehao20;struct xi

5、nxi*next;/*结构函数包含学生信息:机位,学号,还有下名学生信息*/struct cellint RS;/*RS 表示总人数*/struct xinxi*first;/*第一个预订者记录*/struct xinxi*middle;/*等待队列列表*/struct xinxi*last;/*最后预订者记录*/DUILEISJD;/*学生时间(SJD)段顺序:人数,第一名学生,排队的学生,最后一名学生*/预定模块开始输入预定时间判断时间属于 820 oclock 与空机位输入学号预定成功,排队成功结束iongyudinN选择排队/*预定模块*/void yuding()7int n;cha

6、r m20;/*学号*/struct xinxi*R;struct xinxi*p;printf(输入想要预定的时间n);scanf(%d,&n);if(n=8&n20)n=D(n);/*将输入的时间划分时间段*/if(DUILEIn.RSjihao=1;strcpy(R-xuehao,m);/*将输入的学号复制到 R-xuehao*/R-next=NULL;DUILEIn.first=R;DUILEIn.last=R;DUILEIn.RS+;printf(成功预定n);else R=(struct xinxi*)malloc(sizeof(struct xinxi);strcpy(R-xue

7、hao,m);/*将输入的学号复制到 R-xuehao*/R-next=NULL;p=DUILEIn.last;/*将最后预订记录赋值给 p*/R-jihao=DUILEIn.RS+1;printf(%d,R-jihao);/*表示该时间段第几位预订*/DUILEIn.last=R;/*将当前的记录做为最后记录以便形成链表形式指向下一个*/p-next=R;DUILEIn.RS+;/*记录人数*/printf(预定成功n);else printf(没有空余机位!n);else printf(错误.请输入 819,再次输入.n);取消8查询模块开始输入查询序号或查询时间判断是否预定,是否有空余机

8、位?显示数据结束N/*查询空位*/void chaxunkongwei()int n;printf(输入想要查询的时间(819 点,包括 8 点)n);scanf(%d,&n);if(n=8&n20)n=D(n);if(DUILEIn.RS=8&nnext!=NULL;R=R-next)/*从第一名学生开始查询直到找到符合的学号,以便确认是否预订*/if(strcmp(R-xuehao,m)=0)break;if(R-jihao!=0)/*已预订,输出相应的信息*/printf(你的机位是%dn,R-jihao);else printf(对不起.你依旧在等待列表中或者没有预定);else pr

9、intf(错误,请再次输入.n);/*排队系统模块*/void paiduixitong()int n;char m20;struct xinxi*R;struct xinxi*p;printf(请输入想要排队的时间n);scanf(%d,&n);if(n=8&n=Z)/*该时间段没有空位机,需要预订等待*/printf(请输入你的学号n);scanf(%s,m);if(DUILEIn.RS)=Z)R=(struct xinxi*)malloc(sizeof(struct xinxi);strcpy(R-xuehao,m);R-next=NULL;R-jihao=0;p=DUILEIn.las

10、t;DUILEIn.last=R;p-next=R;DUILEIn.middle=R;/*等待预订列表*/DUILEIn.RS+;printf(成功排队n);/*将刚输入学生信息拍到最后一名后,成最后一名*/else10 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;DUILEIn.RS+;printf(成功排队n);else printf(有空余机位,无须等待n);else printf(错

11、误.再次输入.n);取消模块 开始输入预定时间 判断是否预定与排队成功取消预定结束N/*取消预订模块*/void cancel()11int n;int i;char m20;struct xinxi*R;struct xinxi*q;struct xinxi*p;printf(请输入预定的时间n);scanf(%d,&n);if(n=8&nnext,i+)/*查找符合信息*/if(strcmp(R-xuehao,m)=0)break;if(iZ)/*iz 表示在等待列表中*/if(R-next=NULL)q-next=NULL;DUILEIn.last=q;free(R);DUILEIn.R

12、S-;printf(取消成功!n);/*如果是排在 20 名后,且是最后一名*/else q-next=R-next;free(R);DUILEIn.RS-;printf(取消成功!n);/*如果排在 20 名后,但不是最后*/else/*正在上机者取消预订*/if(DUILEIn.RSZ)DUILEIn.middle-jihao=R-jihao;DUILEIn.middle=DUILEIn.middle-next;/*如果排在 20 名内,但总人数(包括等待列表人数)大于 20*/if(i=1)DUILEIn.first=R-next;else q-next=R-next;free(R);1

13、2DUILEIn.RS-;printf(成功取消预定!n);else printf(错误,请再次输入.n);四用户使用说明四用户使用说明点击运行进入主菜单函数,然后按数字键选择所需要的服务。1 查询空机位。2 预订系统 3取消预订,取消已预订机位 4 查询所预订机位 5 排队系统,查看所需上机时间排队情况 6等机者列表,查询其他等待者的预定时间 0 退出系统五测试结果五测试结果1 主界面函数132 查询空机位3 预订系统144 取消预订5 查询所预订机位156 排队系统7 等机者列表168 退出系统六设计小结六设计小结这套程序应用起来并不是很方便,总的说来,大致上实现了题目的要求,各个功能有相

14、应的代号来直接调用,对于初次进入主函数页面的使用者来说,显得不大好用。不过用熟之后,都不是问题。对策:对于 c 语言编出的程序来说,使用方法大致上都是一样的,所以想做改进只能从程序方面入手,尽量把指令编的简单明了,方便易用。本人对这一程序还是相当满意的,想弄的更好的话可以尝试一下用其他编辑程序来完成。短短的一个星期的上机实习结束了。复习理论知识、编程、调试、改错,直至存盘,同样的环节、同样的工作步骤,重复又重复,枯燥而乏味;看似简单的程序题,编写后调试却屡屡出错。如何改如何错,怎么编写怎么调试失败,心烦而意乱。但奇怪的是,越是如此,我越是不甘失败。不断地调试,反复地编写。一旦在黑屏幕的左下角意

15、外地发现所输出的信息正是自己意想中的结果,那份惊喜,那份满足感,真是令人难以形容。好比幼儿经过长时间堆积不断倒塌的积木后,终于垒起了一座“大楼”。那份心底里的成就感,可以让你顿时忘记了所有的烦躁,因为那一切付出都是值得的。在实习的过程中,我得到的不仅仅是将理论与实践结合在一起的技巧与方法,而更可贵的是做事情的态度缓和懂得与人相处的重要性。上学期在学习 C 语言程序设计理论时,总觉17得这一切都太简单了,原来什神秘的 IT 领域是那么的简单易懂,只要掌握了其中的方法,上机并不成问题。结果却是大大出乎我的意料。编写的程序从理论上来说并未出错,但一到上机调试时却无法运行;即算是课本的问题原封不动地照

16、搬,也可能回得到截然不同的结果这让我对于毛泽东同志所提倡的做事态度“解放思想,实事求是”顿时有了一种清晰的认识。正因为编程的困难与复杂,同学间的合作与互助就显得尤为有效。对于同一道程序题,合作互助让我们掌握更多种方法;对于复杂乏味的调试,合作互助让我们更容易找到错误所在,从而提高编程效率。合作互助更增进了同学之间(不管之前认识与否)的感情与友谊,拉近了彼此的距离。在这次实习过程中,我尤其要感谢刘远兴老师对我的悉心指导和耐心讲解。他扎实的计算机基础知识和熟练的上机技巧,及通俗易懂的讲解,都让我受益匪浅。更令我高兴的是,对于以前一些基本的、经常出现的,但又无法理解的计算机问题,经过刘老师的指点,顿

17、时茅塞顿开。真心希望学校以后还有更的多上机实习机会。七参考文献七参考文献1谭浩强.C 程序设计(第二版).北京:清华大学出版社,19992刘瑞挺.计算机二级教程.南开大学出版社,19963陈朔鹰等.C 语言程序设计基础教程.兵器工业出版社,19944姜仲秋等.C 语言程序设计.南京大学出版社,1998八附录(源程序)八附录(源程序)#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 时间段*/#def

18、ine NULL 0 struct xinxiint jihao;char xuehao20;struct xinxi*next;/*结构函数包含学生信息:机位,学号,还有下名学生信息*/struct cell18int RS;/*RS 表示总人数*/struct xinxi*first;/*第一个预订者记录*/struct xinxi*middle;/*等待队列列表*/struct xinxi*last;/*最后预订者记录*/DUILEISJD;/*学生时间(SJD)段顺序:人数,第一名学生,排队的学生,最后一名学生*/*预定模块*/void yuding()int n;char m20;/

19、学号*/struct xinxi*R;struct xinxi*p;printf(输入想要预定的时间n);scanf(%d,&n);if(n=8&n20)n=D(n);/*将输入的时间划分时间段*/if(DUILEIn.RSjihao=1;strcpy(R-xuehao,m);/*将输入的学号复制到 R-xuehao*/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);

20、/*将输入的学号复制到 R-xuehao*/R-next=NULL;p=DUILEIn.last;/*将最后预订记录赋值给 p*/R-jihao=DUILEIn.RS+1;printf(%d,R-jihao);/*表示该时间段第几位预订*/DUILEIn.last=R;/*将当前的记录做为最后记录以便形成链表形式指向下一个*/p-next=R;19 DUILEIn.RS+;/*记录人数*/printf(预定成功n);else printf(没有空余机位!n);else printf(错误.请输入 819,再次输入.n);/*查询空位模块*/void chaxunkongwei()int n;p

21、rintf(输入想要查询的时间(819 点,包括 8 点)n);scanf(%d,&n);if(n=8&n20)n=D(n);if(DUILEIn.RS=8&nnext!=NULL;R=R-next)/*从第一名学生开始查询直到找到符合的学号,以便确认是否预订*/if(strcmp(R-xuehao,m)=0)break;20if(R-jihao!=0)/*已预订,输出相应的信息*/printf(你的机位是%dn,R-jihao);else printf(对不起.你依旧在等待列表中或者没有预定);else printf(错误,请再次输入.n);/*排队系统模块*/void paiduixito

22、ng()int n;char m20;struct xinxi*R;struct xinxi*p;printf(请输入想要排队的时间n);scanf(%d,&n);if(n=8&n=Z)/*该时间段没有空位机,需要预订等待*/printf(请输入你的学号n);scanf(%s,m);if(DUILEIn.RS)=Z)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;DUILEIn.middle=R

23、/*等待预订列表*/DUILEIn.RS+;printf(成功排队n);/*将刚输入学生信息拍到最后一名后,成最后一名*/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;21DUILEIn.RS+;printf(成功排队n);else printf(有空余机位,无须等待n);else printf(错误.再次输入.n);/*取消预订模块*/void cancel()int n;int

24、 i;char m20;struct xinxi*R;struct xinxi*q;struct xinxi*p;printf(请输入预定的时间n);scanf(%d,&n);if(n=8&nnext,i+)/*查找符合信息*/if(strcmp(R-xuehao,m)=0)break;if(iZ)/*iz 表示在等待列表中*/if(R-next=NULL)q-next=NULL;DUILEIn.last=q;free(R);DUILEIn.RS-;printf(取消成功!n);/*如果是排在 20 名后,且是最后一名*/else q-next=R-next;free(R);DUILEIn.R

25、S-;printf(取消成功!n);/*如果排在 20 名后,但不是最后*/22 else /*正在上机者取消预订*/if(DUILEIn.RSZ)DUILEIn.middle-jihao=R-jihao;DUILEIn.middle=DUILEIn.middle-next;/*如果排在 20 名内,但总人数(包括等待列表人数)大于 20*/if(i=1)DUILEIn.first=R-next;else q-next=R-next;free(R);DUILEIn.RS-;printf(成功取消预定!n);else printf(错误,请再次输入.n);/*待机者列表模块*/void daij

26、izheliebiao()int n;struct xinxi*q;printf(查询其他等待者的预定时间n);scanf(%d,&n);if(n=8&nZ)/*表示有等待上机者*/printf(等待列表:n);q=DUILEIn.middle;for(;q-next!=NULL;q=q-next)printf(%sn,q-xuehao);/*逐个输出等待列表者信息*/printf(%sn,DUILEIn.last-xuehao);else printf(这个时间段没有预定者n);else printf(错误。请再次输入.n);int main()int i;for(i=0;iSJD;i+)D

27、UILEIi.RS=0;23DUILEIi.first=NULL;DUILEIi.middle=NULL;DUILEIi.last=NULL;while(1)printf(*n);printf(*机房机位预定系统 *n);printf(*n);printf(*1 查询空机位 2 预定系统 *n);printf(*3 取消预定 4 查询所预定机位 *n);printf(*5 排队系统 6 等机者列表 *n);printf(*0 退出系统 *n);printf(*n);printf(*请输入序号(0-6):*n);printf(*n);printf(请输入序号!:n);scanf(%d,&i);switch(i)case 1:chaxunkongwei();break;case 2:yuding();break;case 3:cancel();break;case 4:chaxunyuding();break;case 5:paiduixitong();break;case 6:daijizheliebiao();break;case 0:exit(0);default:printf(错误n);return 0;

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服