关于c++:基于C实现旅行线路设计

31次阅读

共计 1537 个字符,预计需要花费 4 分钟才能阅读完成。

拜访【WRITE-BUG 数字空间】_[内附残缺源码和文档]

零碎依据危险评估,为旅客设计一条合乎旅行策略的旅行线路并输入,零碎能查问以后时刻旅客所处的地点和状态(停留城市 / 所在交通工具)。

  1. 试验内容和试验环境形容

1.1 试验内容
城市之间有各种交通工具(汽车、火车和飞机)相连,有些城市之间无奈中转,须要路径直达城市。某旅客于某一时刻向零碎提出旅行要求。思考在以后 COVID-19 疫情环境下,各个城市的危险水平不一样,分为低危险、中危险和高风险三种。零碎依据危险评估,为该旅客设计一条合乎旅行策略的旅行线路并输入;零碎能查问以后时刻旅客所处的地点和状态(停留城市 / 所在交通工具)。

1.2 环境形容
Windows 10 环境 PC 机;
Microsoft Visual Studio 2019 集成化开发环境;
Qt Creator 4.11.1(Based on Qt 5.14.1) 集成化开发环境;
Qt 运行库(Qt 5.14.2 MinGW 32-bit)

  1. 软件设计
    2.1 数据结构
    City 类(city.h):

class City : public QObject
{
public:

City(string name = "", int number = 0, double risk = 0);
string name; // 城市名
int number; // 城市序号
QPoint pos; // 城市在地图上的地位
double risk; // 城市危险值
void add_route(); // 为该城市增加时刻表(未应用)
vector<class Transport*> everyday_table; // 每日时刻表

signals:

};
Tourist 类(tourist.h):

class Tourist
{
public:

Tourist(City* A = nullptr, City* B = nullptr, int limit = 0, int number = 0);
bool enabled; // 是否启用
int number; // 旅客序号
int status; // 旅客状态
int stlimit; // 最早登程工夫
int limit; // 最晚达到工夫
void plan_route(int time); // 为旅客布局路线
void update_status(int time); // 更新旅客信息
City* start; // 出发点
City* destination; // 目的地
City* nowat; // 以后地位
Route plan; // 以后布局门路
double risk; // 以后旅客所接受的危险值
void dfs(City* at, Route rut, int time); // 以后所在位置 路线 以后工夫 工夫限度

signals:

};
Transport 类(transport.h):

class Transport
{
public:

Transport(class City* A = nullptr, class City* B = nullptr, int st = 0, double risk = 0, int cost = 0);
int transportKind; // 载具品种
class City* start; // 首发站
class City* destination; // 终点站
int start_time; // 登程工夫
double risk; // 危险
int time_cost; // 所需工夫

signals:

};
Route 类(route.h):

class Route
{
public:

Route();
vector<City*> via;
vector<int> mid_arrive_time;
vector<int> mid_again_time;
int transportKind;
double risk;
int start_time; // 登程工夫
int time_cost; // 下一步达到的工夫

signals:

};

正文完
 0