资源描述:
《机房机位预约模拟系统—C语言课程设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C语言课程设计报告机房机位预约模拟一.题目要求20台机器,从早八点到晚八点,每两个小时一个时间段.需要实现的功能:(1)查询,根据输入的时间,输出机位信息.(2)机位预定,根据输入的日期和时间段查询是否有空机位,若有则预约,若无则提供最近空机时间段.另:若用户要求在非空时间上机,则将用户信息插入该时间段的等待列表.(3)退出预定,根据输入的时间,撤消该时间的预定.(4)查询是否有等待信息,若有则按顺序显示联系方式,若无则显示提示信息.二.需求分析根据题目要求,在程序中应实现查询,机位预定,插入等待列表,退出预定,
2、查询等待信息等功能。还应提供键盘式选择菜单实现功能选择。而等待信息放在文件里,所以在相关的模块应提供文件的输入、输出操作。三.总体设计根据上面的需求分析,将这个系统的设计分为下面4个模块:机房机位预约模拟系统状态查询模块预订模块取消预订模块查询等待信息模块4.详细设计15C语言课程设计报告1.预处理命令及函数声明#include#include#include#defineN20#defineT(time-8)/2intsum[6]={0};intcomp
3、uter[6][20]={{1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1},{1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1},{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},{1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,0,0,1,1,1},{1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,0},{1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1
4、,1,1}};/*该数组表示假设某天某人查询时机房各个时间段机位数情况*/voidMenu();voidSituation();voidBook();voidCancel();voidSearchWaiting();voidExit();voiddetail(inttime);voidprintf_one(inti);structwaitlist{charnumber[3];chartelephonenumber[12];}wait[N];2.主函数主函数一般设计得比较简洁,只提供输入,处理和输出部分的函数调用。
5、其中各功能模块用菜单方式选择。其流程图如图所示:15C语言课程设计报告开始显示一系列功能模块根据的值调用各功能模块函数YN输入n的值1-5结束2./*主函数*/voidmain(){Menu();/*当前状态函数*/}voidMenu()/*主界面*/{intn,w;do{puts("tt****************COMPUTERBOOK15C语言课程设计报告SYSTERM*******************");puts("tt*************************MENU***
6、************************");puts("ttt1.Searchthecurrentsituation");/*查询某时间段机位状态*/puts("ttt2.Bookthevacantcomputer");/*预定空机位*/puts("ttt3.Cancelbooking");/*取消预订*/puts("ttt4.Searchwaiting");/*查询等待信息*/puts("ttt5.Exit");/*退出*/puts("tt************
7、********************************************");printf("Chooseyournumber(1-5):[]bb");scanf("%d",&n);if(n<1
8、
9、n>5){w=1;getchar();}elsew=0;}while(w==1);switch(n){case1:Situation();break;case2:Book();break;case3:Cancel();break;case4:SearchWaiting();break;case5
10、:Exit(0);break;}}3.状态查询函数流程图15C语言课程设计报告调用detail函数返回主菜单输入1是否输入time的值8-20开始/*查询模块*//*查询当前状态*/voidSituation(){inttime;printf("Inputtimebetween(8-20):");scanf("%d",&time);if(time<8
11、
12、time>20){