-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathStationManager.cpp
More file actions
31 lines (28 loc) · 947 Bytes
/
StationManager.cpp
File metadata and controls
31 lines (28 loc) · 947 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <fstream>
#include <iostream>
#include "StationManager.h"
namespace trainsys {
StationManager::StationManager(const char *filename) {
std::ifstream fin;
fin.open(filename, std::ios::in);
if (!fin.is_open()) {
puts("station info not found");
return;
}
char stationName[MAX_STATIONNAME_LEN + 1];
StationID stationID;
puts("loading station info");
while (fin >> stationName >> stationID) {
idToName.insertEntry(stationID, String(stationName));
nameToID.insertEntry(String(stationName), stationID);
}
idToName.sortEntry();
nameToID.sortEntry();
}
String StationManager::getStationName(const StationID &stationID) {
return idToName.find(stationID);
}
StationID StationManager::getStationID(const char *stationName) {
return nameToID.find(String(stationName));
}
}