# 项目介绍
## 系统架构
采用C++作为底层编程语言,设计思路采用了函数式编程思路。使用多线程技术对系统时钟功能进行维护。在存储结构上模拟C++STL库的List库,使用泛型模板类设计了泛型存储List结构。
## 课程信息管理
### 完成的基本功能描述
学生用户
> - 实现了对用户班级课程信息的查询功能。
> - 实现了上传作业资料与课程资料,并归档于班级课程文件夹内。
管理员用户
> - 实现了对课程与作业信息的增删 查改的内容;
> - 管理员支持将学生上传作业资料与课程资料的导出,并实现了对班级与课程门类资料的版本管理。
### **核心算法描述、算法优缺点及性能**
- 课程查询
算法描述:
> 当用户发起查询课表之操作时,程序要求用户选择是获取全部课表或单个课程。如果需要查询单个课程,程序要求输入课程名称。
>
> 查询过程:
>
> 程序生成一个临时的课程信息结构体,从用户信息结构体(UserInfo)中提取班级信息复制到新的课程信息结构体内,如果需要查询单个课程,则直接复制课程名称到课程结构体内,不需要则设置为 “NULL“字段,最后送入到查询函数内,链表通过重载运算符的方式逐个遍历查找符合条件的课程信息。查找完成后返回对比成功的**结构体地址**至原函数内。原函数再将该返回值输出打印即可。
算法优缺点及其性能:
> 优点:结合多类型存储并运用运算符重载机制,在查找过程当中有效减少代码冗余度,封装性好。
>
> 缺点:每次查找过程均为单向遍历查找过程,在数据量大时从头遍历查找速度缓慢。(可优化方案:设计反向迭代器,双向遍历)
>
> 性能:单向遍历查找链表,时间复杂度为O(n)
- 课程信息的删改
算法描述
> 当管理员用户发起课程信息管理之操作时,程序获取当前管理员用户班级,再要求管理员输入修改的课程名称进行查找课程信息结构体。查询过程与课程查询操作原理一致。
>
>
>
> 删改 操作:
>
> 在查找到相关课程信息后,首先输出该结构体信息由用户确定是否修改,确定则首先输出待修改的结构体信息供用户参考。
>
> - 删:由用户确定修改以后,调用链表删除方法,删除该结点。
>
> - 改:程序根据用户选择要求用户输入新的字段内容,确定内容合法性后直接根据查找到的结构体原地修改(查找返回的是结构体地址)。
算法优缺点及其性能:
> - 优点:对用户内容进行合法性检查,结构体内容原地修改有效提高代码性能。
>
> - 缺点:无法实现批量课程信息修改。
>
> - 性能:删除修改操作时间复杂度O(1)
## 课外信息管理
### 完成的基本功能描述
学生用户
> - 实现了对用户班级活动、个人活动信息的查询与管理;
> - 实现了活动时间提醒。
管理员用户
> - 实现了对用户个人活动、班级活动信息的查询与管理;
> - 实现了活动时间提醒。
### 核心算法描述、算法优缺点及性能
- 课外活动的增删查改
算法描述
> - 增:程序会申请一个临时课外活动结构体,再要求用户对应的结构体字段信息,在输入时间时,程序会与课程时间的冲突检查,合规以后才能下一步。最后再将内容进行链表尾插。
> - 查:程序会拉取用户的账号与班级信息,通过比较活动信息链表里的发起人信息、活动对象,以实现课外活动的查找功能。
> - 改:活动信息修改仅限修改活动状态。程序会首先用户输入需要修改的课外活动名称,并拉取用户信息,最后生成一个临时课外活动结构体将对应信息拷贝,通过查找原理查找到指定的活动信息结构体,如果找到则返回该结构体地址,没找到则返回空指针。用户确认修改以后,将获取该课外活动的状态取三元运算符方式取反即可更新信息。
> - 删:程序没有直接设置课程信息的删除操作,在程序退出时,数据文件的更新操作会自动将状态为“结束”的活动信息过滤掉,即再次读入时数据已被删除
算法优缺点及其性能:
> - 优点:增删改操作在原结构体内进行操作,有效提高代码性能与减少复杂度。
> - 缺点:修改活动信息目前仅设置了修改活动状态,查找过程主要以活动对象信息来检索,检索匹配范围小;
> - 性能:查找效率为O(n),增删改效率均为O(1)
- 课外活动时间冲突查询
算法描述
> 通过获取系统时间与输入时间的开始、结束时间的数学计算取出时间差,如果在 1 小时内,存在 开始时间相差 +20 分钟, 结束时间相差 大于 20分钟,判断为时间冲突。例如 活动开始时间 9:10 - 12:00, 课程时间是9:30 - 11:40, 那 时间就产生了冲突
算法优缺点及其性能:
> - 优点:直接通过数学计算进行判断,有效提升性能与减少代码赘余。
> - 缺点:生成变量较多,开始与结束时间(各生成7个)。
> - 性能:数学计算以减少循环次数,效率为O(1)
## **课程导航**
### 完成的基本功能描述
> 该模块实现了课程上课地点的导航,以及自动获取程序系统时间并根据时间来获取最近课程时间的任务,导航功能实现了2个校区,80个校内建筑物来进行模拟,支持跨校区导航,导航模式支持:1、最短时间;2、最短距离;3、交通工具最短导航;4、途径多点导航。
### 核心算法描述、算法优缺点及性能
- 获取最近上课时间算法
> **同课外活动时间冲突检测同理**
- 导航策略与计算算法
算法描述
> 地图的初始化采取了由代码生成的形式,将各顶点信息、路况信息存储到数组的方式形成一个2个校区,80个校内建筑物,161条校园道路的电子地图。其中:
>
> - 建筑节点信息包括建筑的地理位置,所在校区,因为每个用户课表信息可能都不尽相同,在逻辑位置上采用了自动获取课表信息以此实现课程信息转化为地图逻辑位置的实现。
> - 路径信息包括长度、地理方向、链接的两端建筑、步行时间、拥挤率、交通工具运行时间、是否为交通工具车道等信息。
>
>
>
> 在进入导航系统以后,程序要求用户输入当前所在地,通过用户输入的地点进行全局建筑节点的搜索作为导航起始点。另外,根据当前系统时间判断当前时间还差+20分钟的课程信息,并由用户进行选择导航。否则输出用户所有课程名称供用户进行导航选择。用户选择好导航目的地以后程序再查询该结点信息。
>
> 查询结点算法:遍历地图数组,通过比较关键词信息以此实现匹配地点,匹配成功后输出结点信息。
>
>
>
> 路径计算策略:确定好导航的起始点、目的点以后,程序会要求用户输入导航策略,并最终生成用户导航路径结构体:起始点、目的地导航策略,如果存在选择多点导航,则包括途径地点信息。最终,程序会以起始点为中心,到目的地途径区域道路进行划分,由道路直线距离开始划分,再使用dijkstra寻路算法计算各个道路通向的结点长度与路径,一步一步划分,贪心计算最终得到当前导航策略的最优条件。如果存在多点导航,则以划分由起始点到中继点的多点导航路径策略的划分。
>
> 为保障导航过程的可观与参考性,导航期间时钟运行放
没有合适的资源?快使用搜索试试~ 我知道了~
数据结构课程设计 校园课程信息管理 校园活动信息管理 校园课程导航管理 北京邮电大学.zip
![preview](https://csdnimg.cn/release/downloadcmsfe/public/img/white-bg.ca8570fa.png)
共33个文件
h:13个
cpp:12个
txt:3个
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 48 浏览量
2024-03-29
15:02:37
上传
评论
收藏 56KB ZIP 举报
温馨提示
可以用于毕业设计(项目源码+项目说明)目前在window10/11测试环境一切正常,用于演示的图片和部署教程说明都在压缩包里
资源推荐
资源详情
资源评论
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
收起资源包目录
![package](https://csdnimg.cn/release/downloadcmsfe/public/img/package.f3fc750b.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/TXT.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/TXT.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/TXT.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
共 33 条
- 1
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
不走小道
- 粉丝: 3237
- 资源: 5112
![benefits](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-1.c8e153b4.png)
下载权益
![privilege](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-2.ec46750a.png)
C知道特权
![article](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-3.fc5e5fb6.png)
VIP文章
![course-privilege](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-4.320a6894.png)
课程特权
![rights](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-icon.fe0226a8.png)
开通VIP
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)