2015-11-08 53 views
0

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

#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; 
} 
+0

你用这段代码看到了什么问题? – parsley72

+0

'if(barcode [i] == 0)'if'(barcode [100] == 0)'if'(条形码[i] == 0)'不存在,只有'条形码'''' – fghj

+0

程序循环多次打印负数 –

回答

2

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

if (barcode[100]==0){ 

break; 

} 

它应该是:

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

你也应该在你参加的零值停止第二循环在条形码。

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

这帮了很多!通过在参加零值时停止第二个循环,它已停止打印负数的循环 –