机房机位预订系统.pdf
《机房机位预订系统.pdf》由会员分享,可在线阅读,更多相关《机房机位预订系统.pdf(43页珍藏版)》请在咨信网上搜索。
1、1一、课程设计的目的1)学习综合运用 C 高级语言课程和其他先修课程的知识,提高分析和解决实际问题的的能力,进一步巩固、加深和拓宽所学的知识;进一步加强结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解。2)全面系统的学习面向对象程序设计的基本概念、基本语法和编程方法;独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。3)掌握程序设计中的常用算法和 C 语言的编程技巧和上机调试程序的方法。4)在参与一系列子项目的实践过程中,提高如何综合运用所学知识解决实际问题的能力,以及获得相关项目管理和团队合作等众多方面的具体经验。2、课程设计任务和内容按照如下要求,运用 C+语言
2、,编写一套可用的较为完善的机房机位预订系统软件(一人独自完成),要求系统所应具有的功能如下:1)可以进行机位预订操作,每 2 小时 1 个时段,每次可预订一个时段,时间是从早上 8 点到晚上 8 点,用户可自行输入要预订的时间,如果该时间已排满,则将该用户加入到等待队伍中。2)可以进行机位退订操作,输入用户信息及预定的时段信息,取消该用户该时段的预订。3)可以进行查询操作,可以查询机位当前的使用情况,可以查询排在等待队伍中的机位的等待信息。3、系统设计方案3.1 系统详细描述23.1.1 系统设计背景 这个系统主要针对学校机房上机管理所用,学校机房人流量很大,而且上机时间密集,如果不妥善处理上
3、机数据很可能造成上机时间混乱,甚至有可能导致数据丢失以至于整个机房瘫痪无法正常进行上机操作,因此,开发一个合理、安全的机房机位预订系统十分贴合学校内师生需要。本项目作为c+课程设计课程的训练项目提出,目的是为了提高同学们系统的开发,则提高大家的实践能力。所以开发一个符合自身宾馆实际情况的工作平台是十分必要的。3.1.2 系统设计详细信息该系统是为学校机房所用,认定学校机房共有 3 层,这 3 层共有 15 个机房,分别是 101-105,201-205,301-305,每个机房中有 40 台电脑,其中 101-105 和 201-205 这 10 个机房是专供教师上课所用,301-305 是供
4、学生自由上机所用。可以进行预订操作,预订从早上 8 点到晚上 8 点,两小时一个时段,每次可预订一个时段,预订分为教师预订和自由预订,教师预订一次性预订一个机房的时间,自由预订学生可以任意选择想要的时间和又空位的机房号和机位号进行预订,如果预订的时间没有空闲的机位和机房,则会提示用户是否将其排入等待队伍中,用户可根据需要行选择。可进行退订操作,退订分为自由退订和教师退订两个部分,其中自由退订要求学生输入自己的学号进行退订操作,而教师退订会要求输入教师预定的时间,系统会自动显示出该时间所有的预订信息,教师可以根据编号自己选择,进行相应的退订操作,在这两部分的退订操作过程中,都需要输入退订密码,这
5、个退订密码在预订时根据用户需要自行输入。可进行查询操作,在查询操作中,有机位信息查询和等待信息查询这两个部分组成,机位信息查询可根据用户输入几号机房几号机位来查看该机位当前的使用情况,而等待信息查询则是显示出当前排在等待队伍中的所有的等待信息,在这两部分的操作中,用户可直接跳转到退订系统中进行退订,方便用户在查询完相应的机位信息后进行退订操作。此外,为了保证程序可以实时执行操作,调用了系统时间并对成员函数进行实3时的时间对比操作,以保证在程序运行期间相应的功能能够实现,防止出现与时间脱节的运行状态。3.2 功能模块划分3.2.1 功能模块描述根据任务的要求,该系统为了实现上述的各种操作和功能,
6、可大致分为四个部分,预订部分、退订部分、查询部分和退出部分。为了简化前台人员操作步骤并提高其工作效率,全局显示了系统当前时间,在相应的地方做了相应的提示操作,界面也做了相应的美化,以方便工作人员的操作。功能模块结构见图 3.1。将系统主要分为以下四大功能模块:1)预订系统:包括教师预订和自由预订两个部分,可进行机房或者机位的预订操作,没有空闲机位的情况下会进行等待的提示。2)退订系统:包括教师退订和自由退订两个部分,可进行机房或者机位的退订操作。3)查询系统:可进行查询操作,包括机位查询和等待信息查询两个部分,可查询当前几位状态和正在等待信息。4)退出系统:进行系统数据的存储操作。图 3.1
7、功能模块结构图退订系统预订系统查询系统 退出机房机位预订系统教师预订自由预订教师退订自由退订机位查询等待查询43.2.2 输入项以下输入项均为键盘输入:Ifanghao 用来存储机房号 intjiweihao 用来存储机位号 intshiyong3113 用来记录特定时段是否正在使用 int 整型数组yuding3113 用来记录特定时段是否已被于东 int 整型数组waiting3113 用来记录特定时段是否排入等待队伍 int 整型数组xuehao3113 用来记录被预订的机位的学生的学号 int 整型数组mima3113 用来记录特定时段预订的预订密码 int 整型数组name3113
8、用来记录特定时段预订的教师的姓名 string3.2.3 输出项机房号 int机位号 int使用情况 int 整型数组预订情况 int 整型数组等待情况 int 整型数组预订学生学号 int 整型数组退订密码 int(仅输出至文件)整型数组预订教师姓名 string4、系统实现与测试4.1 主菜单模块实现4.1.1 主菜单流程图5图 4.1 主菜单流程图4.1.2 主菜单代码void menu()shuaxin();/进行机位刷新操作system(cls);/进行清屏操作int i;cout*机房机位预订*endlendlendlendl;time_t t=time(NULL);tm*pt=l
9、ocaltime(&t);showtime(pt);coutendlendlendl1.预订endl2.退订endl3.查询endlYYYNN开始输入 i 进行操作i=1i=2i=3i=4预订系统退订系统查询系统退出系统NYN结束64.退出endlendlendlendlendli;if(i=1)yuding();else if(i=2)tuiding();else if(i=3)chaxun();else if(i=4)chucun();else cout你的输入有误,请重新输入!endl请输入编号进入:;4.1.3 主菜单测试主界面中显示机房机位预订系统功能模块如图 4.2 所示:4.2
10、预订系统模块实现4.2.1 预订系统流程图图 4.2 主菜单7预订系统的流程图如下图所示:输输入入i i开开始始i i=1 1i i=2 2i i=3 3N NN NY YN N调调用用教教师师预预订订函函数数调调用用自自由由预预订订函函数数调调用用主主菜菜单单函函数数结结束束输输入入要要预预订订的的时时间间、机机房房、姓姓名名、退退订订密密码码输输入入要要预预订订的的时时间间、机机房房、机机位位、学学号号、退退订订密密码码是是否否继继续续预预订订N NY YY YY Y图图4 4.3 3 预预订订系系统统流流程程图图预预订订成成功功!84.2.2 预订系统代码void yuding()/预订
11、系统的总菜单shuaxin();/进行机位信息的刷新system(cls);/进行清屏操作int i;cout*预订*endlendlendlendl;time_t t=time(NULL);tm*pt=localtime(&t);showtime(pt);coutendlendlendl1.教师预订endl2.自由预订endl3.返回主菜单endlendlendlendlendli;if(i=1)system(cls),jiaoshiyuding();elseif(i=2)system(cls),ziyouyuding();elseif(i=3)system(cls),menu();else
12、 cout你的输入有误,请重新输入!endl请输入编号进入:;void jiaoshiyuding()/教师预订shuaxin();/进行机位信息的刷新L1:system(cls);/进行清屏操作int i=0,j=0,k=0,l=0,day,shijian,jifanghao,mima,xuanze;string name;cout*教师预订*endlendlendlendl;time_t t=time(NULL);tm*pt=localtime(&t);showtime(pt);coutendlendlendldayshijian;9day-=1;shijian-=8;for(i=0;i1
13、0;i+)if(computeri1.yudingdayshijian=0&computeri1.waitingdayshijian=0)coutcomputeri0.jifanghao 空闲endl,l+=1;if(l!=0)coutjifanghao;if(jifanghao=1)menu();else if(jifanghao200)jifanghao=jifanghao-201;else jifanghao=jifanghao-101;coutname;coutmima;for(j=0;j40;j+)for(l=0;l2;l+)computerjifanghaoj.yudingdays
14、hijian+l=1;computerjifanghaoj.namedayshijian+l=name;computerjifanghaoj.mimadayshijian+l=mima;coutendl预订成功!endlendl;else cout当前输入的时间内没有空闲的机房!endl1.加入最近的等待队伍endl2.重新输入时间查看endlxuanze;if(xuanze=1)paidengdai(day,shijian,1);else if(xuanze=2)goto L1;cout1.继续预订endl2.返回主菜单endl请输入编号进入xuanze;if(xuanze=1)goto L
15、1;else if(xuanze=2)menu();else cout您的输入有误,请重新输入:;自由预订系统与教师预订类似,在此省略,完整代码见附录。4.2.3 预订系统测试在主菜单运行预订系统后,会显示出图 4.4 所示的界面。输入 1 进入教师预订中,将会显示如图 4.5 所示的界面。图 4.4 预订系统总界面11按要求输入所需的信息后,会提示预订成功的界面,如图 4.6 所示。图 4.6 教师预订输入后界面图 4.5 教师预订输入前界面12如果选择 2 进入自由预订,将会显示如下图所示的界面:在自由预订中输入所需要的信息后,会提示预订成功,如图 4.8 所示。图 4.7 自由预订输入前
16、界面图 4.8 自由预订输入后界面134.3 退订系统模块实现4.3.1 退订系统流程图输输入入i i开开始始i i=1 1i i=2 2i i=3 3N NN NY YN N调调用用教教师师退退订订函函数数调调用用自自由由退退订订函函数数调调用用主主菜菜单单函函数数结结束束输输入入要要退退订订的的时时间间、编编号号、退退订订密密码码输输入入要要退退订订的的学学生生的的学学号号、退退订订密密码码是是否否继继续续退退订订N NY YY YY Y图图4 4.9 9 退退订订系系统统流流程程图图退退订订成成功功!144.3.2 退订系统代码void tuiding()/退订总菜单shuaxin();
17、/对当前机位信息进行刷新system(cls);/进行清屏操作int i;cout*退订*endlendlendlendl;time_t t=time(NULL);tm*pt=localtime(&t);showtime(pt);coutendlendlendl1.教师退订endl2.自由退订endl3.返回主菜单endlendlendlendlendli;if(i=1)system(cls),jiaoshituiding();elseif(i=2)system(cls),ziyoutuiding();elseif(i=3)system(cls),menu();else cout你的输入有误,
18、请重新输入!endl请输入编号进入:;void jiaoshituiding()/教师退订shuaxin();/刷新当前机位信息system(cls);/进行清屏操作int a,b,day,mima,xuanze;int x12;int i=0,j=0,k=0,n=0;L6:cout*教师退订*endlendlendlendl;time_t t=time(NULL);tm*pt=localtime(&t);showtime(pt);coutendlendlendla;if(a=300)cout输入有误,请重新输入:;goto L1;coutday;day-=1;if(day31)cout输入有
19、误,请重新输入:;goto L2;L4:for(i=0;i10;i+)if(computeri1.jifanghao=a)for(j=0,k=0;j13;j+)if(computeri1.waitingdayj=1|computeri1.yudingdayj=1)xk=j;coutk+puterij.namedayj computerij.jifanghao 预定时间:j+8endl,j+=1,n+=1,k+=1;break;if(n=0)cout该机房没有预订信息endlendl;goto L5;coutb;if(bk)cout您的输入有误,请重新输入:;elseb-=1;L3:coutmi
20、ma;if(computerij.mimadayxb=mima)for(j=0;j40;j+)for(int l=0;l2;l+)computerij.mimadayxb+l=0;computerij.namedayxb+l=0;computerij.yudingdayxb+l=0;computerij.waitingdayxb+l=0;16cout退订成功!endl;goto L5;else cout您输入的密码有误!;cout1.重新输入endl2.重新选择endl3.返回主菜单endlxuanze;if(xuanze=1)system(cls);goto L3;else if(xuanz
21、e=2)system(cls);goto L4;else if(xuanze=3)menu();else cout您的输入有误,请重新输入:;L5:cout1.继续退订endl2.返回主菜单endlxuanze;if(xuanze=1)system(cls);goto L6;else if(xuanze=2)menu();else cout您的输入有误,请重新输入:;自由退订代码与教师退订类似,在此省略,完整代码请见附录。4.3.3 退订系统测试 由主界面进入退订系统后,会显示下图所示的界面:17选择 1 进入教师退订后,会要求输入相应信息,图 4.11 所示。输入信息并成功退订后,会提示成功
22、,如图 4.12 所示。图 4.10 退订系统总菜单界面图 4.11 教师退订输入前界面图 4.12 教师退订输入后界面18如果选择 2 进入自由退订,会显示图 4.13 所示的界面。按要求输入信息并成功退订后,会提示退订成功,如图 4.14 所示。图 4.13 自由退订输入前界面图 4.14 自由退订输入后界面194.4 查询系统实现4.4.1 查询系统流程图输输入入i i开开始始i i=1 1i i=2 2i i=3 3N NN NY YN N调调用用机机位位信信息息查查询询函函数数调调用用等等待待信信息息查查询询函函数数调调用用主主菜菜单单函函数数结结束束输输入入要要查查询询的的机机房房
23、号号和和机机位位号号显显示示当当前前的的等等待待信信息息是是否否显显示示等等待待信信息息Y YY YY Y图图4 4.1 15 5 查查询询系系统统流流程程图图显显示示机机位位当当前前使使用用情情况况N N是是否否继继续续查查询询Y YN N204.4.2 查询系统代码void chaxun()/查询系统总菜单shuaxin();/刷新当前机位信息system(cls);/进行清屏操作int i=0;cout*查询*endlendlendlendl;time_t t=time(NULL);tm*pt=localtime(&t);showtime(pt);coutendlendlendl1.查询
24、机位信息endl2.查询等待信息endl3.返回主菜单endlendlendlendli;if(i=1)system(cls),jiweichaxun();elseif(i=2)system(cls),dengdaichaxun();elseif(i=3)system(cls),menu();else cout你的输入有误,请重新输入!endl请输入编号进入:;void jiweichaxun()/机位信息查询shuaxin();/刷新当前机位信息system(cls);/进行清屏操作int a,b;int i=0,j=0;L1:cout*机位查询*endlendlendlendl;time_
25、t t=time(NULL);tm*pt=localtime(&t);showtime(pt);coutendlendlendlab;for(i=0;i15;i+)21if(computerij.jifanghao=a)for(j=0;jtm_mday-1;int hour=pt-tm_hour-8;if(computerij.shiyongdayhour=1)coutendl该机位现在正在使用。endl;i+=100;break;else coutendl该机位现在空闲。endl;i+=100;break;else continue;else if(i=14)cout输入有误,没有该机位,请
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机房 机位 预订 系统
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。