机房机位预约模拟管理系统设计源代码教学文稿

上传人:cn****1 文档编号:487275849 上传时间:2022-09-02 格式:DOC 页数:7 大小:69KB
返回 下载 相关 举报
机房机位预约模拟管理系统设计源代码教学文稿_第1页
第1页 / 共7页
机房机位预约模拟管理系统设计源代码教学文稿_第2页
第2页 / 共7页
机房机位预约模拟管理系统设计源代码教学文稿_第3页
第3页 / 共7页
机房机位预约模拟管理系统设计源代码教学文稿_第4页
第4页 / 共7页
机房机位预约模拟管理系统设计源代码教学文稿_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《机房机位预约模拟管理系统设计源代码教学文稿》由会员分享,可在线阅读,更多相关《机房机位预约模拟管理系统设计源代码教学文稿(7页珍藏版)》请在金锄头文库上搜索。

1、精品文档#include#include#include#define SJD 6 /* 宏定义定义SJDZNULLD(r)*/#define Z 20#define D(s) (s-8)/2/* 将输入的时间划分时间段;分别为0,1,2,3,4,5 时间段 */#define NULL 0struct xinxiint jihao;char xuehao20;struct xinxi *next; /* 结构函数包含学生信息:机位,学号,还有下名学生信息*/struct cellint RS; /*RS 表示总人数 */struct xinxi *first;/* 第一个预订者记录*/str

2、uct xinxi *middle;/* 等待队列列表*/struct xinxi *last;/* 最后预订者记录*/ DUILEISJD; /* 学生时间( SJD)段顺序:人数,第一名学生,排队的学生,最后一名学生*/*预定模块 */void yuding()int n;char m20;/* 学号 */struct xinxi *R;struct xinxi *p;printf( 输入想要预定的时间n);scanf(%d,&n);if(n=8&n20)n=D(n);/* 将输入的时间划分时间段*/if(DUILEIn.RSjihao=1;strcpy(R-xuehao,m);/* 将输

3、入的学号复制到R-xuehao */R-next=NULL;DUILEIn.first=R;DUILEIn.last=R;DUILEIn.RS+;printf( 成功预定 n);精品文档精品文档elseR=(struct xinxi *)malloc(sizeof(struct xinxi);strcpy(R-xuehao,m); /* 将输入的学号复制到 R-xuehao */ R-next=NULL;p= DUILEIn.last;/* 将最后预订记录赋值给p*/R-jihao= DUILEIn.RS+1;printf(%d,R-jihao);/* 表示该时间段第几位预订*/DUILEIn

4、.last=R;/* 将当前的记录做为最后记录以便形成链表形式指向下一个 */p-next=R;DUILEIn.RS+;/* 记录人数 */printf( 预定成功 n);else printf( 没有空余机位 !n);else printf( 错误 .请输入 819,再次输入 .n);/*查询空位模块*/void chaxunkongwei()int n;printf( 输入想要查询的时间(819 点,包括8 点 )n);scanf(%d,&n);if(n=8&n20)n=D(n);if(DUILEIn.RS=8&nnext!=NULL;R=R-next)/* 从第一名学生开始查询直到找到符

5、合的学号,以便确认是否预订 */if(strcmp(R-xuehao,m)=0)break;if(R-jihao!=0) /*已预订,输出相应的信息*/printf( 你的机位是 %dn,R-jihao);else printf( 对不起 .你依旧在等待列表中或者没有预定);else printf( 错误,请再次输入.n);/*排队系统模块*/void paiduixitong()int n;char m20;struct xinxi *R; struct xinxi *p;printf( 请输入想要排队的时间n);scanf(%d,&n);if(n=8&n=Z)/* 该时间段没有空位机,需要

6、预订等待*/printf( 请输入你的学号n); scanf(%s,m);if(DUILEIn.RS)=Z)R=(struct xinxi *)malloc(sizeof(struct xinxi);strcpy(R-xuehao,m);R-next=NULL;R-jihao=0;p= DUILEIn.last;DUILEIn.last=R;p-next=R;精品文档精品文档DUILEIn.middle=R;/* 等待预订列表 */DUILEIn.RS+;printf( 成功排队 n);/* 将刚输入学生信息拍到最后一名后,成最后一名*/elseR=(struct xinxi *)malloc

7、(sizeof(struct xinxi);strcpy(R-xuehao,m);R-next=NULL;R-jihao=0;p= DUILEIn.last;DUILEIn.last=R;p-next=R;DUILEIn.RS+;printf( 成功排队 n);else printf( 有空余机位,无须等待n);else printf( 错误 .再次输入 .n);/*取消预订模块*/void cancel()int n;int i;char m20;struct xinxi *R;struct xinxi *q;struct xinxi *p;printf( 请输入预定的时间n);scanf(

8、%d,&n);if(n=8&nnext,i+)/* 查找符合信息*/if(strcmp(R-xuehao,m)=0)break;if(iZ)/*iz 表示在等待列表中*/精品文档精品文档if(R-next=NULL)q-next=NULL;DUILEIn.last=q;free(R);DUILEIn.RS-;printf( 取消成功 !n); /* 如果是排在20 名后,且是最后一名*/elseq-next=R-next;free(R);DUILEIn.RS-;printf( 取消成功 !n); /* 如果排在20 名后,但不是最后*/else/* 正在上机者取消预订*/if(DUILEIn.RSZ)DUILEIn.middle-jihao=R-jihao;DUILEIn.middle= DUILEIn.middle-next; /* 如果排在20 名内,但总人数(包括等待列表人数)大于20 */if(i=1) DUILEIn.first=R-next;else q-next=R-next;free(R);DUILEIn.RS-;printf( 成功取消预定!n);else printf( 错误,请再次输入.n);/*待机者列表模块*/void daijizheliebiao()i

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 幼儿/小学教育 > 幼儿教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号