111110130数据结构大作业.docx_第1页
111110130数据结构大作业.docx_第2页
111110130数据结构大作业.docx_第3页
111110130数据结构大作业.docx_第4页
111110130数据结构大作业.docx_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目报告数据结构大作业报告项目设计名称:网吧快捷订餐系统(一)问题阐述与分析:1课题背景当今社会的生活节奏越来越快,人们对餐饮的要求也越来越高,不仅要求色香味,而且对于就餐的时间和订餐的方式也有了更高的要求,许多顾客由于无法抽出时间来享受美味,这样就产生了快捷订餐的要求。现针对网吧中的消费者,在忙于上网游戏或工作的同时,他们可能无暇顾及吃饭问题,或没有充裕的时间间隔允许他们去买饭吃饭,这时对餐饮的快捷性要求就形成了网吧快捷订餐的要求。另外,餐饮商家可以为网吧的消费者提供服务,扩大服务范围,扩展服务对象。并且网吧也可以通过提供快捷订餐系统的使用来更好的吸引消费者。针对一些临时订餐的客户,可以推出指定套餐,提高送餐效率,还可以引入客户评价系统,让客户对菜品以及餐馆的服务进行评价,以供其他消费者参考。2需求分析(1)系统性能分析系统需要操作简单,界面友好:要有完整美观的空间布局。要使得管理员对菜品信息录入、删除等操作更加简单快捷,客户对系统的订阅、搜索、支付、评论等操作一目了然。信息及时可见:对客户预订的餐饮信息的处理要立刻在首页的对应餐馆信息栏里显示处理,使得信息可及时发布,即时见效。系统运行应快速、稳定、高效。在结构上映具有良好的扩展性,便于进行功能的扩展和维护。(2)系统需求分析系统具有的功能:用户权限管理,菜单管理,浏览功能,订单功能,评价功能,搜索功能。 顾客需要实现餐饮的浏览、搜索、订购、支付、评论功能。功能图见图1。管理员需要实现对餐馆信息、菜品信息的管理,另外还要对管理员信息和会员信息进行管理。功能图见图2。图1 顾客功能图图2 管理员功能图(二)项目设计内容1系统模块登陆模块: 通过用户名和密码,自动判断用户权限,进入相应的界面,如用客户进入浏览订阅的界面,管理员进入管理界面。搜索模块: 通过顾客输入的对想要的餐馆或餐饮的信息进行搜索,显示搜索结果。订购模块: 将顾客选中的餐饮信息传递给餐馆,使信息能及时被相应,做到信息的及时发布,即时见效。评论模块:顾客将菜品的品尝结果作以反馈,以供其他顾客参考以及餐馆改进使用。管理员模块:对餐馆信息、菜品信息进行录入、修改、删除等操作,还要对会员的信息进行管理。2数据结构描述 数据结构餐馆和菜品都是以一个一个节点的形式进行存放,餐馆类型可以按树形结构存储,一个树枝下面的是一种类型,每个餐馆下面的分支用来存储菜品的种类。Struct node /餐馆结点Char RestaurantName;Int Type;Node *next;Struct node /菜品结点Char FoodName;Float price;Int Type;Node *next;ADT RestaurantTree数据对象 D: 数据关系 R:基本操作 P:查 找 类 插 入 类删 除 类 用户信息则是以线性表的形式进行存储,用户登陆的时候则需要查找整个线性表,查看用户名和密码是否符合。ADT List 数据对象:Username; Permissions; Password;基本操作:InitList( &L ) /构造一个空的线性表L。DestroyList( &L ) /销毁线性表 LListEmpty( L ) /判断栈L是否空ListLength( L ) /求L的长度PriorElem( L, cur_e, &pre_e ) /求前驱的值NextElem( L, cur_e, &next_e ) /求后继的值GetElem( L, i, &e ) /取i位置的值 LocateElem( L, e, compare( ) ) /在线性表中查找eListTraverse(L, visit( ) /遍历线性表ListInsert( &L, i, e ) /在i位置插入eListDelete(&L, i, &e) /删除i位置的元素 ClearList( &L ) /清空线性表ADT List 存储结构将用户信息、餐馆信息、餐饮信息以及评论内容以文件的存储结构进行存储。3算法实现登陆模块:需要建立线性表,遍历以及查找伪代码:Status ListInsert_Sq(SqList &L, int i, ElemType e) / 在顺序表L的第 i 个元素之前插入新的元素eq = &(L.elemi-1); / q 指示插入位置for (p = &(L.elemL.length-1); p = q; -p) *(p+1) = *p; / 插入位置及之后的元素右移 *q = e; / 插入e +L.length; / 表长增1return OK; / ListInsert_Sq Status ListDelete_Sq (SqList &L, int i, ElemType &e) /删除if (i L.length) return ERROR; p = &(L.elemi-1); / p 为被删除元素的位置e = *p; / 被删除元素的值赋给 eq = L.elem+L.length-1; / 表尾元素的位置for (+p; p next; j = 1; / p指向第一个结点,j为计数器while (p & jnext; +j; if ( !p) return ERROR; / 第 i 个元素不存在e = p-data; / 取得第 i 个元素return OK;/ GetElem_L搜索模块:需要对好评度等进行排序,需要排序代码伪代码:/快速排序void sort(int *a,int x,int y)int xx=x,yy=y;int k=ax;if(x=y) return ;while(xx!=yy)while(xx=k)yy-;axx=ayy;while(xxyy& axxdata=key) s=T;else if(T-datakey) /key大于当前结点的关键字 ,则查找左子树s=SearchBST1(T-lchild,key);/key小于当前结点的关键字则查找右子树 Else s=SearchBST1(T-rchild,key); ret

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论