源码已上传至github:https://github.com/simplify23/Travel-Manage-System
感兴趣的可以自行查看,下面介绍一下界面和部分其他功能。
1.旅游景区导航
2.搜索最短路径
3.prim铺设电路
4.代码介绍和展示
主要功能已经在前面进行了介绍,
这里实现了窗口跳转技术,子窗口实现了边点切换和增删改的功能
跳转方式为主窗口的开发者选项
//定义的结构体
struct Matrix //矩阵类
{
int m[M][M]; //景点邻接矩阵
int exist[M]; //查看这个点是否存在
};
typedef struct
{
int count; //景点数量
CString Pname[M]; //景点名称
CString Intro[M]; //景区介绍
Matrix mat; // 邻接矩阵
}Scenic; //景区类
Scenic S;
初始界面会直接打印已经存在的景点信息,这有利于开发者依据此进行修改,增删改都能在左侧的编辑框里及时得到反馈。并用右边的边点切换按钮进行切换,在每一次修改景点或修改边的操作执行时,系统会自动在左边打印出对应的全部信息,以此进行友好的交互活动。例如,在此初始化界面下,直接增加边,会自动在左侧打印出边的信息以及刚加入的边信息。
之前子窗口为预览结果,也就是说当点击取消按钮时,
txt文件不会被修改,只有当按下确认按钮时,文件才会被写入。
开发者很有可能出现误删除的后果,针对此后果,点击取消就能避
免修改不正确的信息,提高稳定性。
//写入文件
void create::OnBnClickedOk()
{
fstream file1("F://Vex.txt", ios::out); //清空文件里的内容
fstream file2("F://Edge.txt", ios::out);
file1.close();
file2.close();
CStdioFile File1;
File1.Open("F://Vex.txt", CFile::modeReadWrite | CFile::modeNoTruncate | CFile::modeCreate); //将CString量写入文件中
File1.SeekToEnd();
File1.WriteString(In1);
File1.Close();
CStdioFile File2;
File2.Open("F://Edge.txt", CFile::modeReadWrite | CFile::modeNoTruncate | CFile::modeCreate);
File2.SeekToEnd();
File2.WriteString(In2);
File2.Close();
// TODO: 在此添加控件通知处理程序代码
//fstream file1("F://Vex.txt", ios::out);
//fstream file2("F://Edge.txt", ios::out);
CDialogEx::OnOK();
}