元旦前后利用几天时间完成了数据结构课程设计,学期初计划搞一个*精美* 些的课程设计,最后还是一拖再拖,到最后只来得及实现些基本功能。
团队协作完成,所以代码风格不尽相同。
另外才疏学浅,若有错误恳请不吝赐教!
程序打包,提取码:1a01
基本要求如下:
① 账户登陆设计,用户可以自行选择是否登录,根据是否登录以及登陆的账户类型系统提供不同的功能。
② 对于账户信息应保存在文件中,并利用MD5加密算法将用户密码以密文形式存储。
③ 从文件中读取校园平面图并展示,所含内容应包括景点名称以及距离。
④ 能够从文件中读取地图信息,利用邻接表存储图的信息。
⑤ 利用BFS提供游览路线。
⑥ 利用KMP算法对于用户所给关键词进行匹配,为用户推荐适宜的地点并进行详细的介绍。例如:对于用户的“美食”需求,系统将会推荐前往餐厅并给出详细的介绍。
⑦ 利用Kruskal算法为用户预估游览所有景点所需的最短时间。
⑧ 对于用户给出的两地点,能够给出最短路径。
⑨ 对于管理员账户,提供更改图的信息的功能。
模块划分如图
main:
#include<iostream>
#include"UI.h"
#include"Function.h"
using namespace std;
int main()
{
Agreement();//启动界面
int Status;
while (1){
system("cls");
Start();//登陆界面
int choose;
cin>>choose;
Status = -1;//0 未登录;1 用户 1;2 管理员;
switch(choose)
{
case 0: exit(0);
case 1: Status = Login();break;
case 2: Status = Register();break;
case 3: Status = 0;break;
default:color(4);printf("\t\t\t\t\t命令无效,2秒后自动返回\n");color