机房机位预约模拟系统—C语言课程设计(共15页).doc
《机房机位预约模拟系统—C语言课程设计(共15页).doc》由会员分享,可在线阅读,更多相关《机房机位预约模拟系统—C语言课程设计(共15页).doc(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上机房机位预约模拟一题目要求20台机器,从早八点到晚八点,每两个小时一个时间段.需要实现的功能:(1) 查询,根据输入的时间,输出机位信息.(2) 机位预定,根据输入的日期和时间段查询是否有空机位,若有则预约,若无则提供最近空机时间段.另:若用户要求在非空时间上机,则将用户信息插入该时间段的等待列表.(3) 退出预定,根据输入的时间,撤消该时间的预定.(4) 查询是否有等待信息,若有则按顺序显示联系方式,若无则显示提示信息.二需求分析根据题目要求,在程序中应实现查询,机位预定,插入等待列表,退出预定,查询等待信息等功能。还应提供键盘式选择菜单实现功能选择。而等待信息放在
2、文件里,所以在相关的模块应提供文件的输入、输出操作。三总体设计根据上面的需求分析,将这个系统的设计分为下面4个模块:机房机位预约模拟系统状态查询模块预订模块取消预订模块查询等待信息模块4详细设计 1.预处理命令及函数声明#include<stdio.h>#include<stdlib.h>#include<string.h>#define N 20#define T (time-8)/2int sum6=0;int computer620=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,
3、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,1,1;/*该数组表示假设某天某人查询时机房各个时间段机位数情况*/void Menu(); void Situation();void Book();void Cancel();void SearchWaiting();void Exit();v
4、oid detail(int time);void printf_one(int i); struct waitlist char number3; char telephonenumber12; waitN;2主函数主函数一般设计得比较简洁,只提供输入,处理和输出部分的函数调用。其中各功能模块用菜单方式选择。其流程图如图所示:开始显示一系列功能模块根据的值调用各功能模块函数YN输入n的值1-5结束 2./*主函数*/void main()Menu(); /*当前状态函数*/void Menu() /*主界面*/int n,w;do puts("tt*COMPUTER BOOK SY
5、STERM*n"); puts("tt*MENU*n"); puts("ttt 1.Search the current situation"); /*查询某时间段机位状态*/ puts("ttt 2.Book the vacant computer"); /*预定空机位*/ puts("ttt 3.Cancel booking"); /*取消预订*/ puts("ttt 4.Search waiting"); /*查询等待信息*/ puts("ttt 5.Exit"
6、;); /*退出*/ puts("tt*n"); printf("Choose your number(1-5): bb"); scanf("%d",&n); if(n<1|n>5) w=1;getchar(); else w=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;3.状态
7、查询函数流程图调用detail函数返回主菜单输入1是否输入time的值8-20开始/*查询模块*/*查询当前状态*/void Situation()int time;printf("Input time between (8-20):");scanf("%d",&time);if(time<8|time>20)printf("tWrong time!n");printf("Please input time between (8-20):");scanf("%d",&
8、time); detail(time); /*函数调用*/getchar();Menu();4.预定模块函数流程图开始N执行一个循环,进入后面的时间段SumT>0输入时间8-20调用detail函数,sumT的值改变输出空机位数,是否等待NY打开文本文件waitlist.txt,输入预定机位号和联系方式,追加一个结构体成员。返回主菜单程序:/*预定模块*/void Book()int time,i=0,x,y;FILE *fp; char c; printf("Input time you want to book between(8-20):"); scanf(&q
9、uot;%d",&time); if(time<8|time>20) printf("tWrong time!n"); printf("tInput time you want to book between(8-20):"); scanf("%d",&time); detail(time); /*函数调用*/if(sumT>0) if(fp=fopen("waitlist.txt","a")=NULL) printf("nCannot op
10、en file!n"); exit(0); printf("ntPlease Input the number you want to book and leave your telephonenumber!:n"); scanf("%s %s",waiti.number,waiti.telephonenumber);for(i=0;i<1;i+) fwrite(&waiti,sizeof(struct waitlist),1,fp); fclose(fp);/*向文本文档添加一个结构体单元*/printf("tInpu
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机房 机位 预约 模拟 系统 语言 课程设计 15
限制150内