-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathmain.cpp
More file actions
50 lines (46 loc) · 1.53 KB
/
main.cpp
File metadata and controls
50 lines (46 loc) · 1.53 KB
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include "TrainSystem.h"
#include "CommandParser.h"
#include "Utils.h"
namespace trainsys {
extern UserInfo currentUser;
extern UserManager *userManager;
extern RailwayGraph *railwayGraph;
extern SchedulerManager *schedulerManager;
extern TicketManager *ticketManager;
extern PrioritizedWaitingList *waitingList;
extern TripManager *tripManager;
extern StationManager *stationManager;
void init() {
stationManager = new StationManager("station.txt");
userManager = new UserManager("user.dat");
schedulerManager = new SchedulerManager("scheduler.dat");
ticketManager = new TicketManager("ticket.dat");
waitingList = new PrioritizedWaitingList();
tripManager = new TripManager("trip.dat");
railwayGraph = new RailwayGraph();
puts("admin login");
if (userManager->existUser(0)) {
currentUser = userManager->findUser(0);
} else {
currentUser = UserInfo(0, "admin", "admin", 100);
userManager->insertUser(0, "admin", "admin", 100);
}
}
}
int main() {
trainsys::init();
char command[30000];
while (std::cin.getline(command, 30000)) {
printf("get command: %s\n", command);
if (trainsys::parseCommand(command) == 1) {
break;
}
}
delete trainsys::userManager;
delete trainsys::railwayGraph;
delete trainsys::schedulerManager;
delete trainsys::ticketManager;
delete trainsys::waitingList;
delete trainsys::tripManager;
return 0;
}