这是一个基于 Qt 开发的餐饮管理系统,作为某末流985高校个人大一上学期程序设计基础(C 语言)的大作业。由于当时编程基础薄弱,主要逻辑采用面向过程的 C 语言思路,仅 Qt 框架必要部分使用 C++。系统实现了菜品与库存、订单、座位、会员管理等基础功能,是初次尝试将编程知识应用于实际场景的作品,存在不少稚嫩之处,望各位多多包涵,提出宝贵的意见建议。未来会尝试用面向对象的思路进行重构。
-
菜品与库存管理:
- 支持添加、删除、编辑菜品信息。
- 可按条件搜索菜品,提供默认、单价升序、降序排序。
- 展示菜品名称、单价、库存等信息。
-
订单管理:
- 可新增客户订单,编辑订单菜品状态。
- 按订单状态(全部、正在备餐、已上齐)筛选,按座位(楼层、区域、桌号)筛选。
- 显示订单号、创建时间、人数、位置、状态等信息,支持非会员直接结账和会员卡号结账。
-
座位管理:
- 以树形结构展示“楼层 - 区域 - 餐桌”布局。
- 可添加选定项的子项或并列项、删除选定项,直接调整餐桌桌型及当前人数。
-
会员管理:
- 可新增、编辑、删除会员信息,按会员卡号搜索。
- 管理会员类型(如普通会员、高级会员),设置不同折扣。
- 进入
dist文件夹; - 双击打包后的可执行文件
RestaurantManagementSystem.exe启动程序。
本项目的 src 目录包含了所有源代码文件,基于 Qt 框架开发,实现餐饮管理系统的各功能模块。以下是对目录内主要文件和结构的说明:
-
main.cpp:程序入口文件(C++),初始化 Qt 应用程序实例(QApplication)并启动主窗口,是程序运行的起点。 -
主窗口相关:
mainwindow.h和mainwindow.cpp:主窗口的头文件与实现文件(C++),定义主窗口类及其成员函数,处理主窗口初始化、信号槽连接等逻辑,如调用各子窗口。mainwindow.ui:通过 Qt Designer 设计的主窗口界面文件(XML 格式),描述主窗口布局和组件设置。
-
功能模块相关:
- 座位管理:
deskwindow.h和deskwindow.cpp:座位管理窗口的头文件与实现文件(C++),处理界面显示、数据加载及用户操作响应,如添加/删除座位项。deskwindow.ui:座位管理窗口的界面设计文件。
- 订单管理:
orderadd.h和orderadd.cpp:订单添加功能的头文件与实现文件(C++),处理订单添加界面逻辑。orderstatusedit.h和orderstatusedit.cpp:订单状态编辑功能文件(C++),处理订单状态修改逻辑。orderwindow.h和orderwindow.cpp:订单管理主窗口的头文件与实现文件(C++),整合订单操作,如显示订单列表、筛选订单等。orderwindow.ui:订单管理窗口的界面文件。
- 库存管理:
stockcreate.h和stockcreate.cpp:创建库存项功能文件(C++)。stockdata.h和stockdata.cpp:处理库存数据显示与管理的文件(C++)。stockedit.h和stockedit.cpp:编辑库存信息功能文件(C++)。stockwindow.h和stockwindow.cpp:库存管理窗口的头文件与实现文件(C++),管理库存相关操作。stockwindow.ui:库存管理窗口界面文件。
- 会员管理:
vipcreate.h和vipcreate.cpp:创建会员功能文件(C++)。vipdata.h和vipdata.cpp:处理会员数据显示与管理的文件(C++)。vipedit.h和vipedit.cpp:编辑会员信息功能文件(C++)。viptypecreate.h和viptypecreate.cpp:创建会员类型功能文件(C++)。vipwindow.h和vipwindow.cpp:会员管理窗口的头文件与实现文件(C++),整合会员相关操作。vipwindow.ui:会员管理窗口界面文件。
- 座位管理:
-
其他文件:
CMakeLists.txt:项目的 CMake 配置文件,定义构建规则,如源文件列表、依赖库等,方便在不同平台编译。
作为大一上学期的 C 语言大作业,虽使用 Qt 框架(基于 C++),但在业务逻辑处理上主要是 C 语言面向过程思路。整体代码在结构、注释、变量命名等方面存在不足,例如功能函数拆分不够细致、注释不完善、类似功能的代码重复使用等。
本项目以 C 语言面向过程的编程思路为主,借助 Qt 框架实现图形界面。除 Qt 框架本身必要的 C++ 代码外,业务逻辑部分均按 C 语言面向过程的风格编写。作为大一上学期的大作业,无论是代码规范还是功能完善度都较为粗浅,仅为个人学习过程的记录,期待能从大家的反馈中汲取经验,不断改进。