我想更改庫存余額。通過簡單的邏輯,如果我輸入一個 > 0 的數字,如果數字 < 0 減去它應該加減。到目前為止,它作業正常。
現在到了這個問題。如果用戶鍵入的數字小于庫存余額本身,則程式應將庫存余額的值設定為 0。
例如,如果庫存余額為 17,我們輸入數字 -18,則它應該是 0 而不是 -1。
到目前為止,這是我的代碼。
printf("Increase or decrease by: ");
scanf("%d", &n);
if(n >= 0){
a[i].inventory = a[i].inventory n;
}else{
a[i].inventory = a[i].inventory n; // - = -
if(n < a[i].inventory){
a[i].inventory = a[i].inventory- a[i].inventory;
}
我嘗試添加最后一個 if 陳述句,但考慮到 if 條件的“壞”邏輯,它不起作用。錯誤的邏輯:如果庫存是 17,我想減去 2,它總是小于 a[i].inventory,它會跳過 else 并運行最后一個 if 陳述句。
uj5u.com熱心網友回復:
您使一項簡單的任務過于復雜。
a[i].inventory = n; /* n can be negative too. */
if (a[i].inventory < 0)
a[i].inventory = 0;
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/529462.html
上一篇:關于Cstrlen函式的問題
