想要在找不到物品时打印

时间:2016-10-17 03:00:15

标签: c

#include <stdio.h>
int main()
{
     struct Item item[MAX_ITEMS];
     int size = 0, menu, loop = 0, index = 0, number;

...    

}else if(menu == 2){ // If user presses 2, add to inventory
        printf("Please input a SKU number: ");
        scanf("%d",&item[index].sku_);
        printf("Quantity: ");
        scanf("%d",&item[index].quantity_);

        for(int i =0; i <= 10; i++){
            if(item[index].sku_ == item[i].sku_){
                printf("The item exists in the repository, quanity is updated.\n");
            }
        }
        index++;

我有点弄清楚如何在数组中找到一个项目。我遇到的问题是:

printf("Price: ");
scanf("%f",&item[index].price_);

进入代码。我试图做的是将那两行代码放入IF for循环中找不到该项。

1 个答案:

答案 0 :(得分:2)

您需要跟踪是否找到了该项目。使用数组和标准迭代,您需要搜索整个列表。这是伪代码,但你应该明白这一点。

bool found = false;
for each (SKU in list...) {
   if (SKU == itemSKU) {found = true;}
}
if (!found) {
   /// Your code here
}