-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathTrainSystem.h
More file actions
50 lines (32 loc) · 1.57 KB
/
TrainSystem.h
File metadata and controls
50 lines (32 loc) · 1.57 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
#ifndef TRAIN_SYSTEM_H_
#define TRAIN_SYSTEM_H_
#include "Utils.h"
#include "UserManager.h"
#include "TripManager.h"
#include "TicketManager.h"
#include "TrainScheduler.h"
#include "RailwayGraph.h"
#include "SchedulerManager.h"
#include "StationManager.h"
#include "WaitingList.h"
#include "DataStructure/RedBlackTree.h"
namespace trainsys {
void addTrainScheduler(const TrainID &trainID, int seatNum, int passingStationNumber,
const StationID *stations, const int *duration, const int *price);
void queryTrainScheduler(const TrainID &trainID);
void releaseTicket(const TrainScheduler &scheduler, const Date &date);
void expireTicket(const TrainID &trainID, const Date &date);
int queryRemainingTicket(const TrainID &trainID, const Date &date, const StationID &departureStation);
void queryMyTicket();
void orderTicket(const TrainID &trainID, const Date &date, const StationID &departureStation);
void refundTicket(const TrainID &trainID, const Date &date, const StationID &departureStation);
void findAllRoute(const StationID departureID, const StationID arrivalID);
void findBestRoute(const StationID departureID, const StationID arrivalID, int preference);
void login(const UserID userID, const char *password);
void logout();
void addUser(const UserID userID, const char *username, const char *password);
void findUserInfoByUserID(const UserID userID);
void modifyUserPassword(const UserID userID, const char *password);
void modifyUserPrivilege(const UserID userID, int newPrivilege);
}
#endif