公交路线查询系统c++
时间: 2023-11-28 12:47:27 浏览: 53
公交路线查询系统可以用C++编写,以下是一个简单的实现:
1. 定义结构体表示公交站点和路线信息:
```c++
struct Station {
int id; // 站点编号
string name; // 站点名称
};
struct Route {
int id; // 路线编号
string name; // 路线名称
vector<Station> stations; // 路线经过的站点
};
```
2. 定义一个路线查询类,包含路线信息的存储和查询功能:
```c++
class RouteQuery {
private:
vector<Route> routes; // 存储路线信息
public:
// 添加路线信息
void addRoute(Route route) {
routes.push_back(route);
}
// 查询两个站点之间的路线信息
vector<Route> queryRoute(Station start, Station end) {
vector<Route> result;
for (auto route : routes) {
bool foundStart = false;
for (auto station : route.stations) {
if (station.id == start.id) {
foundStart = true;
}
if (foundStart && station.id == end.id) {
result.push_back(route);
break;
}
}
}
return result;
}
};
```
3. 在主函数中初始化路线查询对象,并添加路线信息:
```c++
int main() {
RouteQuery query;
// 添加路线信息
Route route1 = {1, "A-B", {{1, "A"}, {2, "B"}}};
Route route2 = {2, "B-C", {{2, "B"}, {3, "C"}}};
Route route3 = {3, "A-C", {{1, "A"}, {2, "B"}, {3, "C"}}};
query.addRoute(route1);
query.addRoute(route2);
query.addRoute(route3);
// 查询路线信息
Station start = {1, "A"};
Station end = {3, "C"};
vector<Route> result = query.queryRoute(start, end);
for (auto route : result) {
cout << "Route " << route.id << " (" << route.name << "): ";
for (auto station : route.stations) {
cout << station.name << " ";
}
cout << endl;
}
return 0;
}
```
以上代码实现了一个简单的公交路线查询系统,可根据实际需求进行扩展。