基于VC6.0的餐馆点菜系统的设计与实现.docVIP

基于VC6.0的餐馆点菜系统的设计与实现.doc

  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文档。上传文档
查看更多
基于VC6.0的餐馆点菜系统的设计与实现.doc

基于VC6.0的餐馆点菜系统的设计与实现   摘 要 随着餐饮业发展的规模日益增大,人力成本的投入也随之增大,为了在竞争激烈的环境中获取利润,企业认识到餐馆点菜系统不仅有助于提高餐饮业的运作效率,而且降低成本。本文详细介绍了如何用C语言来开发一款餐馆点菜系统,适合于管理员、服务员、经理不同角色的使用,管理员实现台桌、菜谱、员工的添加、删除、修改等操作,服务员实现点菜等功能,经理可以查询每位服务员的营收情况。该系统为提高餐馆的管理水平提供技术支持。   【关键词】点菜系统 C语言文件VC6.0   【关键词】点菜系统 C语言文件VC6.0   1 前言   传统的点菜方式都是服务员拿着纸和笔到顾客面前登记,显得相当繁琐。为了提高餐饮企业的效率和节省成本,利用计算机来代替人工劳动,为此设计并实现了新型的餐馆点菜系统。在信息高速发达的今天,更简单、更快捷的点菜方式当然会受到人们的青睐,更少的员工反而有更高的工作效率,所以点菜系统在餐饮行业的流行也是必然的事。   本人利用C语言开发的餐馆点菜系统,用windows7环境下的VC6.0开发,可以实现三种不同角色的登录:管理员、服务员、经理。管理员的功能有台桌管理、菜谱管理、人员管理。服务员的功能有开桌、点菜、结账、营业额查询、已买/未买单查询。经理的功能有营收统计。而且三种角色都有注销和退出功能。本点菜系统主要利用到C语言的链表和文件方面的知识。   2 系统概述   本系统的数据是从文件中读取的,对于小存储量的数据用文件就足够了。系统的总体框架从最底层的各个txt文件开始,这些文件包括staff.txt(员工信息)、menu.txt(菜谱信息)、desk.txt(台桌信息)、桌号.txt(已开桌子信息)、uncount.txt(所有账单信息)、服务员ID.txt(服务员每天营业额)。利用自己封装的文件读写函数,把这些数据读取到内存里组成各种相对应的链表,系统运行的时候就是对这些链表这些读写,而没必要每次都从文件里面读取,当系统掉电的时候,链表里面的数据就保存到文件里面。系统图里链表再往上面一级就是各种功能,比如登录、点菜、结账等,最顶层就是与用户交流的系统界面。总的系统框图如图1。   3 系统主要功能介绍   3.1 登录设计   开机界面显示后,系统读取文件staff.txt存入员工链表staff_chain,用户输入用户名和密码,系统进行输入字符校验,不允许输入奇怪字符,根据输入的用户信息与员工链表staff_chain的各个结点信息进行对比,如果数据对比正确,则登录成功,并根据角色的不同显示相应的功能界面,否则,登录失败。登录流程图如图2。   3.2 管理员的功能设计   虽然本系统的管理员的功能有台桌管理、菜谱管理、人员管理,但是每种管理实际上都是实现增删改查。例如人员管理有增加员工、删除员工信息、修改员工信息和查询员工信息,其实现的方法都是对从文件读取生成的链表staff_chain进行操作。   操作链表的时候用了自己封装的几个函数:   函数:void List_Add(LIST_T *head,void *data)。   函数功能:添加链表结点。   参数意义:所要添加结点链表的头指针head,结点的数据data。   函数:void *List_GetNode(LIST_T*head, int Index)。   函数功能:获取链表某个结点。   参数意义:head---链表头结点,Index---链表结点编号。   返回值:返回链表结点的data指针。   函数:intList_Del(LIST_T *head,int Index)   函数功能:删除链表的某个结点。   参数意义:Index---链表结点编号,head---链表头结点。   返回值:删除成功返回1,失败返回0。   3.3 服务员的功能   该系统中最重要的就是服务员的功能,首先服务员开桌,桌子的状态改为已占用,接着点菜的功能实现是该模块的难点,因为涉及到是否马上点菜,加菜和退菜等处理。当进入点菜功能时,系统从文件读取生成两条链表,分别是菜谱的链表menu_head和客户已购买菜的链表order_menu_head,系统根据用户输入的菜谱ID号和份数,和order_menu_head的各个结点进行比对以确认是否第一道菜,如果是的话,就生成账单记录消费额。点菜实现的流程图见图3。   3.4 经理的功能   经理主要负责统计每位服务员在某个日期范围内的营收情况。实现的方法是当服务员一结账完毕,就把营业额添加到已该服务员ID.txt文件下面,当经理要查询时,就从各个服务员ID.txt里面读取出相应的营收情况。处理流程见图4。

文档评论(0)

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

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

1亿VIP精品文档

相关文档