基于C++实现的游客信息管理系统

news2025/2/25 12:21:08

目 录
一、 项目技术路线说明 1
二、 项目需求分析 2
2.1 项目介绍 2
2.2 功能需求 2
三、 系统分析与设计 3
3.1 本程序需解决的关键技术问题 3
3.2 程序流程 3
3.2.1 注册或登陆流程图 3
3.2.2 信息日期判断流程图 4
3.2.3 操作功能选择模块 5
3.3 功能模块 6
3.3.1 增删改查总模块 6
3.3.2 录入信息模块 7
3.3.3 查找模块 7
3.3.4 删除模块 7
3.3.5 修改模块 8
3.4 类的设计 8
四、 程序设计与实现 10
4.1 工程文件组织结构 10
4.2 程序设计 10
4.2.1 Date类设计 10
4.2.2 Person类设计 11
4.2.3 Student类设计 11
4.2.4 Teacher类设计 11
4.2.5 Graduate类设计 11
4.2.6 GraduateTeacher类设计 11
4.2.7 Surface类设计 11
4.3 程序实现 12
4.3.1 Date类实现 12
4.3.2 Person类实现 12
4.3.3 Student类实现 12
4.3.4 Teacher类实现 12
4.3.5 Graduate类实现 13
4.3.6 GraduateTeacher类实现 13
4.3.7 注册登陆功能实现 13
4.3.8 录入信息功能实现 13
4.3.9 查找信息功能实现 14
4.3.10 删除信息功能实现 14
4.3.11 修改信息功能实现 14
4.3.12 输出信息功能实现 15
4.3.13 文件读写操作实现 15
五、 系统测试 17
5.1 测试概要 17
5.2 测试环境与配置 17
5.3 测试方法和工具 17
5.4 系统功能分解 17
5.5 测试内容 18
5.5.1 注册和登陆模块测试 18
5.5.2 录入信息模块测试 20
5.5.3 查询信息模块测试 21
5.5.4 删除信息模块测试 22
5.5.5 修改信息模块测试 23
5.5.6 文件读写模块测试 25
六、 个人小结 28
七、 参考文献 29

一、项目技术路线说明
使用C++面向对象设计该游客信息管理系统,必然需要面向对象的三大特性:封装、继承和多态。对于项目实现要将不同的类的成员进行封装,只保留相应的接口提供给外部。而因为是面向高校的师生,所以有不同的类型的游客,比如老师、本科生、研究生和助教学生等等。那么就可以抽象出统一的一个Person类,那其他的类就可以去继承这个类,而助教学生一般既是老师又是研究生,那么又要求到老师和学生是虚继承Person类,才能保证助教学生的对象不会产生二义性。而多态有静态多态和动态多态两种,动态多态要保证基类中有虚函数,所以要在基类中定义相应的虚函数。文件操作需要有文件流,这样才能实现文件操作。因为是管理系统,必然具备多文件结构的思想,将类的定义与类的实现进行分离。对于用户操作的菜单界面,要提供友好的提示,便于用户进行使用,保证管理系统的合理与规范。

二、项目需求分析
2.1项目介绍
项目是面向高校师生的游客信息管理系统,当前疫情防控前提下,当高校师生进行旅游或者游玩时,为了便于进入各个景区或者娱乐场所,除了要收集汇总师生们的个人基本信息外,还需要统计大家的体温状况等。
2.2功能需求
项目面向高校师生,所以需要有登录和注册的功能,当然有时为了方便可以提供普通游客免密登陆,省去注册和使用密码的步骤,但是提供给游客登陆的功能相对其他类型的成员就会缩减。比如不能让普通的游客对已有的师生信息进行修改。
需要菜单功能供选择,从而进入不同的功能模块。所以需要有总菜单,还需要不用的子菜单的功能,比如不用的用户类型所具备的操作功能不同的显示,还有在部分操作功能下还需要有子菜单。
需要录入师生信息的功能,可以录入用户的信息(姓名、身份证号、出生年月日,以及体温以及不同身份所具有的特有的信息)。同时还要对对用户的出生日期进行合法的检测,以及通过用户的体温判断当前的健康状况,并予以提醒。还需要有计算功能,通过用户输入的合法出生日期,可以调用系统函数获取系统的当前的日期计算用户的年龄,可以省去用户自己输入年龄的步骤。
需要查看并输出信息的功能,输出可输出各类成员的人数和总人数,每类成员的发热人数。
还要又各中人员的具体信息(包括姓名、身份证号、出生年月日,以及体温以及不同身份所具有的特有的信息)。
并需要查找、修改、删除的功能,可以通过选择按姓名、学号或职工号、身份证号三种方式进行查找;同时删除和修改的功能可以先利用查找功能寻找对应的人员,再进行删除或者修改。
需要文件操作功能,对如已经录入好的师生信息,需要能够生成相应的文件,进行信息的长久保存,便于实际在游客游玩的过程之中进行使用。同时,也可以对已经保存下来的师生信息,再进行文件内容的对取。

