C++For循环多次返回匹配的值
C++ For Loop returns matched values multiple times
我正在尝试将用户输入的字符串与向量中的某些元素进行匹配,然后如果它们匹配,则将所有信息添加到一个新的匹配向量中,然后该向量可以输出给用户。然而,我的程序似乎找到了匹配项,然后多次存储它们(所以我的匹配向量用相同的数据填充了4/5次)。
这是我的匹配代码:
cout << "Please enter your airport of Departure.n e.g. EMA nn";
cin >> depCode;
cout << "nPlease enter your destination.n e.g. VIE nn";
cin >> destCode;
cout << "nPlease enter your date of travel.n e.g. 12/06/15 nn";
cin >> dateTravel;
for(int i=0; i<flights.size();++i){
for(int j=0; j<airports.size();++j){
if(flights[i].originAirport == depCode && flights[i].destinationAirport == destCode){
string oAirport = flights[i].originAirport; //airports[j].airportCode;
string dAirport = flights[i].destinationAirport; //airports[k].airportCode;
string Airline = flights[i].Airline;
int Price = flights[i].airlinePrice;
int departureTax = airports[j].departureTax;
int Duration = flights[i].Duration;
matched.push_back(matchedFlights(oAirport,dAirport,Airline,Price,departureTax,Duration));
}
}
}
任何帮助都将不胜感激,因为我在这一点上非常困惑。我是一个初学者,所以如果这是一个非常明显的错误,我很抱歉。
您的if语句在机场向量中的每个元素都以相同的条件开始执行,即使if语句只使用航班向量中的值,从而创建重复项。您可能需要重新思考您的逻辑,以及是否/如何使用内部循环。
相关文章:
- 为什么我的程序在for循环中k=0时返回垃圾值
- 我可以使用什么来停止循环而不是"返回 0"?
- 为什么在 while 循环中返回表达式不起作用
- 从嵌套循环中的 std::list 中删除将返回访问冲突
- 这个返回元素位置的基于循环的函数有什么问题?
- EnQueue 方法在循环队列中未正确返回C++?
- C++初学者:为什么我的编译器根据我的循环返回"name not found"?
- 如何循环访问 cpp 中的函数返回的字符指针数组
- C++:返回一个基于范围 for 循环迭代器,其中包含继承对象
- 从子菜单返回后,正确的输入至少进入验证循环一次
- 对于等待以 std::future wait() 返回的函数的 CPU 使用率或检查标志在循环中休眠一段时间哪个更好?
- 有没有办法将 for 循环结果返回到像三元运算符这样的函数中?
- 返回值 mxGetPr() -- 等效循环
- 返回到循环 c++
- 从 for 循环返回每个值 in C++
- 当我返回内部时,循环在C 中不起作用
- 基于范围的 for 循环,用于包含C++中的指针的自定义链表,仅返回对象
- 随机函数在循环中调用时返回相同的数字!C++
- 在 winapi 回调函数上返回 FALSE 时出现意外行为(循环被跳过?
- C++ - 返回循环开始而不检查条件