我创建了一个邻接链接列表来显示城市之间的航班。该程序从 2 个文件中读取,一个包含城市名称,另一个包含不同航班的来源和目的地。我为所服务的城市创建了一个数组,并为数组的每个城市索引创建了一个连接城市的链接列表。但是,我无法打印出列表。我的输出如下所示:
Origin -- Dest --- Flight No. -- Price
NYC --- Chicago -- 3123 ---- 123
NYC ---- Miami ---- 2123 ---- 543
NYC ---- Seattle --- 9283 ---- 243
我想知道我是否可以只打印一次始发城市。
这是我的结构和其他东西的代码:
struct flight
{
int fNumber;
string source;
string dest;
int price;
}
输出的重载运算符
p.source
是起点,p.dest
是终点,依此类推
ostream& operator<<(ostream & os, const flight & p)
{
os <<"From "<< p.source << " to: ";
int diff=0;
diff= 35- p.source.length();
os << fixed<< setw(diff)<<right<< p.dest;
os << setw(10)<<right<<p.fNumber;
os << setw(10)<<right<<p.price;
return os;
}
和显示功能
void flightMap::display()
{
cout<<setw(15)<<"Origin "<<setw(30)<<"Destination"<<setw(12)<<"Flight "<<setw(13) <<"Price "<<endl;
cout<<"================================================================="<<endl;
for (int i=0; i<number; i++)
{
flightRecord[i].display();
}
}
我希望我的输出看起来像这样
Origin Dest Flight No. Price
NYC Chicago 3123 123
---- Miami 2123 543
---- Seattle 9283 243