资源描述:
《c语言课程设计机房机位预定系统绝对正确,附源代码》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、1设计目的机房机位预定系统2任务概述2()台机器,编号1到20,从早八点到晚八点。两小时一个时间段,每次可预定一个时间段。功能要求:(1)系统以菜单方式工作(2)查询,根据输入吋间,输出机位信息。(3)机位预定,根据输入的时间杳询是否启空机位,若有则预约,若无则提供最近的时间段,>}:若用户在非空时间上机,则将用户信息列入等待列表。(4)退出预定,根据输入的时间,机器号撤销该事件的预定!(5)查询是否有等待信息,若有则捉供最优解决方案(等待吋间尽量短),若无则显示提示信息。3模块划分4主要函数说明及其WS图1.主函数:intmain()广当前状态函数*/广主界面*
2、/{Menu();}voidMenu(){intn,w;doputs('^tt****************^LZ^^L{v:®^J^^*******************H)ePUtS(Mtt****************************************************pi»^・puts(nttt1.查询某时间段机位状态“);广查询某时间段机位状态*/puts(,,ttt2.预定空机位“);广预定空机位*/puts(”ttt3.取消预订”);广取消预订*/puts("ttt4.查询等待信息“);广
3、查询等待信息*/putsCWt5.退出”);广退出*/*****************************************************printf(H选择菜单号(1-5):H);scanf(n%dH,&n);if(n<1
4、
5、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:exit(0);bre
6、ak;}getch();}显示一系列功能菜单n7、
8、n>5¥N根据n的值调用各功能模块函数■■■■■
9、n>5根据n的值调用各功能模块函数2•机位查询:voidSituation()inttime;printf(”输在(8-20)范围内的时间:”);scanf(”%d",&time);if(time<8
10、
11、time>20){printf(Ht时间输入错误!”);printf(H输入在(8-20)范围内的时间:”);scanf(”%d",&time);}detail(time);广函数调用getchar();Menu();}2•机位预定:voidBook(){
12、inttime,i=0,x,y;FILE*fp;charc;printf("在(&20)时间范围内输入你想要预定的时间:”);scanf(”%d”,&time);if(time<8
13、
14、time>20){printf(Mt时间输入错误!“);printf(nt在(8・20)时间范围内输入你想要预定的时间:“);scanf(M%d,,,&time);}detail(time);广函数调用*7if(sum[T]>0){if((fp=fopen(,,waitlist.txt,7,a,,))==NULL){printf(n无法打开文件!“);exit(O);
15、}printf(nt请输入你想要预定的机号,并且留下你的电话号码!:”);scanf("%s%s",wait[i].number,wait[i].telephonenumber);for(i=0;i<1;i++)fwrite(&wait[i],sizeof(structwaitlist),1,fp);fclose(fp);/*向文本文档添加一个结构体单元*/printf(At再次输入你想要预定的时间!”);scanf("%d",&x);/*sum[T]-;/★预定后该时间段空机位数减1*//*computer[T][x]=1;/★预定后该机状态变为1
16、*/printf(nt预订成功!”);getchar();Menu();}else{printf(n这是在这个吋间段内未预定的电脑!rT);for(i=T+1;i<6;i++){time=9+2*i;detail(time);广函数调用*/if(sum[T]>0)printf("tThelatestfreetimeis%d,%d",2*i+8,2*i+10);break;}printf(nt你想要预定吗?:y/n?“);scanf(”%s”,&c);getchar();if(c==,Y,
17、
18、c==y){if((fp=fopen(,,waitlist
19、.txtu