system("cls"); std::cout << "读取完成" << endl; std::cout << "请选择最短路径要求" << endl; std::cout << "时间:1 " << endl; std::cout << "价格:2 " << endl; cin >> p; system("cls"); switch (p) { case 1: std::cout << "以时间为基准:" << endl; TimeShortPath(graph, s, way, D); for (int i = 0; i < 199; ++i) { if (way[e][i] == n) { c[n - 1] = i; std::cout << cities[i].city << ' '; n++; i = -1; } } std::cout << std::endl; std::cout << "时间:" << D[e] << " h "; TxtWriting(graph, c, n); break; case 2: std::cout << "以价格为基准:" << endl; CostShortPath(graph, s, way, D); for (int i = 0; i < 199; ++i) { if (way[e][i] == n) { c[n - 1] = i; std::cout << cities[i].city << ' '; n++; i = -1; } } std::cout << std::endl; std::cout << "价格:$" << D[e]; TxtWriting(graph, c, n); break; } return 0; }
时间: 2024-04-27 11:22:38 浏览: 162
这段代码实现了一个最短路径算法,并让用户选择是以时间为基准还是以价格为基准进行计算。具体实现过程如下:
1. 清空屏幕并输出提示信息。
2. 让用户选择最短路径的要求(时间或者价格)。
3. 根据用户的选择,调用不同的最短路径算法(TimeShortPath或者CostShortPath)来计算最短路径,并将结果保存在D数组中。
4. 根据way数组中的信息,反向遍历从起点到终点的路径,并将经过的城市名称输出到控制台上。
5. 输出最短路径的时间或者价格,并将路径信息写入到文件中。
6. 返回0,结束程序。
阅读全文