gpt4 book ai didi

c - 当我输入 'Y' 时,为什么这个程序会跳过第一个传递到 else ?

转载 作者:行者123 更新时间:2023-11-30 21:08:12 24 4
gpt4 key购买 nike

我似乎无法找到这段代码中的错误所在。当我输入“Y”时,它会跳过第一个 if 语句并计算其下​​面的 else 语句。我是否有悬而未决的问题或其他问题?我是初学者,所以如果我看到它,我不知道。代码不必漂亮或完美,它只需要工作即可。我需要 if else 语句而不是 if 吗?当我使用 if else 时,它​​告诉我有语法错误。正如您所看到的,我正在尝试根据买家是否是教师来计算折扣和销售税。我还需要输入多少内容才能提交问题。我对此也是新手,因此如果格式不正确,我深表歉意。如果购买价格大于 100,折扣为 12%;如果小于 100,折扣为 10%。该程序是打印一张收据,其中包含折扣、税费和总价。

#include <stdio.h>
#include <stdlib.h>``
#define SALES_TAX 0.05
#define REG_DISCOUNT 0.10
#define DISCOUNT 0.12

int main()
{
double price, discount,total,x,tax;

printf("Enter purchase total=>");
scanf("%lf",&total);
printf("If you are a teacher enter Y if not enter N=>");
scanf("%lf",&x);

if(x=='Y'){

if(total<100)
{
discount = total * REG_DISCOUNT;
tax = (total - discount)* SALES_TAX;
price = total - discount + tax;
}
else{
discount = total * DISCOUNT;
tax = (total - discount)* SALES_TAX;
price = total + tax - discount;

}
printf("The total price of your items is = $%.2f.\n",total);
printf("Your 12 percent discount = $%.2f.\n",discount);
printf("You're total tax is $%.2f.\n",tax);
printf("You're final purchase price is $%.2f.\n",price);
}
else {
tax = total * SALES_TAX;
price = total + tax;
printf("The total price of your items is $%.2f.\n",total);
printf("Your total tax is $%.2f.\n",tax);
printf("Your total purchase price with tax is $%.2f.\n",price);
}
return(0);
}

最佳答案

读取字符串X的scanf语句有一个表示 float 的格式代码。尝试使用 %s

关于c - 当我输入 'Y' 时,为什么这个程序会跳过第一个传递到 else ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39841732/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com