首页 > 编程语言 >C/C++在线餐馆预订管理系统

C/C++在线餐馆预订管理系统

时间:2022-12-24 21:22:43浏览次数:77  
标签:管理系统 预订 用户 C++ 信息 餐馆 实训 txt

C/C++在线餐馆预订管理系统

软件学院实训任务书

一、实训名称
实践环节 数据结构与算法实训
项目名称 在线餐馆预订管理系统
二、学生信息
班级 学号 姓名
三、实训目的
通过在线餐馆预订管理系统的设计和开发实践过程,使学生巩固掌握数据结构与算法中的各种数据类型的基本概念、性质及基本算法,熟练应用C语言/Java语言进行抽象建模,并运用相关算法解决实际问题,培养科学思维能力和创新精神。
(1)能够通过文献查阅、进行需求分析,借助算法研讨理解工程问题解决方案的多样性,从现有文献寻求解决实际工程问题的方法。
(2)能够根据项目需求分析,进行模块/子系统设计与实现,并有意识地尝试新方法、新技术。
(3)能够用精练简洁规范的文字、清晰的图表表达自己的设计思想和实现结果,正确绘制图表,分析测试结果,并给出最终结论。
(4)能正确分析算法的时间复杂度和空间复杂度。
四、实训内容
本次实训是设计与实现一个在线餐馆预订管理系统,其主要内容如下:
(1) 需求分析:对系统进行需求分析确定系统的功能需求、非功能需求等。
(2)系统设计:对系统进行设计确定系统的数据管理方式、模块划分等。
(3)系统实现:用C语言或Java语言进行编码实现。
(4)系统测试:对系统进行测试,并根据结果进行分析完善系统。
(5)报告撰写:对分析、设计和实现结果的一个呈现,应包含系统需求分析、系统设计、系统实现、系统测试和实训感想内容。
五、实训功能需求

源码

https://pan.baidu.com/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111

实现在线餐馆预订管理系统,主要功能需求如下:
系统设置商家和个人用户两个角色,其中,个人用户可对用户本人的个人信息进行管理,并可查询餐馆信息、预订餐馆、获取餐馆的推荐等,商家可对自身的餐馆信息进行管理、处理餐馆预订信息等。
相关数据存储在文本文件中,文件信息说明如表1所示。
表1 相关数据说明
文件名 文件说明 具体字段信息
user.txt 用户信息 用户账号、密码、联系方式
shop.txt 商家信息 类型、ID、商家名称、密码、评分、人均消费、地址、电话、特色菜、评论
order.txt 用户订餐信息 用户账户、商家名称、预订时间
distance.txt 商家之间的距离 商家1-ID、商家1名称、商家2-ID、商家2名称、距离
user.txt文件内容示例如图1所示。

图1 user.txt文件内容示例
shop.txt文件内容如图2所示。

图2 shop.txt文件内容示例

图3 order.txt文件内容示例