#include <iostream>
#include<string>
#include "Surface/Surface.h"
using namespace std;

int main() {
    Surface menu;
    menu.Connection_one();
    return 0;
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/39662.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

让Unity打包AssetBundle更轻松

AssetBundle作用1、AssetBundle是一个压缩包包含模型、贴图、预制体、声音、甚至整个场景&#xff0c;可以在游戏运行的时候被加载&#xff1b; 2、AssetBundle自身保存着互相的依赖关系&#xff1b; 3、压缩包可以使用LZMA和LZ4压缩算法&#xff0c;减少包大小&#xff0c;更快…

HTML小游戏13 —— 仿《神庙逃亡》3D风格跑酷游戏《墓地逃亡》(附完整源码)

&#x1f482; 网站推荐:【神级源码资源网】【摸鱼小游戏】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 想寻找共同学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】&#x1f4ac; 免费且实用的计…

BGP服务器

BGP服务器被称为“边界网关协议”(BGP)&#xff0c;是一种用于在不同主机网关、 Internet或自治系统之间传输数据和信息的路由协议。 BGP是一种路径矢量协议(PVP)&#xff0c;它维护不同主机、网络和网关的路由器的路径&#xff0c;并根据 BGP做出路由决定。把电信、联通、联通…

算法day32|122,55,45

122.买卖股票的最佳时机II class Solution:def maxProfit(self, prices: List[int]) -> int:profit 0for i in range(len(prices)-1):diff prices[i1]-prices[i]if diff > 0:profit diffelse:profit 0return profit 简单到我不敢相信。 本题解法很巧妙&#xff0c;大…

Redis实战——缓存

目录 1 前言 1.1什么是缓存&#xff1f; 1.2 缓存的作用及成本 1.3 Redis缓存模型 2 给商户信息添加缓存 3 缓存更新策略 3.1 更新策略介绍 3.2 主动更新策略 3.3 主动更新策略练习 4 缓存穿透及其解决方案 4.1 缓存穿透的概念 4.2 解决方案及实现 5 缓存雪崩的…

C++:STL::String模拟实现

前言&#xff1a; 浅拷贝和深拷贝 实现string需要知道深浅拷贝问题。观察如下自命名空间中实现的string&#xff0c;不自写string的string类型参数的构造函数&#xff0c;编译器会默认生成&#xff0c;做浅拷贝。对于自定义类型使用自定义类型的构造函数&#xff0c;如果是默认…

基于遗传算法的PID控制器增益的实现(Matlab代码实现)

&#x1f468;‍&#x1f393;个人主页&#xff1a;研学社的博客 &#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜…

【信息量判别块:语义监督:GAN:IVIF】

Semantic-supervised Infrared and Visible Image Fusion via a Dual-discriminator Generative Adversarial Network &#xff08;通过双重鉴别器生成对抗网络进行语义监督的红外和可见光图像融合&#xff09; 我们提出了一种新的端到端模型&#xff0c;以在红外和可见光图像…

java序列化,看这篇就够了

面试官&#xff1a;兄弟&#xff0c;说说你对transient的理解和感悟 哪吒&#xff1a;what&#xff1f;还有感悟&#xff1f; 先说结论&#xff0c;在序列化、反序列化时&#xff0c;被transient关键字修饰的成员属性变量不会被序列化。 面试官&#xff1a;这就完了&#xf…

Flutter高仿微信-第51篇-群聊-修改群名

Flutter高仿微信系列共59篇&#xff0c;从Flutter客户端、Kotlin客户端、Web服务器、数据库表结构、Xmpp即时通讯服务器、视频通话服务器、腾讯云服务器全面讲解。 详情请查看 效果图&#xff1a; 实现代码&#xff1a; //修改群名 void _updateGroupName(){bool isOwner fals…

Multi-Interest Network with Dynamic Routing forRecommendation at Tmall 论文阅读笔记

1. ABSTRACT 1.1 Industrial recommender systems &#xff08;1&#xff09;工业推荐系统通常由匹配阶段和排名阶段组成&#xff1b; &#xff08;2&#xff09;匹配阶段&#xff1a;检索与用户兴趣相关的候选项&#xff1b; &#xff08;3&#xff09;排名阶段&#xff1a;…

Spring Cloud OpenFeign - - - > 日志配置

项目源码地址&#xff1a;https://download.csdn.net/download/weixin_42950079/87168704 OpenFeign 有 4 种日志级别&#xff1a; NONE: 不记录任何日志&#xff0c;是OpenFeign默认日志级别&#xff08;性能最佳&#xff0c;适用于生产环境&#xff09;。BASIC: 仅记录请求方…

BT - Unet:生物医学图像分割的自监督学习框架

BT-Unet采用Barlow twin方法对U-Net模型的编码器进行无监督的预训练减少冗余信息&#xff0c;以学习数据表示。之后&#xff0c;对完整网络进行微调以执行实际的分割。 BT-Unet由 Indian Institute of Information Technology Allahabad开发&#xff0c;发布在2022年的JML上 …

相关性质和条件变量-ReentrantLock详解(2)-AQS-并发编程(Java)

文章目录1 可重入2 可打断3 公平锁4 条件变量4.1 await()4.1.1 主方法4.1.2 addConditionWaiter()4.1.3 isOnSyncQueue()4.1.4 checkInterruptWhileWaiting()4.2 signal()4.2.1 主方法4.2.2 doSignal()4.2.3 transferForSignal()5 后记1 可重入 可重入在加锁中体现代码如下&am…

零经验,小白变大厨!

平时煮泡面都会翻车的老王      昨天在朋友圈po了一组美食图      朋友小聚,20分钟搞定一桌菜,嘻嘻。      我点开一看,嚯!      红烧里脊、糖醋排骨、油焖大虾、剁椒鱼头……个顶个的硬菜,而且色泽诱人看起来很好吃的样子,关键是居然20分钟搞定?      难…

2022 高教杯数学建模C题古代玻璃制品的成分分析与鉴别回顾及总结

2022 高教杯数学建模C题古代玻璃制品的成分分析与鉴别回顾及总结 Paper & Code&#xff1a;https://github.com/Fly-Pluche/2022-mathematical-modeling-C 希望可以施舍几个star⭐️ 国赛分工 我们三人都有主要的分工: 队员A主要负责二&#xff0c;三问的求解以及代码的编…

被问到可重入锁条件队列,看这一篇就够了!|原创

本文深入解读了高频面试点——ReentrantLock的条件队列使用方法及其原理。源码有详细注释&#xff0c;建议收藏阅读。点击上方“后端开发技术”&#xff0c;选择“设为星标” &#xff0c;优质资源及时送达Jdk中独占锁的实现除了使用关键字synchronized外,还可以使用ReentrantL…

用HTML+CSS做一个简单的新闻门户 1页网页

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材&#xff0c;DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | 茶文化网站 | 中华传统文化题材 | 京剧文化水墨风书画 | 中国民间年画文化艺术网站 | 等网站的设计与制作 | HTML期末大学生网页设计作业&#xff0c;…

Web前端大作业—电影网页介绍8页(html+css+javascript) 带登录注册表单

HTML实例网页代码, 本实例适合于初学HTML的同学。该实例里面有设置了css的样式设置&#xff0c;有div的样式格局&#xff0c;这个实例比较全面&#xff0c;有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代码的过程来实践设计。 精彩专栏推荐&#x1f4…

DevOps初学者的指南——阿里出品学习图册带你掌握高薪技术!

开篇 你是否想开始学习DevOps&#xff0c;或者愿意通过增加DevOps这一技能来转变你的职业生涯&#xff1f; 如果你的答案是肯定的&#xff0c;那么你就来对地方了 从初创企业到跨国企业&#xff0c;技术行业的每个细分领域都在改变其软件开发方法。DevOps工具和实践惊人地减…