C语言中的数组问题

时间:2015-11-08 07:24:12

标签: c arrays loops

我应该创建一个使用数组创建库存的基本程序但是我很难让他们在循环中输入后逐个打印,这就是我现在正在使用的。第一个循环设计为一旦用户输入'0'作为条形码就完成。我们赞赏任何正确方向的帮助或指导。

#include <stdio.h>

int main()
{
    int barcode[100], quantity[100], i;
    double price[100];

    printf("Grocery Store Inventory\n");
    printf("=======================\n");

    for(i=0;i<100;i++){
        printf("Barcode:");
        scanf("%d", &barcode[i]);

        if (barcode[100]==0){
            break;
        }

        printf("Price:");
        scanf("%lf", &price[i]);

        printf("Quantity:");
        scanf("%d", &quantity[i]);
    }

    printf("Goods in Stock\n");
    printf("==============\n\n");

    printf("Barcode    Price    Quantity    Value\n");
    printf("-------------------------------------\n");

    for(i=0;i<100;i++){
        printf("%d          %.2lf      %d\n", barcode[i], price[i], quantity[i]);
    }

    return 0;
}

1 个答案:

答案 0 :(得分:2)

第一个循环中的break条件错误:

if (barcode[100]==0){

break;

}

它应该是:

if (barcode[i]==0) break;

当您参加条形码中的零值时,您还应该停止第二个循环。

for(i=0;i<100 && barcode[i] !=0;i++){