欢迎来到天天文库
浏览记录
ID:47427374
大小:96.50 KB
页数:16页
时间:2020-01-10
《C语言课程设计报告—机房机位预约模拟系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、程序设计报告设计者:肖昊班级序号:055071-27学号:20071003651指导老师:刘文中C语言程序设计编程实践是学习C语言程序设计的一重要环节,为提高学生程序设计能力,通过课堂和上机实践练习使学生的程序设计能力上一台阶。通过前四单元温顾而知新、庖丁解牛、举一反三、熟能生巧等过程的练习设计下面一个完整的程序1.题目要求设计“机房机位预约模拟系统”要求:20台机器,从早8点到晚8点,每两个小时一个时间段。需要实现功能:1,查询,根据输入时间,输出机位信息。2,即为预定,根据输入的日期和时间段查询是否有空机位,若有
2、则预约,若无则提供最近空机时间段。另:若用户要求在非空时间上机,则将用户信息插入该时间段的等待列表.3,退出预定,根据输入的时间,撤销该时间的预定。4,查询是否有等待的信息,若有则按顺序显示联系方式,若无则显示提示信息。2需求分析根据题目要求在程序中需实现查询,预定,排队等功能的操作,所以需要建立相应的模块来实现;另外还需提供键盘式选择菜单实现功能,在运行时达到所要目的。3总体设计整个系统可分为3个模块查询模块预定模块取消模块机房机位预约模拟系统查询模块预定模块取消模块详细设计主函数比较简洁,只提供输入、功能处理和输
3、出部分的函数调用。显示一系列功能选择输入n,判断m是否是0到6?根据n值调用各功能模块函数结束N开始main(){inti;for(i=0;i4、");scanf("%d",&i);switch(i){case1:Inquir();break;case2:inquir();break;case3:booking();break;case4:cancel();break;case5:waiting();break;case6:inquir_waiting();break;case0:exit(0);default:printf("error");}}}开始输入查询序号或查询时间判断是否预定,是否有空余机位?显示数据结束NvoidInquir(){intn;c5、harInfor[10];structnode*Rem;printf("输入查询时间(24hours8~20o'clock,include8o'clock)");scanf("%d",&n);if(n>=8&&n<20){n=S(n);printf("请输入学号");scanf("%s",Infor);Rem=TimeQueue[n].first;for(;Rem->next!=NULL;Rem=Rem->next)if(strcmp(Rem->data,Infor)==0)break;if(Rem->loc6、at!=0)printf("Thecomputernumberis%d",Rem->locat);elseprintf("对不起.你依旧在等待列表中或者没有预定");}elseprintf("错误,请再次输入.");}voidinquir(){intn;printf("输入想要查询的时间(24hours8~20o'clock,include8o'clock)");scanf("%d",&n);if(n>=8&&n<20){n=S(n);if(TimeQueue[n].CNum7、ereare%demptycomputer!",MAX-TimeQueue[n].CNum);elseprintf("对不起.没有空余机位");}elseprintf("错误,再次输入.");}预定模块voidbooking()开始输入预定时间判断时间属于8~20o'clock与空机位输入学号预定成功,排队成功结束iongyudinN选择排队{intn;charInfor[10];structnode*Rem;structnode*p;printf("输入想要预定的时间");scanf("%d",&n8、);if(n>=8&&n<20){n=S(n);if(TimeQueue[n].CNumlocat=1
4、");scanf("%d",&i);switch(i){case1:Inquir();break;case2:inquir();break;case3:booking();break;case4:cancel();break;case5:waiting();break;case6:inquir_waiting();break;case0:exit(0);default:printf("error");}}}开始输入查询序号或查询时间判断是否预定,是否有空余机位?显示数据结束NvoidInquir(){intn;c
5、harInfor[10];structnode*Rem;printf("输入查询时间(24hours8~20o'clock,include8o'clock)");scanf("%d",&n);if(n>=8&&n<20){n=S(n);printf("请输入学号");scanf("%s",Infor);Rem=TimeQueue[n].first;for(;Rem->next!=NULL;Rem=Rem->next)if(strcmp(Rem->data,Infor)==0)break;if(Rem->loc
6、at!=0)printf("Thecomputernumberis%d",Rem->locat);elseprintf("对不起.你依旧在等待列表中或者没有预定");}elseprintf("错误,请再次输入.");}voidinquir(){intn;printf("输入想要查询的时间(24hours8~20o'clock,include8o'clock)");scanf("%d",&n);if(n>=8&&n<20){n=S(n);if(TimeQueue[n].CNum7、ereare%demptycomputer!",MAX-TimeQueue[n].CNum);elseprintf("对不起.没有空余机位");}elseprintf("错误,再次输入.");}预定模块voidbooking()开始输入预定时间判断时间属于8~20o'clock与空机位输入学号预定成功,排队成功结束iongyudinN选择排队{intn;charInfor[10];structnode*Rem;structnode*p;printf("输入想要预定的时间");scanf("%d",&n8、);if(n>=8&&n<20){n=S(n);if(TimeQueue[n].CNumlocat=1
7、ereare%demptycomputer!",MAX-TimeQueue[n].CNum);elseprintf("对不起.没有空余机位");}elseprintf("错误,再次输入.");}预定模块voidbooking()开始输入预定时间判断时间属于8~20o'clock与空机位输入学号预定成功,排队成功结束iongyudinN选择排队{intn;charInfor[10];structnode*Rem;structnode*p;printf("输入想要预定的时间");scanf("%d",&n
8、);if(n>=8&&n<20){n=S(n);if(TimeQueue[n].CNumlocat=1
此文档下载收益归作者所有