为什么我的计算百分比.12关闭?

时间:2016-10-08 23:55:31

标签: c

我正在编程1。我正在创建一个程序,用于显示总购买金额的教师折扣(12%)的计算。根据购买总额在屏幕上打印折扣金额时,我得出的总数不正确。这是代码:

double total_b4_tax;
printf("\nEnter the purchase total : ");
scanf("%lf", &total_b4_tax);
getchar ();


if (teach_music == 'y' || 'Y')
{
    double discount_total = teach_music * .12;
    printf("Total purchase                  $   %.2lf\n", total_b4_tax);
    printf("Discount total                  $   %.2lf\n", discount_total);
}

我的折扣总数达到14.52,而实际上122.0 * .12是14.64。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

您正试图通过将字符与浮点数相乘来计算折扣:

double discount_total = teach_music * .12;

在此之前,您确保teach_music是'y'或'Y'。我好奇如何汇编,以及C如何得出“y”或“Y”为121的结论。

编辑:哈尔,'Y'是ASCII 121.所以乘以.12得到14.52

无论如何,我认为

 double discount_total = total_b4_tax * .12;

让一切变得更好。