机房机位预约模拟管理系统设计源代码Word格式文档下载.docx

上传人:b****2 文档编号:15354637 上传时间:2022-10-29 格式:DOCX 页数:9 大小:16.20KB
下载 相关 举报
机房机位预约模拟管理系统设计源代码Word格式文档下载.docx_第1页
第1页 / 共9页
机房机位预约模拟管理系统设计源代码Word格式文档下载.docx_第2页
第2页 / 共9页
机房机位预约模拟管理系统设计源代码Word格式文档下载.docx_第3页
第3页 / 共9页
机房机位预约模拟管理系统设计源代码Word格式文档下载.docx_第4页
第4页 / 共9页
机房机位预约模拟管理系统设计源代码Word格式文档下载.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

机房机位预约模拟管理系统设计源代码Word格式文档下载.docx

《机房机位预约模拟管理系统设计源代码Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《机房机位预约模拟管理系统设计源代码Word格式文档下载.docx(9页珍藏版)》请在冰豆网上搜索。

机房机位预约模拟管理系统设计源代码Word格式文档下载.docx

structxinxi*first;

/*第一个预订者记录*/

structxinxi*middle;

/*等待队列列表*/

structxinxi*last;

/*最后预订者记录*/

}DUILEI[SJD];

/*学生时间(SJD)段顺序:

人数,第一名学生,排队的学生,最后一名学生*/

/***************************预定模块******************************/

voidyuding()

{

intn;

charm[20];

/*学号*/

structxinxi*R;

structxinxi*p;

printf("

输入想要预定的时间\n"

);

scanf("

%d"

&

n);

if(n>

=8&

&

n<

20){

n=D(n);

/*将输入的时间划分时间段*/

if(DUILEI[n].RS<

Z)/*还有机位可供预订*/

请输入你的学号\n"

scanf("

%s"

m);

if(DUILEI[n].first==NULL)/*还没有人预订*/

R=(structxinxi*)malloc(sizeof(structxinxi));

/*给R划分适当的存*/

R->

jihao=1;

strcpy(R->

xuehao,m);

/*将输入的学号复制到R->

xuehao*/

next=NULL;

DUILEI[n].first=R;

DUILEI[n].last=R;

DUILEI[n].RS++;

printf("

成功预定\n"

}

else

R=(structxinxi*)malloc(sizeof(structxinxi));

p=DUILEI[n].last;

/*将最后预订记录赋值给p*/

jihao=DUILEI[n].RS+1;

R->

jihao);

/*表示该时间段第几位预订*/

/*将当前的记录做为最后记录以便形成链表形式指向下一个*/

p->

next=R;

/*记录人数*/

预定成功\n"

}

elseprintf("

没有空余机位!

\n"

elseprintf("

错误.请输入8~19,再次输入.\n"

/*********************************查询空位模块***********************************/

voidchaxunkongwei()

输入想要查询的时间(8~19点,包括8点)\n"

20)

{

n=D(n);

if(DUILEI[n].RS<

Z)

这里还有%d台空电脑!

Z-DUILEI[n].RS);

对不起.没有空余机位!

错误,请输入8~19,再次输入.\n"

/*********************查询预定机位模块*************************************/

voidchaxunyuding()

输入查询时间(8~19点,包括8点)\n"

请输入学号\n"

R=DUILEI[n].first;

/*将第一名学生的信息赋予R*/

if(DUILEI[n].first==0)printf("

还没有人预定\n"

/*判断有没有人预订,如果还没有人预订,则输出还没有人预定*/

else{

for(;

R->

next!

=NULL;

R=R->

next)/*从第一名学生开始查询直到找到符合的学号,以便确认是否预订*/

if(strcmp(R->

xuehao,m)==0)break;

if(R->

jihao!

=0)/*已预订,输出相应的信息*/

你的机位是%d\n"

对不起.你依旧在等待列表中或者没有预定"

}

错误,请再次输入.\n"

/*****************************排队系统模块**************************************/

voidpaiduixitong()

structxinxi*p;

请输入想要排队的时间\n"

if(DUILEI[n].RS>

=Z)/*该时间段没有空位机,需要预订等待*/

if((DUILEI[n].RS)==Z)

strcpy(R->

jihao=0;

p=DUILEI[n].last;

DUILEI[n].last=R;

p->

DUILEI[n].middle=R;

/*等待预订列表*/

DUILEI[n].RS++;

成功排队\n"

}/*将刚输入学生信息拍到最后一名后,成最后一名*/

else

有空余机位,无须等待\n"

错误.再次输入.\n"

/******************************取消预订模块****************************************/

voidcancel()

inti;

structxinxi*q;

请输入预定的时间\n"

请输入你的学号!

R=DUILEI[n].first;

q=R;

for(i=1;

;

q=R,R=R->

next,i++)/*查找符合信息*/

if(i>

Z)/*i>

z表示在等待列表中*/

next==NULL)

q->

DUILEI[n].last=q;

free(R);

DUILEI[n].RS--;

取消成功!

/*如果是排在20名后,且是最后一名*/

else{

next=R->

next;

/*如果排在20名后,但不是最后*/

else/*正在上机者取消预订*/

Z)

DUILEI[n].middle->

jihao=R->

jihao;

DUILEI[n].middle=DUILEI[n].middle->

}/*如果排在20名,但总人数(包括等待列表人数)大于20*/

if(i==1)DUILEI[n].first=R->

elseq->

成功取消预定!

/********************************待机者列表模块****************************/

voiddaijizheliebiao()

查询其他等待者的预定时间\n"

Z)/*表示有等待上机者*/

等待列表:

q=DUILEI[n].middle;

q=q->

next)printf("

%s\n"

q->

xuehao);

/*逐个输出等待列表者信息*/

DUILEI[n].last->

这个时间段没有预定者\n"

错误。

请再次输入.\n"

intmain()

for(i=0;

i<

SJD;

i++){

DUILEI[i].RS=0;

DUILEI[i].first=NULL;

DUILEI[i].middle=NULL;

DUILEI[i].last=NULL;

while

(1){

**********

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1