2015-11-08 55 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

這幫了很多!通過在參加零值時停止第二個循環,它已停止打印負數的循環 –