嗨,大家好,這是我的第一個問題,所以我希望得到一些幫助。 基本上輸出是錯誤的,雖然計算是正確的! 每當我添加超過7個變量'總'輸出受損 7和更少的變量輸出給出正確的答案??! 這是我的編碼,我需要你的幫助Guyz我的輸出答案有什麼問題?
#include <stdio.h>
void main()
{
float total = 0, necklace, scarf, cotton, Lace, Hijab, h, m, l, z;
int ch, q;
printf("\nFashion : \n1.Fashion Necklace <Price=RM29>\n2.Scarf <Price=RM25>\n3.Cotton T-shirts <Price=RM35>\n4.Lace Blazer <price=RM33>\n5.Set of 2 Hijab <price=RM35>\n6.Fleece-Lined Hoodie <price=RM49>");
printf("\nEnter Your Choice : ");
scanf("%d", &ch);
if (ch < 10)
{
printf("\nEnter Quantity : ");
scanf("%d", &q);
if (ch == 1)
{
necklace = 29 * q;
}
else if(ch == 2)
{
scarf = q * 25;
}
else if(ch == 3)
{
cotton = 35 * q;
}
else if(ch == 4)
{
Lace = 33 * q;
}
else if(ch == 5)
{
Hijab = 35 * q;
}
else if(ch == 6)
{
h = 49 * q;
}
else if(ch == 7)
{
m = 20 * q;
}
else if(ch == 8)
{
l = 40 * q;
}
else if(ch == 9)
{
z = 15 * q;
}
}
else
{
printf("\nInvalid Choice!!!");
}
total = (scarf + necklace + cotton + Lace + Hijab + h + m + l + z);
printf("\nTotal = RM%.2f", total);
}
與您的問題無關,但不是使用大的'if ... else if ...'鏈,而是使用'switch'語句來查看。 –
@JoachimPileborg:或者爲了便於我們理解和可讀性,將'ch'映射到這些常量('total + = val_map [ch-1] * q'等等) –
:1)單獨的代碼塊對於,如果,其他,同時,做...時,切換,大小寫,默認)通過一個空行。 2)遵循以下公理:*每行只有一條語句,並且(至多)每條語句有一個變量聲明。* 3)使用有意義的變量名稱。變量名稱應指示內容或用法(或兩者都更好)。 – user3629249