版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、餐厅管理系统I餐厅管理系统尚燚目录摘摘 要要.11绪论绪论.12系统分析系统分析.22.1 可行性分析.22.1.1 技术可行性分析.22.1.2 经济可行性分析.22.1.3 操作可行性可行性.22.2 需求分析.32.2.1 功能需求.32.2.2 数据需求.32.2.3 性能需求.32.3 数据流图.42.4 数据字典.62.5 E-R 图.83. 总体设计总体设计.93.1 系统结构.93.2 功能模块设计.103.3 系统设计方案.113.4 数据库详细设计.114. 详细设计详细设计.124.1 系统设计与实现.124.1.1 数据库连接.124.1.2 系统流程图.124.1.3
2、 界面设计.124.2 各功能模块设计与实现.134.2.1 餐桌管理模块.134.2.2 订餐管理模块.144.2.3 结算管理模块.144.2.4 添加模块.154.2.5 修改模块.154.2.6 删除模块.155. 调试与测试调试与测试.165.1 调试.165.2 测试.17餐厅管理系统II6. 结论结论.18结束语结束语.18参考文献参考文献.19附录附录 1用户手册用户手册.19附录附录 2源程序源程序.20餐厅管理系统1摘摘 要要随着计算机技术的飞速发展,信息时代的到来,信息改变了我们这个社会。各行各业在日常经营管理各个方面也在悄悄地变化。餐厅管理的现代化程度体现在将计算机与信
3、息技术应用于经营与管理,以现代化工具代替传统手工业。无疑,使用信息化管理使餐厅管理更先进、更高效、更科学,信息交流更迅速,给用户带来更大的方便。本系统根据用户对数码旅客的需求,采用面向对象的可视化编程工具Microsoft Visual C+,结合 Microsoft Access 数据库,实现用户对餐厅管理系统的要求。本文首先分析了餐厅管理系统的要求,主要是对信息的统计,查找方便快捷等内容,将系统划分为不同的功能模块,再对每个功能模块进行分析、设计,然后阐述了对系统的功能测试、调试,在测试中分析了程序过程的出现的错误及如何改正,最后对系统的完成情况给予总结。关键词:关键词:餐厅;添加;修改;
4、管理餐厅;添加;修改;管理1绪论绪论随着我国经济的迅速发展和假日经济的出现,餐馆饮食业的竞争愈来愈激烈。要想在竞争中取得优势,必须在经营管理、旅客服务等方面提高服务管理意识。而对餐厅的经营状况起决定作用的是餐厅的管理。如何利用先进的管理手段,提高餐厅的管理水平,是每一家餐厅的管理者所面临的重要课题。简单的服务标准已经不是制胜的锦囊,只有做到最细微之处才有机会让顾客体然计算机管理并不是餐厅走向成功的关键元素,但它可以最大限度的为准确、快捷、周全等要会到餐厅服务的优点,而准确、快捷、周全往往就是最基本的成功要素。虽素发挥效用提供有力的支持。因此,采用全新的计算机网络和管理系统,将成为提高餐厅的管理
5、效率,改善服务水准的重要手段之一。面对信息时代的机遇和挑战,利用科技手段提高企业管理无疑是一条行之有效的途径。信息与科技在餐厅管理与现代化建设中显现出越来越重要的地位。根据课程设计任务书要求,本系统开发主要完成以下功能和性能。(1)界面友好,界面设计美观。餐厅管理系统2(2)轻松实现客房信息管理的可视,高效,快捷和方便的管理。(3)数据存储安全可靠。(4)根据巧妙的权限设置使信息安全保密。2系统分析系统分析2.1 可行性分析可行性分析2.1.1 技术可行性分析技术可行性分析由于现在的开发工具具有多样性,因此人们可根据自己的需求来选择合适的开发工具,来实现餐厅管理系统的开发。我们可选则 VB、V
6、C 等技术,与ACCESS、SQL Server、ORACLE 等数据库进行连接,实现餐厅管理系统的各个功能。同时优越的计算机软件开发环境和多样化的开发技术,都可显示餐厅管理系统开发是完全可行的。此外,在大学期间,对 VB、VC+等工具有了比较系统地学习,平时也经常上网,对这些开发工具也有了一定的了解。综上所示,不管是从计算机软件环境或我们自己的技术能力的角度来看,餐厅管理系统的开发都是具有一定的可行性。2.1.2 经济可行性分析经济可行性分析从餐厅管理系统的开发环境考虑,根据自身情况和资金情况,购买一台性能稳定、效率较高的笔记本。操作系统采用 Windows server 2003,数据库采
7、用功能强大并且简单的 Microsoft Access,开发工具选用 VC 6.0,学校提供该软件。软件开发后,可以在很大程度上减少人们工作上的压力。系统又拥有很长的使用寿命,可以说自行开发该系统是一次投入,终身收益。拥有源代码,用户可根据自身需要,修改程序代码。本系统还具有可持续发展,可扩展等特点。系统的开发在经济上有很大的价值,其前景不可估量。因此,该系统在经济上是可行的。2.1.3 操作可行性可行性操作可行性可行性 本系统操作的对象不受限制,而且管理的对象只有工作记录,且对每条记餐厅管理系统3录的操作都非常简单。本系统采用数据库管理,在技术方面也不做太多要求,所以只要用户对数据库有些了解
8、,便可根据程序提示对它进行操作。工作备忘录程序占用的计算机空间资源很小,所以在任何计算机上存储量、速度方面都能满足数据库运行的要求。本系统采用可视化界面,界面简洁清楚,操作员只需点击相应的按钮和输入相应的数据可实现操作。也就是说系统对操作人员的计算机专业知识要求不高,只需懂得计算机和数据库的基本操作即可。综上所述,本系统的开发是可行的。2.22.2 需求分析需求分析2.2.12.2.1 功能需求功能需求本系统要求开发餐厅管理系统。满足管理员能够及时了解餐馆的信息。本系统可实现餐厅菜谱、餐桌、订菜、结算信息的添加、修改、删除,以及结算功能。主要内容如下:(1)记录餐馆菜谱信息。并能够添加、修改、
9、删除菜谱信息。(2)记录餐桌顾客点菜信息。并能够修改、删除点菜信息。2.2.22.2.2 数据需求数据需求 本次课程设计的题目为餐厅管理系统,编程者要掌握餐馆菜谱的基本信息,包括:菜名、编号、种类、价格、描述等;餐桌信息包括:餐桌号、容量、是否空闲等。并对录入的信息进行添加、删除、修改等基本操作,除此外,管理员根据餐桌信息进行结算操作等。2.2.3 性能需求性能需求餐厅管理系统记录了餐馆的基本信息,管理员可以对记录进行添加、删除。这就要求本系统要具备一定的安全性。管理员输入信息要求及时、准确、全面,确保信息系统的稳定性和可靠性。再就是程序要简单,操作不会占用用户很多时间,这就要求程序的响应速度
10、要快。餐厅管理系统42.3 数据流图数据流图数据流图是结构化系统分析的工具。它既可以表达数据在系统内部的逻辑流向及存储,又可以表达系统的逻辑功能和数据的逻辑变换。数据流图既能表达现行人工系统的数据流程和逻辑处理功能,也能表达自动化系统的数据流程和逻辑处理功能。数据流程有五种基本符号:外部项、数据流、处理逻辑(加工) 、数据元素和数据存储。 外部项外部项又称外部实体,是指不受系统控制,在系统之外的事物或人。它表达该系统的数据的外部来源或去处。它也可以是另外一个数据处理系统,它向该系统提供数据或接收来自该系统向它发出的数据。一般只出现在数据流图的顶层图。 数据流数据流可以是一个单独的变量,也可以是
11、一个数据结构。它是一个动态数据,从数据流图中的一个处理流入到另一个处理,也可以流入或流出外部项。数据流可以由某一个外部项产生,也可以由某一个处理逻辑产生,还可以来自某一个数据存储。 处理逻辑处理逻辑对数据的变换方式有两种:变换数据的结构和在原有数据内容基础上产生新的数据内容。由三部分组成:标识部分、功能描述部分和功能执行部分。标识部分用于惟一地标识一个处理逻辑,以区别于其它逻辑。一般用数字编号表示主处理逻辑,编号下再接子编号,表示某个处理逻辑被进一步分解后某个处理逻辑下的某个子处理逻辑等。功能描述部分是处理逻辑必不可少的部分。用一句非常简单的话,直接表示这个处理逻辑要做的事,即它的逻辑功能。在
12、逻辑的功能描述部分中没有主语,只有动词和宾语组成。执行这项功能的主体可能是某一个部门,也可以是某一个人或计算机程序,它们被看作处理逻辑的执行者,书写在长方框的底部。功能执行部分同标识部分一样,不是必须的,只是作参考用,餐厅管理系统5通常是不写出的。 数据元素数据元素是数据的最小组成单位,是不可分的数据单位。数据元素是数据流或数据存储中的基本成分。 数据存储数据存储(又称为文件),指暂时保存的数据,它可以是数据库文件或任何形式的数据组织。一个处理逻辑可能要从数据存储中读出某些数据,或者可能把一些数据存入到某个数据存储中,甚至修改数据存储中的某些数据,那么就得用数据流将处理逻辑和数据存储联结起来。
13、而要编制复杂的数据流图,则要采用自顶向下扩展逐层分解。首先是系统关联图,给出外部实体与即将开发的管理信息系统之间的数据流(从外部实体进入系统,或从系统输出给外部实体) 。关联图回答系统从外部世界得到什么,系统将给外部世界又是什么。从关联图分解得到顶层图,又从顶层图分解得到一层数据流图,再分解出二层数据流图。在分解过程中,随着更具体和更详细,新的数据流和数据存储被引入,但在关联图中提及的那些数据流是不能再增加,也不允许被减少的。在上述分解过程中,上层的一个处理逻辑可能被分解成多个更具体的处理逻辑,新的数据存储和数据流被引入。如此逐一分解扩展,直至不需要再分解为止。为了表达数据处理过程的数据加工情
14、况,用一个数据流图是不够的。为表达稍为复杂的实际问题需要按照问题的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系。先把整个数据处理过程暂且看成一个加工,它的输入数据和输出数据实际上反映了系统与外界环境的接口。这就是分层数据图的顶层,也称作总体图。餐厅管理系统的数据流图如图 1。餐厅管理系统6顾客订餐结算花钱就餐菜名选择菜号餐桌选择桌号图图 2 2 餐厅管理系统的数据流图餐厅管理系统的数据流图2.4 数据字典数据字典数据字典是用来定义数据流图中的各个成分的具体含义的,它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。它和数据流图共同构成了
15、系统的逻辑模型,是需求规格说明书的主要组成部分。数据字典是为分析人员查找数据流图中有关名字的详细定义而服务的,因此也像普通字典一样,要把所有条目按一定的次序排列起来,以便查阅。数据字典有以下四类条目:数据元素、数据流、数据存储、处理逻辑。 数据元素 数据元素名称:编号别 名:编码简 述:菜名编号数据类型:字符型长 度:10餐厅管理系统7 数据名称:菜名别 名:菜名简 述:餐厅菜谱名称数据类型:字符型长 度:10(2) 数据流 数据流名称:餐厅就餐简 述:记录顾客就餐的信息数据流组成:餐厅就餐=餐桌号+菜名+日期(3) 处理逻辑条目 处理逻辑名称:修改信息简 述:修改餐馆的各项信息输入的数据流:
16、修改处 理:按照餐厅各项进行修改输出的数据流:显示生成的餐厅管理系统 处理逻辑名称:删除信息简 述:删除一项菜谱的信息输入的数据流:删除处 理:直接删除一项菜谱的信息输出的数据流:删除后的信息 数据存储 数据存储名称:菜谱信息简 述:记录菜谱的信息数据存储结构:菜肴编号、菜肴名称、价格餐厅管理系统8关 键 字 :供应的菜肴 数据存储名称:餐桌信息简 述:餐桌的信息数据存储结构:餐桌编号、容量、是否空闲、描述关 键 字 :餐桌信息2.5 E-R 图图经过分析,本系统有菜谱,餐桌二个实体。(1)菜谱实体属性图菜谱信息包括:菜名,编号,价格,种类,描述。菜谱管理菜名描述种类价格编号 图图 2 2 菜
17、谱实体属性图菜谱实体属性图(2)餐桌实体属性图餐桌信息包括:桌号,容量,是否空闲,描述。餐桌管理餐桌号是否空闲容量描述 图图 3 3 餐桌实体属性图餐桌实体属性图(3)系统 ER 图 包括实体菜名,餐桌以及它们之间的关系。菜名与餐桌是多对多的关系。 餐厅管理系统9菜名订餐餐桌NM图图 4 4 系统系统 E ER R 图图3. 总体设计总体设计3.1 系统结构系统结构经过对任务书的分析,本系统采用 C/S 结构。C/S (Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到 Client 端和 Server
18、 端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是 Client/Server 形式的两层结构,由于现在的软件应用系统正在向分布式的 Web 应用发展,Web 和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。传统的 CS 体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是 Client 端还是 Server 端都还需要特定的软件支持。由于没能提供用户真正期望的开放环境,C/S 结构
19、的软件需要针对不同的操作系统系统开发不同版本的软件, 加之旅客的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用。而且代价高,效率低。 C/S 与 B/S 区别:Client/Server 是建立在局域网的基础上的,Browser/Server 是建立在广域网的基础上的。首先,在系统的性能方面。只要拥有可上网的浏览器,就可以使用 B/S 系统。不过,B/S 结构的客户端只能完成浏览、查询、数据输入等简单功能,绝大部分工作要由服务器承担,这就对服务器提出了很高的要求,无形中增加了餐厅管理系统10用户在这一方面的投入。采用 C/S 结构时,客户端和服务器都承担部分工作,有效利用了客户端和
20、服务器端的资源,使用户不必在硬件上有更多的投入。另外,浏览器页面不便于修改,这为用户定制自己的文件时带来了不便,比如用户想自定义一个报表,用 B/S 结构的系统就比较难完成。其次,在系统的开发方面,C/S 结构的开发对开发者提出了较高的要求,整个开发过程比较复杂。与 B/S 结构相比,C/S 技术的历史更为“悠久” ,从技术成熟度和开发人员普遍掌握的水平来看更为成熟。第三,系统升级方面。C/S 结构中若有某一模块发生改变,可能要关联到其它模块的变动,使系统升级的成本较大;而 B/S 结构在开发、维护阶段几乎所有的工作都集中在服务器端,只需更新服务器端的软件就可以了。如果系统升级比较频繁,那么
21、B/S 架构的旅客就具有维护工作量少的优势。第四,安全性方面。在安全性上,B/S 结构则略显不足,毕竟现在网络安全系数不高,只要拥有密码,任何人都可以进入到用户的系统中;而 C/S 结构由于需要特定的客户端软件,并且一般来说都要对客户端加密,甚至可以限定只有某一台计算机可以使用这个客户端,因而对安全性有更多的保障。因为餐厅管理系统是面向广大用户的,综合多种因素选用 C/S 结构比较适合。3.2 功能模块设计功能模块设计根据系统功能的要求,主要分为 4 个模块,菜谱管理模块、餐桌管理模块,订菜管理模块、结算管理模块。菜谱管理模块对菜谱进行删除,添加,修改。餐桌管理模块对餐桌信息进行添加,修改,删
22、除和查询。系统的功能模块图如图 5 所示:餐厅管理系统11餐厅管理系统菜谱模块信息添加信息修改信息删除信息修改信息添加信息删除结算模块订餐模块信息添加信息修改信息删除信息修改信息添加信息删除餐桌模块 图图 5 5 系统功能模块图系统功能模块图(1) 菜谱管理模块该模块分为信息添加,对菜谱信息进行添加。信息管理,修改和删除功能。(2) 餐桌管理模块该模块分为信息添加,添加餐桌。信息删除,删除餐桌信息。信息修改,修改餐桌信息。3.3 系统设计方案系统设计方案 旅店住宿管理系统是一个小型的数据库系统。在这里我们选择 SQL Server 数据库进行开发。Microsoft SQL Server 是一
23、种关系型数据库管理系统。关系模型是当前最受欢迎的数据存储和数据检索模型。所有的数据处理都涉及存储和检索数据的操作,Microsoft SQL Server2000 是作为一个组织内部的全部数据的中心存储器来设计的。组织中数据的关键特征强调了这一方法的重要性。在 C/S 框架内,服务器数据库也要求与服务器的通信组件集成,以便和客户系统连接。餐厅管理系统123.4 数据库详细设计数据库详细设计主要介绍后台数据库的结构设计。结构设计是重要阶段,是数据库设计的重要组成部分。下面给出下列表基本的数据结构。表表 1 菜谱信息菜谱信息字段名称数据类型长度允许空说明菜名char10Not Null菜肴名称编号
24、char10Not Null菜肴的编号(主键)种类char20Not Null菜肴的种类价格char20Not Null菜肴的价格描述char20Not Null对菜肴的介绍表表 2 餐桌信息餐桌信息字段说明数据类型长度允许空说明桌号Char10Not null餐桌的编号(主键)容量Char10Not null餐桌的名称空闲Bool10Not null餐桌是否空闲描述Char10Not null餐桌描述4. 详细设计详细设计4.1 系统设计与实现系统设计与实现4.1.1 数据库连接数据库连接在 Microsoft Office Access 上点击“Access 数据库” ,之后按系统提示,建
25、立一个新的数据库,然后创建表。在程序中通过语句“hr = m_pConnection-Open(Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Cypos.mdb;,adModeUnknown);”将该程序和 Access 数据库相连。餐厅管理系统134.1.2 系统流程图系统流程图开始结束菜谱管理界面餐桌管理界面餐桌管理界面餐桌管理界面 图图 6 6 系统流程图系统流程图根据需要选择不同操作界面,可进行餐厅菜谱的添加、修改、删除功能。4.1.3 界面设计界面设计菜谱管理界面如图 7 所示: 图图 7 7 菜谱管理界面 餐厅管理系统144.2 各功能模
26、块设计与实现各功能模块设计与实现 4.2.1 餐桌管理模块餐桌管理模块餐桌管理模块可以添加,修改和删除桌号,容量,是否空闲等餐桌信息,根据管理员不同的这样不仅节约了作业的流程时间,也方便了用户。该功能流程图如图 8 所示开始结束输入餐桌信息进行添加、修改、删除显示所添加的信息图图 8 8 餐桌管理餐桌管理模块流程图模块流程图4.2.2 订餐管理模块订餐管理模块 订餐管理模块可以添加,修改和删除订餐的桌号,菜谱号,数量,日期等信息。该功能模块流程图如图 9 所示餐厅管理系统15开始结束输入订餐信息进行添加删除修改图图 9 9 订餐管理订餐管理模块流程图模块流程图4.2.3 结算管理模块结算管理模
27、块结算管理模块可以实现根据餐桌号对应的菜谱号,菜名,金额等信息,进行结算的功能。该模块的流程如图 10 所示开始结束输入结账信息进行结算图图 1010 结算管理模块流程图结算管理模块流程图4.2.4 添加模块添加模块添加模块可以添加菜谱、餐桌、订餐信息,根据管理员不同的这样不仅节约了作业的流程时间,也方便了用户。该功能流程图如图 11 所示餐厅管理系统16开始结束选择添加选项输入添加的信息显示所添加的信息图图 1111 添加模块流程图添加模块流程图4.2.5 修改模块修改模块 修改模块可以修改当前的菜肴信息、餐桌信息、订餐信息和结算信息。该功能模块流程图如图 12 所示开始结束选择修改的模块显
28、示所修改的信息图图 1212 修改模块流程图修改模块流程图4.2.6 删除模块删除模块删除模块可以实现菜谱菜肴信息、餐桌信息、订餐信息、结算信息的删除功能。该模块的流程如图 13 所示餐厅管理系统17开始结束选择删除信息模块删除所选内容图图 1313 删除模块流程图删除模块流程图5. 调试调试与测试与测试系统的开发经过了问题的定义、可行性研究、需求分析、总体设计、详细设计和编码阶段以后就进入系统的调试和测试阶段。在测试过程中发现系统中存在的疏漏,要对程序做相应的修改和完善工作。由于系统中的缺陷通常是由于某些特定情况考虑不周造成的,因此测试不是为了表明程序正确,测试的目的是以尽可能少的代价和时间
29、找出系统中潜在的错误和缺陷。5.1 调试调试调试是软件开发过程中的一个重要环节,也是最复杂,对软件开发者者来说也是最艰巨的任务。调试的任务是及时改正测试过程中发现的软件错误。具体地说,调试过程由两个步骤组成,它从表示程序中存在错误的某迹象开始,首先确定错误的准确位置,也就是找出哪个模块或哪个语句引起的错误。然后仔细研究推断代码以确定问题的原因,并设法改正。 本系统调试过程中遇到问题、原因和解决方法如下面介绍(1)数据库无法打开在程序运行过程中,经常遇到“对象打开或关闭,无法进行此操作”的问题。经过考虑,在模块中定义了一个变量 Public flag As Boolean,有 flag 的值餐厅
30、管理系统18判定对象的打开和关闭,成功地解决了这一问题。(2)不能正确的统计数量 编程时程序没有与数据库连接上。5.2 测试测试测试时要遵循: 录入数据时数据库是否正确录入; 修改后的数据能否再正常录入数据库; 处理数据时,数据库中的数据能否正常输出; 查询数据时,数据能否从数据库中正常输出。 删除数据时,数据能否从数据库中正常删除。在测试时,首先要仔细认真的输入正确数据,这样才能保证测试的正确性和有效性。在修改数据库后,要注意数据能否正常录入。在修改数据库后,一定不能忘了保存。处理数据时,要注意数据是否输出,如果不能的话,重新连接数据库再试。查询数据时,要注意数据能否从数据库中正常输出。删除
31、数据时,要注意数据能否在数据库中正常删除,若不能,则查看删除语句是否正确。菜谱信息录入功能测试输入菜谱菜肴的相关信息,以此测试查询功能是否有效。测试用例:菜名:西红柿炒鸡蛋编号:001价格:10种类:热菜描述:家常菜餐厅管理系统19结算功能测试输入结算信息,以此测试查询功能是否有效。测试用例:第一组:桌号:01菜谱号:001菜名:西红柿炒鸡蛋金额:10菜名:蘑菇炒肉 14金额:14日期:2011/11/10测试结果:24测试该系统中的功能基本上符合设计要求,系统稳定性良好,运行正常。至此,本次测试圆满结束。6. 结论结论经过三周的努力,课程设计终于顺利完成,课程设计的任务书上要求的功能也都基本
32、实现。可以通过美观的,简洁化的操作界面来简单管理的餐厅。在C/S 的基本模型之下通过对客户及服务器双方的信息交互,实现添加、修改、删除等基本功能。给用户带来更大的方便,使用户能够快捷、准确的获得想要获得的餐馆信息。结束语结束语通过这为期三个礼拜的软件综合课程设计,使我对 VC 和数据库操作有了更深刻的了解,也锻炼了自己的编程能力。在做课设之前我们曾学过JAVA、VC 等有关系统开发工具,还有数据库使用 SQL。刚开始完全自己独立餐厅管理系统20编程序有点无从下手,因为没有学习过如何将 VC 与数据库连接起来的方法等等。对 VC 也有点不顺手,也遇到了很多麻烦。每天上午在实验室里做程序,遇到不懂
33、的问题就请教老师,平时更是经常上网查询大量的资料。虽然我完成了此次的课设,但是我感到了我编程的差距。今后的编程之路还很长,我们仍然需要努力。无论今后遇到了何种困难我都有信心去面对。参考文献参考文献1 萨师煊,王珊数据库系统概论北京:高等教育出版社,20002刘瑞新,汪远征等 Visual Basic 程序设计教程北京:机械工业出版社,2006.83 孔鹏等Visual C+安全手册北京:机械工业出版社,2007.1 4 杨继平,吴华. SQL Server 2000 自学教程.北京:清华大学出版社, 2000.115 许家珆软件工程理论与实践北京:高等教育出版社,2004.7附录附录 1用户手
34、册用户手册点击运行,如图 14 所示。餐厅管理系统21图图 1414 用户界面用户界面进入管理员操作界面,包括菜谱、餐桌、订餐、结算功能模块,如图 11 所示。附录附录 2源程序源程序 主要模块源代码清单:#include stdafx.h#include RMS.h餐厅管理系统22#include DishPage.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ CDishPage property pageIMPLEMENT_DYNCREATE(CDishPa
35、ge, CPropertyPage)CDishPage:CDishPage() : CPropertyPage(CDishPage:IDD)/AFX_DATA_INIT(CDishPage)m_strPrice = _T();m_strName = _T();m_strKind = _T();m_strDesc = _T();m_strCode = _T();/AFX_DATA_INITCDishPage:CDishPage()void CDishPage:DoDataExchange(CDataExchange* pDX)CPropertyPage:DoDataExchange(pDX);/
36、AFX_DATA_MAP(CDishPage)DDX_Control(pDX, IDC_LIST_DISP, m_listDisp);DDX_Text(pDX, IDC_EDIT_PRICE, m_strPrice);DDX_Text(pDX, IDC_EDIT_NAME, m_strName);DDX_Text(pDX, IDC_EDIT_KIND, m_strKind);DDX_Text(pDX, IDC_EDIT_DESC, m_strDesc);DDX_Text(pDX, IDC_EDIT_CODE, m_strCode);/AFX_DATA_MAPBEGIN_MESSAGE_MAP(
37、CDishPage, CPropertyPage)餐厅管理系统23/AFX_MSG_MAP(CDishPage)ON_BN_CLICKED(IDC_BUTTON_ADD, OnButtonAdd)ON_NOTIFY(NM_CLICK, IDC_LIST_DISP, OnClickListDisp)ON_BN_CLICKED(IDC_BUTTON_MODIFY, OnButtonModify)ON_BN_CLICKED(IDC_BUTTON_DEL, OnButtonDel)ON_BN_CLICKED(IDC_BUTTON_CLEAR, OnButtonClear)/AFX_MSG_MAPEND
38、_MESSAGE_MAP()/ CDishPage message handlersvoid CDishPage:OnButtonAdd() UpdateData();if (m_strCode.IsEmpty() | m_strName.IsEmpty()AfxMessageBox(请输入菜谱!);return;float fPrice=(float)atof(LPCTSTR)m_strPrice);m_rsDataSet.AddNew();m_rsDataSet.m_Dish_code=m_strCode;m_rsDataSet.m_Dish_name=m_strName;m_rsData
39、Set.m_Dish_kind=m_strKind;m_rsDataSet.m_Dish_price=fPrice;m_rsDataSet.m_Dish_detail=m_strDesc;m_rsDataSet.Update();m_rsDataSet.Requery();RefreshData();/ TODO: Add your control notification handler code hereBOOL CDishPage:OnInitDialog() CPropertyPage:OnInitDialog();if (!m_rsDataSet.Open(AFX_DB_USE_DE
40、FAULT_TYPE)AfxMessageBox(数据打开失败!);餐厅管理系统24m_listDisp.InsertColumn(0,菜谱号);m_listDisp.InsertColumn(1,菜名);m_listDisp.InsertColumn(2,种类);m_listDisp.InsertColumn(3,价格);m_listDisp.InsertColumn(4,备注);RECT rect;m_listDisp.GetWindowRect(&rect);int wid = rect.right - rect.left;m_listDisp.SetColumnWidth(0,
41、wid/5);m_listDisp.SetColumnWidth(1,wid/5);m_listDisp.SetColumnWidth(2,wid/5);m_listDisp.SetColumnWidth(3,wid/5);m_listDisp.SetColumnWidth(4,wid/5);m_listDisp.SetExtendedStyle(LVS_EX_FULLROWSELECT);RefreshData();/ TODO: Add extra initialization herereturn TRUE; / return TRUE unless you set the focus
42、to a control / EXCEPTION: OCX Property Pages should return FALSEvoid CDishPage:RefreshData()if(m_rsDataSet.IsBOF()return;m_listDisp.DeleteAllItems();m_listDisp.SetRedraw(FALSE); m_rsDataSet.MoveFirst();int i=0;CString strPrice;while(!m_rsDataSet.IsEOF()strPrice.Format(%.2f,m_rsDataSet.m_Dish_price);
43、m_listDisp.InsertItem(i, m_rsDataSet.m_Dish_code);m_listDisp.SetItemText(i, 1,m_rsDataSet.m_Dish_name);餐厅管理系统25m_listDisp.SetItemText(i, 2,m_rsDataSet.m_Dish_kind);m_listDisp.SetItemText(i, 3, strPrice);m_listDisp.SetItemText(i, 4, m_rsDataSet.m_Dish_detail);m_rsDataSet.MoveNext();i+;m_listDisp.SetRedraw(TRUE);void CDishPage:OnClickListDisp(NMHDR* pNMH
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年医学基础知识题库疾病诊断与治疗方法要点
- 2026年建筑师执业资格考试结构设计与施工图试题
- 2026年人力资源管理员工激励与绩效管理试题
- 2026年国际商法考试练习题国际贸易法规与实务
- 2026年通信协议与网络技术考试模拟题如5G技术
- 2026年食品安全管理师试题食品质量与安全控制
- 2026届齐齐哈尔市重点中学高一下数学期末统考模拟试题含解析
- 2026年历史类试题世界历史重要事件与人物题库
- 黄帝内经课件
- 百香果课件教学课件
- T-CFLP 0016-2023《国有企业采购操作规范》【2023修订版】
- 谷雨生物2024环境、社会及管治(ESG)报告
- 2025金风变流器2.0MW故障代码手册V4
- 龙湖物业培训课件
- 反诈知识竞赛题库附答案(150 题)
- 2025年注册可靠性工程师资格认证考试题库500题(含真题、重点题)
- 个人购房合同样本大全
- T-CBMF 91-2020 T-CCPA 17-2020 城市综合管廊结构混凝土应用技术规程
- 电力配网工程各种材料重量表总
- 抗菌药物临床应用指导原则
- 一点一策模板课件
评论
0/150
提交评论