内容发布更新时间 : 2025/1/5 11:32:36星期一 下面是文章的全部内容请认真阅读。
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(\机房机位预约系统*******************\\n\ puts(\菜单***************************\\n\
C语言课程设计
puts(\查询某时间段机位状态\ /*查询某时间段机位状态*/ puts(\预定空机位\ /*预定空机位*/ puts(\取消预订\ /*取消预订*/ puts(\查询等待信息\ /*查询等待信息*/ puts(\退出\ /*退出*/ puts(\ printf(\选择菜单号(1-5):\ scanf(\ 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; } getch(); }
2.机位查询:
void Situation() { int time; printf(\输在 (8-20)范围内的时间:\ scanf(\ if(time<8||time>20)
第2页共17页
C语言课程设计
{printf(\时间输入错误!\\n\ printf(\输入在 (8-20)范围内的时间:\ scanf(\ } detail(time); /*函数调用*/ getchar(); Menu();}
3.机位预定:
void Book() {int time,i=0,x,y;
FILE *fp; char c;
printf(\在(8-20)时间范围内输入你想要预定的时间:\ scanf(\ if(time<8||time>20) { printf(\时间输入错误!\\n\ printf(\在(8-20)时间范围内输入你想要预定的时间:\ scanf(\ }
detail(time); /*函数调用*/ if(sum[T]>0)
{ if((fp=fopen(\ { printf(\无法打开文件!\\n\ exit(0); } printf(\请输入你想要预定的机号,并且留下你的电话号码!:\\n\
第3页共17页