机房机位预订系统
- 格式:doc
- 大小:814.11 KB
- 文档页数:42
软件工程课程设计机票预定系统1. 系统简介机票预定系统是一款基于网络的应用程序,旨在帮助用户方便、快捷地预订机票。
该系统根据用户输入的信息,自动搜索相应的航班信息并进行比较,计算最优的价格方案。
用户可以在系统中查询航班信息、选择座位、进行支付等操作。
2. 项目需求(1)用户管理:实现用户注册、登录、信息修改等功能。
(2)航班信息管理:实现航班信息的录入、修改、查询、删除等功能。
(3)机票预订功能:实现用户选择航班、选座、支付等功能。
(4)管理员管理:实现管理员登录、审核机票信息、统计数据等功能。
(5)安全性:确保用户信息和交易安全。
3. 项目架构基于Java EE技术,使用Struts2框架、Spring框架和Hibernate框架实现。
(1)Struts2框架负责控制器部分,接受用户请求并处理。
(2)Spring框架负责业务逻辑部分,完成业务逻辑的处理及事务管理。
(3)Hibernate框架负责数据访问部分,完成持久化操作。
4. 系统设计(1)用户管理用户登录:用户输入用户名和密码,服务器验证用户信息,验证通过则跳转至主页面;验证失败则提示用户重新登录。
用户注册:用户输入用户名、密码和邮箱地址,服务器验证用户信息重复性,通过验证后储存用户信息。
用户信息修改:用户登录后可修改个人密码和邮箱地址。
(2)航班信息管理航班信息录入:管理员可以录入航班信息,包括航班号、出发地、目的地、起飞时间、降落时间、航班状态和票价等。
航班信息查询:用户可以在主页面上查询航班信息,也可以根据条件查询。
(3)机票预订功能机票预订:用户选择航班、座位和数量后进行支付。
机票支付:用户可以通过银行卡、支付宝等方式进行支付。
(4)管理员管理管理员登录:管理员输入用户名、密码进行登录。
机票信息审核:管理员负责审核和更新机票信息,并进行统计。
5. 系统测试(1)功能测试:对各项功能进行测试,确保每个功能都符合设计要求。
(2)兼容性测试:对不同型号和版本的浏览器进行测试,确保用户在使用该系统时不会出现兼容性问题。
销售人员机上座位预订系统机上座位预订系统(USAS ASR)使旅客在订票的同时,能够预先订好其在飞机上的座位类型(是否靠窗、是否前排等),甚至是具体座位号。
订座营业员运用ASR指令预定座位号,并把数据储存在旅客的PNR中,这些数据被传到离港系统的PNL报中,离港系统营业员将旅客接收到预定好的座位上。
一、机上座位预订的使用和限制1、航班:带有“ ^ ”标识的SC航班2、机型:B733、B737、B738的经济舱3、预订责任单位:山航各直属售票处、各正式代理人4、舱位限制:5折(含)以上票价的经济舱5、散客可以提前预订座位号,团队不能提前预订6、航班预订时限:机上座位预订功能不能预订当日航班,定座系统显示:SEATRESEVATION TOO LATE7、座位预留时限:已预订的座位号保留至航班起飞前35(含)分钟8、旅客误机、自愿变更航班,原定妥的座位取消9、座位预订开放范围:B733、B737、B738:第6排至第10排注:因影响到飞机的配载平衡,第1至5排的座位号不能提前预订二、ASR航班销售流程1、用AV指令查航班,ASR航班在AV显示的时候有一个“ ^ ”标识;2、为旅客建立基础PNR信息,必须包括姓名组、航段组,且所订航班必须是ASR航班;3、使用ADM指令,查看该ASR航班的座位图;4、使用ASR指令对ADM提供的座位中标记为“*”号的座位,为旅客进行机上座位的预订;5、旅客的订座记录中会自动加入SSR SEAT项,以及营业员为旅客预订的座位号。
三、显示ASR航班(AV)格式:>AV:城市对/日期举例:>AV:TNAXIY28OCT/D输出如下:>AVTNAXIY28OCT/D28OCT(FRI) TNAXIY DIRECT ONLY1- SC4907 TNAXIY 0800 0930 737 0^S EYA SA BA HA KALA MA NA QA TS XS US ES WS RS OC ZS VS GS2 *CA4907 TNAXIY 0800 0930 737 0 S YA SS BA HA KALA MA NA QA TS XS US ES WS VS GS3+ HU7556 TNAXIY 1640 1810 DH8 0 EYA B5 H5 K5 L5M5 N5 QA TS XS US ES ZS J5 IS GS PS V5 W2 OQ SS在以上输出中,带有“ 0^S”标识的为ASR航班(SC4907)。
案例:机票预定系统一、可行性分析1 引言1。
1 编写目的:可行性研究的目的是为了对问题进行研究,以最小的代价在最短的时间内确定问题是否可解经过对此项目进行详细调查研究,初拟系统实现报告,对软件开发中将要面临的问题及其解决方案进行初步设计及合理安排。
明确开发风险及其所带来的经济效益。
本报告经审核后,交软件经理审查。
1。
2 项目背景:开发软件名称:机票预订系统.项目任务提出者:中国民航及中国国际旅游开发公司。
项目开发者:浙江大学IMK开发小组。
用户:中国民航及中国国际旅游开发公司.实现软件单位:中国国际旅游开发公司及浙江大学项目与其他软件,系统的关系:本项目采用客户机/服务器原理,客户端的程序是建立在Windows NT 系统上以Microsoft Visual C++为开发软件的应用程序,服务器端采用Linux 为操作系统的工作站,是采用Oracle 8的为开发软件的数据库服务程序.2.可行性研究的前提2。
1要求主要功能:为游客提供机票预定服务,方便旅游局的售票工作,提高旅游局的服务质量和服务效率性能要求:机场提供的信息必须及时的反映在旅游局的工作平台上。
售票系统的定单必须无差错的存储在机场的主服务器上。
对服务器上的数据必须进行及时正确的刷新.输出要求:数据完整,详实。
输出要求:简捷,快速,实时.安全与保密要求:服务器的管理员享有对机场航班信息库及机票信息库和定票信息库的管理与修改。
售票员只享有对订票信息库的部分修改(写入与读出)。
完成期限:预计六个月,即截止2000年2月8日。
2.2目标:系统实现后,大大提高旅游局的机票预定服务效率。
降低售票服务中的错误发生率,减少信息交流的烦琐过程及其带来的开销.2.3条件,假定和限制建议软件寿命:5年。
经费来源:中国国际旅游开发公司。
硬件条件:服务器sun工作站,终端为pc机。
运行环境:Linux数据库:Oracle8投入运行最迟时间:2000/04/042.4可行性研究方法2.5决定可行性的主要因素成本/效益分析结果,效益〉成本.技术可行,现有技术可完全承担开发任务。
1 设计目的机房机位预定系统2 任务概述20台机器,编号1到20,从早八点到晚八点。
两小时一个时间段,每次可预定一个时间段。
功能要求:(1)系统以菜单方式工作(2)查询,根据输入时间,输出机位信息。
(3)机位预定,根据输入的时间查询是否有空机位,若有则预约,若无则提供最近的时间段,另:若用户在非空时间上机,则将用户信息列入等待列表。
(4)退出预定,根据输入的时间,机器号撤销该事件的预定!(5)查询是否有等待信息,若有则提供最优解决方案(等待时间尽量短),若无则显示提示信息。
.........3 模块划分4 主要函数说明及其N-S图1. 主函数:int main(){Menu(); /*当前状态函数*/}void Menu() /*主界面*/{int n,w;do{puts("\t\t****************机房机位预约系统*******************\n");puts("\t\t*************************菜单***************************\n");puts("\t\t\t 1.查询某时间段机位状态"); /*查询某时间段机位状态*/puts("\t\t\t 2.预定空机位"); /*预定空机位*/puts("\t\t\t 3.取消预订"); /*取消预订*/puts("\t\t\t 4.查询等待信息"); /*查询等待信息*/puts("\t\t\t 5.退出"); /*退出*/puts("\t\t********************************************************\n");printf("选择菜单号(1-5):");scanf("%d",&n);if(n<1||n>5){w=1;getchar();}elsew=0;}while(w==1);switch(n){case 1:Situation();break;case 2:Book();break;case 3:Cancel();break;case 4:SearchWaiting();break;case 5:exit(0);break;}getch();}2.机位查询:void Situation(){int time;printf("输在(8-20)范围内的时间:");scanf("%d",&time);if(time<8||time>20){printf("\t时间输入错误!\n");printf("输入在(8-20)范围内的时间:");scanf("%d",&time);}detail(time); /*函数调用*/getchar();Menu();}3.机位预定:void Book(){int time,i=0,x,y;FILE *fp;char c;printf("在(8-20)时间范围内输入你想要预定的时间:");scanf("%d",&time);if(time<8||time>20){printf("\t时间输入错误!\n");printf("\t在(8-20)时间范围内输入你想要预定的时间:");scanf("%d",&time);}detail(time); /*函数调用*/if(sum[T]>0){ if((fp=fopen("waitlist.txt","a"))==NULL){printf("\n无法打开文件!\n");exit(0);}printf("\n\t请输入你想要预定的机号,并且留下你的电话号码!:\n");scanf("%s %s",wait[i].number,wait[i].telephonenumber);for(i=0;i<1;i++)fwrite(&wait[i],sizeof(struct waitlist),1,fp);fclose(fp);/*向文本文档添加一个结构体单元*/printf("\t再次输入你想要预定的时间!\n");scanf("%d",&x);/*sum[T]--; / *预定后该时间段空机位数减1*//*computer[T][x]=1; / *预定后该机状态变为1*/printf("\t预订成功!\n");getchar();Menu();}else{printf("这是在这个时间段内未预定的电脑!\n");for(i=T+1;i<6;i++){ time=9+2*i;detail(time); /*函数调用*/if(sum[T]>0)printf("\tThe latest free time is %d,%d\n",2*i+8,2*i+10);break;}printf("\t你想要预定吗?:y/n?");scanf("%s",&c);getchar();if(c=='Y'||c=='y'){if((fp=fopen("waitlist.txt","r"))==NULL){printf("\n无法打开文件!\n");exit(0);}else{ printf("waitlist:number telephonenumber\n");for(i=0;!feof(fp);i++){fscanf(fp,"%s %s",&wait[i].number,&wait[i].telephonenumber);}fclose(fp);}for(i=0;i<10;i++){ prione(i);}printf("\n\t请输入你想要预定的机号,并且留下你的电话号码!:\n");if((fp=fopen("waitlist.txt","a"))==NULL){printf("\n无法打开文件!\n");exit(0);}scanf("%s %s",wait[i].number,wait[i].telephonenumber);for(i=0;i<1;i++)fwrite(&wait[i],sizeof(struct waitlist),1,fp);fclose(fp); /*若等待,就用文件的方式列出当时的等待列表并提示输入你的等待序号和联系方式*/printf("再次输入电脑的序号!\n");scanf("%d",&y);sum[T]--;computer[T][y]=1;printf("\t好了,请等待我们的电话!\n");Menu();}else Menu();}}N4.取消预定:void Cancel(){int time,number;printf("在(8-20)时间范围内输入你已经预定的时间:");scanf("%d",&time);if(time<8||time>20){printf("\t输入时间错误!\n");printf("\t在(8-20)时间范围内输入你已经预定的时间:");scanf("%d",&time);}else{printf("\t输入你预定的机号:");scanf("%d",&number);}detail(time);/* sum[T]++; / *预定后该时间段空机位数加1*//*computer[T][number]=0; / *预定后该机状态变为0*/printf("\t取消成功!\n");getchar();Menu();}5.查询等待信息:void SearchWaiting(){int time,i;FILE *fp;printf("\tInput time you want to search between(8-20):");scanf("%d",&time);if(time<8||time>20){printf("\tWrong time!\n");printf("\tInput time you want to search between(8-20):");scanf("%d",&time);}else;if((fp=fopen("waitlist.txt","r"))==NULL){printf("\nCannot open file!\n");exit(0);}else{ printf("waitlist:number telephonenumber\n");for(i=0;!feof(fp);i++){fscanf(fp,"%s %s",&wait[i].number,&wait[i].telephonenumber);}fclose(fp);}for(i=0;i<10;i++){ prione(i);}Menu();}5 程序运行数据及其结果1.主菜单:2.机位查询:3.机位预定:4.查询等待信息:6 课程设计心得课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在生活中可以说得是无处不在。
机房预约系统课程设计报告Last updated on the afternoon of January 3, 2021课程设计(论文)任务书软件学院软件+ 信控专业 1 班一、课程设计(论文)题目机房机位预约模拟系统的设计与实现二、课程设计(论文)工作自 2017 年 1月 2日起至2017 年 1月6 日止。
三、课程设计(论文) 地点: 南区创新大楼东楼406四、课程设计(论文)内容要求:1.课程设计的目的《数据结构》课程设计是计算机科学与技术专业集中实践性环节之一,是学习完《数据结构》课程后进行的一次全面的综合练习。
目的是要达到理论与实际应用相结合,使学生能够根据数据对象的特性,学会数据组织的方法,能把现实世界中的实际问题在计算机内部表示出来,并培养良好的程序设计技能。
要求能从实际应用问题出发,合理地选择数据结构,设计相应的数据处理算法,并对算法进行必要的分析;合理选择编程工具,实现数据的物理结构和相应的数据处理算法;对算法进行调试和测试,并对调试及测试结果进行分析;针对数据结构及算法的设计、调试及测试过程认真写出设计分析报告。
2.课程设计的要求及任务(1)基本要求1)初步掌握软件开发过程的问题分析、系统设计、程序编码、调试等基本方法和技能。
2)要求从问题需求入手,完成系统的分析与设计,独立完成系统的数据和功能分析,应用《数据结构》知识,设计抽象数据类型、构思算法、完成系统的设计。
3)结合《数据结构》理论知识,编写程序求解指定问题,程序设计语言推荐使用C/C++,程序书写规范,源程序需加必要的注释。
4)认真完成系统的调试与测试工作,测试数据要完备,详细记录测试结果。
5)规范撰写课程设计报告。
(2)课程设计论文撰写要求1)按照书稿的规格撰写打印课程设计论文;2)论文包括任务书、目录、绪论、正文、总结、参考文献、附录等;3)正文中要有问题描述与分析、数据结构的设计、算法的设计、算法的实现、调试分析与结果;4)课程设计论文装订按学校的统一要求完成(3)课设考核1)考勤和态度;2)任务的难易程度及设计思路;3)编码及调试能力;4)论文撰写的水平、格式的规范性。
中国民航订座系统操作手册中国民航的发展在近年来取得了长足的进步,航空业也逐渐成为人们出行的重要选择。
作为航空公司的重要一环,民航订座系统的操作十分关键。
在这里,我将为大家介绍一份中国民航订座系统的操作手册,希望能够帮助大家更好地了解和使用这一系统。
首先,在使用民航订座系统之前,我们需要了解一些基本的操作步骤。
首先,打开民航官方网站或者相关应用程序,找到订座系统入口。
其次,选择出发地和目的地城市,输入出行日期和航班时间。
接着,系统将显示符合条件的航班列表,根据自己的需求选择合适的航班。
最后,填写乘客信息并支付机票费用,完成预订。
在选择航班时,我们需要注意一些细节。
首先,要根据个人出行需求选择合适的舱位类型,如经济舱、商务舱或头等舱。
其次,要注意航班的起降时间和中转时间,确保在出行计划中留有充足的时间。
此外,还需要关注航班的准点率和航空公司的服务质量,选择信誉良好的航空公司。
在填写乘客信息时,我们需要确保信息的准确性和完整性。
首先,要填写与乘机人身份证件一致的姓名和证件号码,以确保乘机顺利。
其次,要填写联系人信息,以便紧急情况下能够及时联系到乘客。
最后,要选择座位偏好和餐食需求,提前告知航空公司,以便他们为您提供更好的服务。
在支付机票费用时,我们需要注意保护个人信息和选择安全支付方式。
首先,要选择正规渠道支付,避免使用不明来源的支付平台。
其次,要确保支付页面的安全性,避免泄露个人银行账号和密码。
最后,要保存好支付凭证和订单信息,以备日后查询和退改签。
总的来说,中国民航订座系统的操作并不复杂,只要掌握好基本步骤和注意事项,就能够轻松完成订票。
希望这份操作手册能够帮助大家更好地使用民航订座系统,享受舒适便捷的出行体验。
祝大家旅途愉快!。
酒店在线预订系统的设计与实现随着互联网的快速发展和人们出行需求的不断增加,酒店行业越来越重视在线预订系统的建设和优化。
良好的在线预订系统不仅能提高顾客体验,更能提升酒店竞争力。
本文将探讨酒店在线预订系统的设计和实现,从用户需求、系统架构、交互设计和技术实现等方面进行分析。
一、用户需求设计和开发酒店在线预订系统,首先要了解用户的需求。
用户在预订酒店时最关心的是价格、房型、位置和评价等信息。
因此,在系统设计中,应该将这些重要信息直观地呈现给用户,让用户更容易找到符合自己需求的酒店。
同时,用户在使用系统时也希望可以快速完成操作。
预订过程需要简单、直观,不应该让用户在繁琐的步骤中浪费时间。
另外,用户的私密信息如信用卡号码等要得到保护和保密,系统也要安全可靠。
二、系统架构酒店在线预订系统的架构需要考虑系统的可维护性、扩展性和性能。
在可维护性方面,系统应该具备良好的代码注释和文档,以方便后续修改和维护。
考虑到扩展性,系统应该可以方便地加入新的酒店和房型信息,或者添加新的功能模块。
最后,考虑到性能,系统需要具备高并发、高可用和低延迟的特点,以保证用户的预订体验。
三、交互设计用户在使用酒店在线预订系统时,交互体验是非常重要的。
设计良好的交互可以提升用户的使用体验,减少用户的操作难度。
在交互设计方面,可以考虑以下几个原则:1. 简化流程,减少用户操作次数。
2. 情境化设计,针对不同的用户情境设计不同的交互方式。
3. 高可见度,让用户可以很容易地找到自己需要的信息和功能。
4. 可逆性设计,提供撤销和修改操作,让用户可以纠正错误操作。
5. 提供反馈,系统需要让用户知道自己的操作是否成功,以及出现了什么问题。
四、技术实现酒店在线预订系统的技术实现需要考虑数据库、服务器、前端框架等多个方面。
在数据库方面,应该采用高性能、高可靠性的数据库服务,确保数据存储和读取的效率和正确性。
在服务器方面,需要考虑系统的伸缩性和稳定性,确保系统可以承受高并发的访问量。
设备预约管理系统设计方案摘要:本文设计了一个设备预约管理系统,旨在解决日常生活中设备预约的繁琐问题。
系统主要包括用户管理、设备管理、预约管理、权限管理等功能,并通过合理的数据结构和算法来实现高效的预约管理。
同时,本文还介绍了系统的开发环境和技术框架,以及系统在实际应用中的可行性。
1. 引言设备预约管理系统的需求背景和目的,解决用户在使用设备预约时的不便和时间浪费问题。
通过自动化和信息化的手段,提高预约管理的效率和便捷性。
2. 系统架构2.1 系统功能模块设备预约管理系统主要包括用户管理、设备管理、预约管理和权限管理四个模块。
用户管理模块负责用户信息的注册、登录、修改等功能;设备管理模块用于设备信息的添加、删除、查询等操作;预约管理模块实现设备预约功能,并对预约冲突进行处理;权限管理模块用于管理用户的权限和角色。
2.2 数据库设计设备预约管理系统的数据库主要包括用户表、设备表、预约表和权限表四个表。
用户表存储用户的基本信息;设备表用于记录设备的相关信息,包括设备编号、设备名称等;预约表用于存储用户的预约信息,包括预约时间、预约设备等;权限表用于记录用户的权限和角色。
3. 系统设计3.1 用户管理模块设计用户管理模块包括用户注册、登录、修改等功能。
注册功能要求用户输入必要的信息,并进行合法性验证;登录功能验证用户的身份,并提供相应的权限;修改功能允许用户修改个人信息。
3.2 设备管理模块设计设备管理模块负责设备信息的添加、删除、查询等操作。
添加设备需要输入设备的相关信息,并进行合法性验证;删除设备要求输入设备编号,并进行合法性验证;查询操作可以根据设备名称、设备编号等条件进行搜索。
3.3 预约管理模块设计预约管理模块实现设备预约功能,并对预约冲突进行处理。
用户可以选择预约的设备和时间段,系统会检查该时间段内是否已经被其他用户预约,如果冲突则给出提示;如果没有冲突则成功完成预约。
3.4 权限管理模块设计权限管理模块用于管理用户的权限和角色。
一、课程设计的目的1)学习综合运用C高级语言课程和其他先修课程的知识,提高分析和解决实际问题的的能力,进一步巩固、加深和拓宽所学的知识;进一步加强结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解。
2)全面系统的学习面向对象程序设计的基本概念、基本语法和编程方法;独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。
3)掌握程序设计中的常用算法和C语言的编程技巧和上机调试程序的方法。
4)在参与一系列子项目的实践过程中,提高如何综合运用所学知识解决实际问题的能力,以及获得相关项目管理和团队合作等众多方面的具体经验。
二、课程设计任务和内容按照如下要求,运用C++语言,编写一套可用的较为完善的机房机位预订系统软件(一人独自完成),要求系统所应具有的功能如下:1)可以进行机位预订操作,每2小时1个时段,每次可预订一个时段,时间是从早上8点到晚上8点,用户可自行输入要预订的时间,如果该时间已排满,则将该用户加入到等待队伍中。
2)可以进行机位退订操作,输入用户信息及预定的时段信息,取消该用户该时段的预订。
3)可以进行查询操作,可以查询机位当前的使用情况,可以查询排在等待队伍中的机位的等待信息。
三、系统设计方案3.1系统详细描述3.1.1系统设计背景这个系统主要针对学校机房上机管理所用,学校机房人流量很大,而且上机时间密集,如果不妥善处理上机数据很可能造成上机时间混乱,甚至有可能导致数据丢失以至于整个机房瘫痪无法正常进行上机操作,因此,开发一个合理、安全的机房机位预订系统十分贴合学校内师生需要。
本项目作为《c++课程设计》课程的训练项目提出,目的是为了提高同学们系统的开发,则提高大家的实践能力。
所以开发一个符合自身宾馆实际情况的工作平台是十分必要的。
3.1.2系统设计详细信息该系统是为学校机房所用,认定学校机房共有3层,这3层共有15个机房,分别是101-105,201-205,301-305,每个机房中有40台电脑,其中101-105和201-205这10个机房是专供教师上课所用,301-305是供学生自由上机所用。
可以进行预订操作,预订从早上8点到晚上8点,两小时一个时段,每次可预订一个时段,预订分为教师预订和自由预订,教师预订一次性预订一个机房的时间,自由预订学生可以任意选择想要的时间和又空位的机房号和机位号进行预订,如果预订的时间没有空闲的机位和机房,则会提示用户是否将其排入等待队伍中,用户可根据需要行选择。
可进行退订操作,退订分为自由退订和教师退订两个部分,其中自由退订要求学生输入自己的学号进行退订操作,而教师退订会要求输入教师预定的时间,系统会自动显示出该时间所有的预订信息,教师可以根据编号自己选择,进行相应的退订操作,在这两部分的退订操作过程中,都需要输入退订密码,这个退订密码在预订时根据用户需要自行输入。
可进行查询操作,在查询操作中,有机位信息查询和等待信息查询这两个部分组成,机位信息查询可根据用户输入几号机房几号机位来查看该机位当前的使用情况,而等待信息查询则是显示出当前排在等待队伍中的所有的等待信息,在这两部分的操作中,用户可直接跳转到退订系统中进行退订,方便用户在查询完相应的机位信息后进行退订操作。
此外,为了保证程序可以实时执行操作,调用了系统时间并对成员函数进行实时的时间对比操作,以保证在程序运行期间相应的功能能够实现,防止出现与时间脱节的运行状态。
3.2功能模块划分3.2.1功能模块描述根据任务的要求,该系统为了实现上述的各种操作和功能,可大致分为四个部分,预订部分、退订部分、查询部分和退出部分。
为了简化前台人员操作步骤并提高其工作效率,全局显示了系统当前时间,在相应的地方做了相应的提示操作,界面也做了相应的美化,以方便工作人员的操作。
功能模块结构见图3.1。
将系统主要分为以下四大功能模块:1)预订系统:包括教师预订和自由预订两个部分,可进行机房或者机位的预订操作,没有空闲机位的情况下会进行等待的提示。
2)退订系统:包括教师退订和自由退订两个部分,可进行机房或者机位的退订操作。
3)查询系统:可进行查询操作,包括机位查询和等待信息查询两个部分,可查询当前几位状态和正在等待信息。
4)退出系统:进行系统数据的存储操作。
图3.1功能模块结构图3.2.2输入项以下输入项均为键盘输入:Ifanghao 用来存储机房号 intjiweihao 用来存储机位号 intshiyong[31][13] 用来记录特定时段是否正在使用 int整型数组yuding[31][13] 用来记录特定时段是否已被于东 int 整型数组waiting[31][13] 用来记录特定时段是否排入等待队伍 int 整型数组xuehao[31][13] 用来记录被预订的机位的学生的学号 int 整型数组mima[31][13] 用来记录特定时段预订的预订密码 int 整型数组name[31][13] 用来记录特定时段预订的教师的姓名 string3.2.3输出项机房号 int机位号 int使用情况 int 整型数组预订情况 int 整型数组等待情况 int 整型数组预订学生学号 int 整型数组退订密码 int(仅输出至文件)整型数组预订教师姓名 string四、系统实现与测试4.1主菜单模块实现4.1.1主菜单流程图图4.1主菜单流程图4.1.2主菜单代码void menu(){shuaxin(); //进行机位刷新操作system("cls"); //进行清屏操作int i;cout<<"**********机房机位预订**********"<<endl<<endl<<endl<<endl;time_t t=time(NULL);tm *pt=localtime(&t);showtime(pt);cout<<endl<<endl<<endl<<"1.预订"<<endl<<"2.退订"<<endl<<"3.查询"<<endl<<"4.退出"<<endl<<endl<<endl<<endl<<endl<<"请输入编号进入:";for(;;) //对输入的编号进行判断并循环输入{cin>>i;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主菜单4.2预订系统模块实现4.2.1预订系统流程图预订系统的流程图如下图所示:4.2.2预订系统代码void yuding() //预订系统的总菜单{shuaxin(); //进行机位信息的刷新system("cls"); //进行清屏操作int i;cout<<"**********预订**********"<<endl<<endl<<endl<<endl;time_t t=time(NULL);tm *pt=localtime(&t);showtime(pt);cout<<endl<<endl<<endl<<"1.教师预订"<<endl<<"2.自由预订"<<endl<<"3.返回主菜单"<<endl<<endl<<endl<<endl<<endl<<"请输入编号进入:";for(;;){cin>>i;if(i==1)system("cls"),jiaoshiyuding();elseif(i==2)system("cls"),ziyouyuding();elseif(i==3)system("cls"),menu();else 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<<"**********教师预订**********"<<endl<<endl<<endl<<endl;time_t t=time(NULL);tm *pt=localtime(&t);showtime(pt);cout<<endl<<endl<<endl<<"请输入要预定的时间(日,时间):";cin>>day>>shijian;day-=1;shijian-=8;for(i=0;i<10;i++)if(computer[i][1].yuding[day][shijian]==0&&computer[i][1].waiting[day][shijian]==0) cout<<computer[i][0].jifanghao<<" 空闲"<<endl,l+=1;if(l!=0){cout<<"请输入要预定的机房号(返回主菜单请输入“1”):";cin>>jifanghao;if(jifanghao==1) menu();else if(jifanghao>200) jifanghao=jifanghao-201;else jifanghao=jifanghao-101;cout<<"请输入姓名:";cin>>name;cout<<"请输入退订密码:";cin>>mima;for(j=0;j<40;j++){for(l=0;l<2;l++){computer[jifanghao][j].yuding[day][shijian+l]=1;computer[jifanghao][j].name[day][shijian+l]=name;computer[jifanghao][j].mima[day][shijian+l]=mima;}}cout<<endl<<"预订成功!"<<endl<<endl;}else{cout<<"当前输入的时间内没有空闲的机房!"<<endl<<"1.加入最近的等待队伍"<<endl<<"2.重新输入时间查看"<<endl<<"请输入编号进入";for(;;){cin>>xuanze;if(xuanze==1) paidengdai(day,shijian,1);else if(xuanze==2) goto L1;}}cout<<"1.继续预订"<<endl<<"2.返回主菜单"<<endl<<"请输入编号进入"<<endl;for(;;){cin>>xuanze;if(xuanze==1) goto L1;else if(xuanze==2) menu();else cout<<"您的输入有误,请重新输入:";}}自由预订系统与教师预订类似,在此省略,完整代码见附录。