c语言程序设计-机房机位预约模拟.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c语言程序设计-机房机位预约模拟.doc

C语言课程设计 院系:工程学院 姓名:??恺 学号:2009100???? 班号:05209??? 指导教师:梁老师 日期:2011年8月 机房机位预约模拟 一.题目要求 20台机器,从早八点到晚八点,每两个小时一个时间段. 需要实现的功能: 查询,根据输入的时间,输出机位信息. 机位预定,根据输入的日期和时间段查询是否有空机位,若有则预约,若无则提供最近空机时间段.另:若用户要求在非空时间上机,则将用户信息插入该时间段的等待列表. 退出预定,根据输入的时间,撤消该时间的饿预定. 查询是否有等待信息,若有则按顺序显示联系方式,若无则显示提示信息. 二.需求分析 根据题目要求,需要提供机位信息和预约信息,应该用链表来存储,应提供指针的操作:在程序中,需要查询是否有空机位和等待者和处理预约和取消预约问题,应提供查询,显示,预定,删除,修改等操作;另外还要提供键盘式选择菜单实现功能选择. 三.总体设计 现在分析整个一下整个系统,根据上面的需求分析,可以将这个系统的设计分为如下六大模块:查询我的预约状态,查询空位,预约,取消预约,排队,查询等待信息. 四.详细设计及实现 1.宏定义 #includestdio.h #includestdlib.h #includestring.h #define LENGTH 6/*总时段数*/ #define MAX 2 #define S(r) (r-8)/2/*计算在哪个时段数*/ struct node{ int locat; char data[10];/*学号,假设为联系方式*/ struct node *next; }; struct node *head; struct cell{ int CNum;/*连接在该时段头结点的总机器数目*/ struct node *first;/*指向整个队列的开头*/ struct node *middle;/*指向等待预约队列*/ struct node *last;/*指向整个队列的结尾*/ }TimeQueue[LENGTH]; 【程序】 main() /***************主函数**************/ { int i; for(i=0;iLENGTH;i++){/*初始化*/ TimeQueue[i].CNum=0; TimeQueue[i].first=NULL; TimeQueue[i].middle=NULL; TimeQueue[i].last=NULL; } while(1){ printf(:\n); printf(1.Search my booking state 2.Search empty place 3.Book 4.Cancel booking 5.Waiting 6.Search waiting\n); scanf(%d,i); /*选择功能*/ switch(i) { case 1:Inquir();break; /*查询我的状态模块*/ case 2:inquir();break; /*查询空位模块*/ case 3:booking();break; /*预约模块*/ case 4:cancel();break; /*取消预约模块*/ case 5:waiting();break; /*排队模块*/ case 6:inquir_waiting();break; /*查询等待信息模块*/ default:printf(error\n); } } } 3.各功能模块设计 (1)查询我的状态模块 [数据结构] 我的原始数据是预约者预约的信息,将它储存在用指针处理的链表中。 【分析】 根据输入的时间来判断应该查询的结构体,把其首地址赋给Rem,然后通过指针的移动,比较输入的学号和存储在该结构体中的Rem-data,来判断我的预约状态。 [流程图] 【程序】 void Inquir() { int n; int i; char Infor[10]; struct node *q; struct node *Rem; printf(Please input the time you want to search!(24 xiao shi zhi bet

文档评论(0)

000 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档