【发布时间】:2019-12-05 17:09:29
【问题描述】:
库存
vector<string> inventory;
vector<int> inventoryQ;
物品添加功能
void addItem(string item, int quantity){
for(int i = 0; i < inventory.size(); i++){
if(inventory[i] == item){
inventoryQ[i] += quantity;
cout << "x" << quantity << " " << item << " was added to your inventory." << endl;
} else if(i == inventory.size()){
inventory.push_back(item);
inventoryQ.push_back(quantity);
cout << "x" << quantity << " " << item << " was added to your inventory." << endl;
}
}
}
使用示例
user.addItem("Gold", 1);
也没有文本输出到控制台。
【问题讨论】:
-
请向我们展示所有相关代码。另外,您是否尝试过使用调试器?
-
您能解释一下
addItem的代码应该如何工作吗?我可以看到错误的地方,也许可以写出更正确的东西,但我怀疑你能从中得到什么 -
看起来你想实现某种查找,看看该项目是否已经在列表中,对吗?
-
循环条件是
i < inventory.size(),所以else if中的i == inventory.size()永远不可能为真