图4 distance.txt文件内容示例
系统功能包括用户子系统和商家子系统。
1.用户子系统
用户子系统为注册并登录的个人用户提供个人信息管理功能、餐馆查询功能、餐馆预订功能、餐馆推荐功能等。用户进入该子系统时。需要选择注册或登录。注册时,根据用户输入的个人信息,将该用户的信息按照账号升序排列插入到文件user.txt中;登录时根据输入的账号和密码判断该用户是否存在,密码是否正确,登录成功后,进入该子系统。
1)个人信息管理
用户登录后,可通过读写user.txt文件实现对用户个人信息进行管理的功能。
(1)查看个人信息。查找该用户信息,然后将该用户的账号和联系方式显示出来。
(2)修改个人信息。用户可以对自己的个人信息进行修改,包括密码和联系方式,将修改后的信息存储到user.txt文件中。
(3)注销个人信息。用户可以注销当前账号,注销成功后将该用户的个人信息从文件user.txt中删除。
2)餐馆查询
餐馆信息保存在文件shop.txt中,文件中的ID和餐馆名称均是唯一的,由于用户一般是通过名称来查询餐馆,因此将餐馆名称作为查找的关键字,利用哈希表查找算法来实现,若该餐馆存在,则返回餐馆的基本信息,及用户到该餐馆的最短距离。假设用户的地址为郑州轻工业大学,通过读取餐馆之间的距离文件distance.txt,求郑州轻工业大学到该餐馆的最短距离。
3)餐馆预订
一个用户可以预订多家餐馆,一个餐馆也可以被多个用户预订,为了简化处理,所有预订信息均保存在用户订餐信息文件order.txt中,用户可通过读写文件order.txt中的信息,实现个人对预订信息的管理。
(1)查询用户所有预订。查询用户本人的所有预订信息,可能包含多个餐馆的预订。
(2)查询某餐馆的预订。通过输入餐馆名称,查询该用户在该餐馆的预订信息。
(3)添加预订。输入餐馆的名称,如果该餐馆在文件shop.txt中存在,则说明可以进行预订,增加一条新的预订信息存储到文件order.txt的最后;如果餐馆不在文件中,则预订失败。
(4)餐馆推荐。通过字符串匹配算法,借助文件shop.txt中提供的类别,特色菜、评论、评分等信息为用户推荐餐馆。用户选择推荐功能后,依次提示输入餐馆类别、特色菜、餐馆特点,系统将查询到的符合要求的餐馆按评分降序输出。推荐排序尽量采用时间复杂度较低的算法。
2.商家子系统
商家子系统为商家提供餐馆信息管理功能和餐馆预订信息管理功能。商家进入该系统时,需要进行登录。登录时输入商家名称和密码,读取文件shop.txt中的数据,通过哈希表查找判断商家是否存在。登录成功后,进入该子系统。
1)餐馆信息管理
商家登录后,可以通过读写文件shop.txt,采取哈希表对餐馆信息进行管理。
(1)查询餐馆信息。根据登录时的餐馆名称进行哈希查找,显示餐馆自身的相关信息。
(2)修改餐馆信息。商家可以对自身的信息进行修改,根据提示,深入餐馆信息,包括类型、商家名称、密码、人均消费、地址、电话、特色菜等,将更新后的信息存储到shop.txt文件中。
(3)注销餐馆信息。商家可以注销当前账号,注销成功后从文件shop.txt中删除该餐馆信息。
2)餐馆预订信息管理
与个人用户一样,商家可通过读写order.txt文件中的信息,实现对餐馆预订信息进行管理。
(1)查询餐馆所有预订。查询该餐馆的所有预订信息,可能包含多个用户的预订。
(2)查询某用户预订。通过输入用户名称,查询该用户预订的该餐馆信息。
(3)处理预订。商家根据用户预订该餐馆的先后顺序来处理预订,处理后的预订直接删除。通过输入待处理预订的个数n,将目前排在前面的前n条预订该餐馆的信息从order.txt文件中删除。
六、项目开发与实训文档撰写要求

  1. 用C语言/Java语言开发。
  2. 需求分析分组完成。其余任务个人真实地、独立地完成。
  3. 需求分析:根据题目进行需求分析,分析项目的可行性,包括功能分析、技术可行性等。
  4. 系统设计:依据需求分析结果,设计系统方案。分析比较几种可行方案,选择最优方案,完成系统设计。
  5. 系统实现:
    (1)图形用户界面设计:用C语言或Java语言设计系统界面。
    (2)功能实现:根据实际需求对系统进行改进或者进行模拟。
    (3)鼓励需求创新,实现更多功能。
    (4)规范编码:变量名、函数名应规范,语句嵌套采用缩进格式;尽量采用结构化和模块化的程序设计方法;能够清楚注释程序中功能语句块的具体含义。
  6. 系统测试:对系统进行简单测试,并根据结果进行分析完善系统。
  7. 撰写规范的实训报告:应包含软件需求分析;设计思路和整体框架;各功能或者模块实现的思路(或者用带注释的程序代替)并交待模块之间的接口关系;系统设计的结果(可以用一些屏幕拷贝的图来补充说明)。
  8. 设计的系统能够运行,提交源程序、实训日志和实训报告。
    七、进度安排
    天/日期 任务描述 通过标准
    第1天 包括功能需求和非功能需求的分析、定义。 能够通过查阅和利用文献,能够参与讨论,总结系统需求。需求分析文档规范、合理。
    构思思路和整体框架;
    定义数据结构类型,设计系统框架;
    设计被系统调用的main函数;
    设计界面函数。 能够根据项目需求分析,提出项目设计方案,完成系统设计、代码设计。
    设计方案,设计思路、实验(论证)方法无原则性错误。
    第2-4天 根据选择的数据结构,完成系统的基本功能 各子模块调试通过,系统测试没有错误。
    系统界面不友好度在可接受范围。
    设计算法,完成算法功能并编码实现。
    第5天 实训报告包括系统分析、系统设计、系统实现、系统测试和实训感想等。 论述基本完整,条理基本清晰,有一定逻辑性。图、表、文字表述较规范。成果形式基本规范,内容完整。
    验收程序、讨论、成果提交。 汇报基本简明扼要,思路不够清晰;关键技术表达准确。
    基本问题回答准确,基本概念清楚。
    八、考核评价方式
    本课程采用“目标+环节+报告”的考核方式,围绕课程目标达成情况,从实训过程、项目代码和实训文档质量等几个方面进行考核,成绩评定依据实训日志成绩(10%)、实训验收成绩(60%)和实训报告成绩(30%)进行核定。最终成绩采用优秀、良好、中等、及格、不及格五级制。

