数据库课程设计报告---模拟排队买票.docxVIP

数据库课程设计报告---模拟排队买票.docx

  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文档。上传文档
查看更多
数据库课程设计报告---模拟排队买票

模拟排队买票一目的使用户能够通过本程序实现所需功能,用户可以通过本程序进行模拟排队,包括入队和出队操作,信息包含在input.txt文件中,用户进行的操作结果将保存在output.txt文件中。二 需求分析1、如何存放和查找所有的人员信息用二维数组来存放和查找数据,每个数组元素就存放一个人的信息结构体Member,包括名字name,所在朋友组group,以及编号idnum,每行的第一个元素不存放人员信息而存放该朋友组的人数便于以后的遍历。2、如何操作EnQueue和DeQueue命令关于操作EnQueue和DeQueue命令,这可以用队列来模拟,由于有插队现象的存在,不能单纯地用一个数组来表示队列,因为这样的话,插入一个朋友,则他后面的人都要往后移一个单位,删除一个人,则他后面的人都要前移一个,这样无论插入还是删除都要移动大量的元素,所以,采用链表的形式,构造链队列,头结点的指针指向队头元素,尾指针指向队尾元素。输入Enqueue命令,如果队伍里有朋友,则排在朋友后面;如果没有遇到朋友,则排在队尾。入队时,直接向链队列中插入一个新节点即可。输入Dequeue命令,则根据“先进先出”,按照各个元素和它后继元素的先后顺序,每次删除队列中的第一个。程序结构如下所示。for(读测试文件){Switch{ case 输入Enqueue: {读入名字;插入链队列; } case 输入Dequeue: {删除队列的第一个名字;将该名字输出到文件;} case 结束:break;}}窗口结构关系图:Member nextNext MembernextQueue: …. nullQueuePtr frontQueuePtr rear三 概要设计1、本程序包含两个模块(1)主程序模块main(){定义及初始化;显示开始菜单界面,让用户选择操作;进行操作;关闭文件,结束;}(2)函数定义模块定义初始化,入队,出队操作等6个功能函数voidReadInput(FILE *fin);将input文件中的内容读入到二维数peo当中,并附上编号。Status InitQueue(Queue Que[4]);将input文件读入到peo数组里面去,并进行窗口初始化,随机选一部分人进行入队,每一个都将按照最佳位置排入队伍。Status InitEn(Queue Que[4],Member a);将选出来的人进行按最佳位置入队。Status EnQueue(Queue Que[4],FILE *fout);由用户输入人名,再进行最佳入队操作;Status DeQueue(Queue Que[4],int num,FILE *fout);由用户选择窗口号,删除该窗口的第一个人,进行出队操作;int Check(Queue Que[4], char name[]);判断用户输入的人名是是否存在或已排入队伍,若存在且未入队则返回他所在的朋友组号及二维数组peo的行序。main函数调用关系图:DeQueueInitQueueEnQueueReadInputInitEnCheck四 详细设计1、名称#includestdio.h#includestdlib.h#includecstdlib#includestring.h#includemalloc.h#includeiostream#includetime.h#define Max 100#define OK 1#define ERROR 0#define INFEASIBLE -1#define OVERFLOW -2typedefint Status;typedefstruct{char name[8];int group; //成员所在朋友组编号intidnum; //成员编号}Member; //成员结构体,保存个人信息typedefstructQNode{Member data;structQNode *next;}QNode,*QueuePtr; // 排队时每个人信息结点typedefstruct{QueuePtr front;QueuePtr rear;}Queue;Member peo[Max][Max]; //全局变量,保存input.txt文件的内容int N; //全局变量,保存朋友组数目int tot;

文档评论(0)

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

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

1亿VIP精品文档

相关文档