标签:管理系统,预订,用户,C++,信息,餐馆,实训,txt
From: https://www.cnblogs.com/codewriter/p/17003404.html

相关文章

  • 构建智能化日志收集平台-EFK日志管理系统
    一、日志收集在生产环境或者测试环境,如果某个服务或者业务组件出现问题,如何定位和排查?需要靠日志,日志是定位问题的重要手段。1.日志打印常见级别日志打印通常......
  • 新闻发布及管理系统的设计与实现(论文+PPT+源码)
     本科毕业设计(论文)题目:新闻发布及管理系统的设计与实现专题题目:本科毕业设计(论文)任务书题目:新闻发布及管理系统的设计与实现专题题目(若无专题则不填):原始......
  • c++ 模板参数有默认值时模板特例化匹配问题
    如下的源码:template<typenameT,typenameU=int>classS{//#1public:voidf1(){};};template<>classS<void>{ //#2public:voidf2(){};};......
  • 基于SqlSugar的开发框架循序渐进介绍(23)-- Winform端管理系统中平滑增加对Web API对接
    在前面随笔介绍的基于SqlSugar的WInform端管理系统中,数据提供者是直接访问数据库的方式,不过窗体界面调用数据接口获取数据的时候,我们传递的是标准的接口,因此可扩展性比较好......
  • 蓝桥-13届-C++-B组-省赛-F题-统计子矩阵
    直达链接主要解题思路分为两个部分,1是构造二维前缀和计算矩阵和,降低每次求和的时间复杂度;2是对所有子矩阵的遍历求和过程,因为需要两个坐标,遍历4个行/列值,4层for循环时间复......
  • C++基础3
    C++基础3typedef为现有类型创建一个新名字主要有以下几种形式:为基本数据类型定义别名为指针定义别名为自定义数据类型定义别名为数组定义别名声明函数定义新......
  • MES生产管理系统打造智慧车间
    在工业4.0的背景下,企业的数字化改革能有效的帮助企业生产和管理得到提升。并让企业生产与管理得到更好的发展,尤其是信息自动化模式,可以促进企业的整个效率与质量水平提高。M......
  • C/C++编译器配置——MinGW下载安装
    C/C++编译器配置——MinGW下载安装前言本文主要讲述如何安装C语言编译器——MinGW,特点是文章附有完整详细的实际安装过程截图,文字反而起说明提示作用。编写本文的原因......
  • 大家都觉得哪个项目管理系统好?
    本章节将盘点国内外一些优秀的项目管理工具,包含:1、软件开发项目管理工具PingCode;2、项目协作管理软件Worktile;3、项目缺陷追踪管理软件Jira;4、微软项目管理软件Microsoft......
  • 国产paozhu c++ web framework 正式版发布
    经过大半个月测试修改paozhuc++webframework正式版发布,1.0.5release官方第一次发布正式版,可以用于生产环境。易用性超越国外各种c++webframework,简单易用,新手......