C - 付款计算。不以 $0 结尾

标签 c payment calculator

我正在尝试创建付款计算器,但遇到错误,剩余余额为负数而不是 0 美元。这是代码:

int main()
{
double selling, down, intRate, intBal, toBal, payment, loan, loanN, d;
int counter, i;

printf("Cost of item: ");
scanf("%lf", &selling);

printf("Down payment on item: ");
scanf("%lf", &down);

printf("Interest rate: ");
scanf("%lf", &intRate);

printf("Monthly payment: ");
scanf("%lf", &payment);

d= selling * 100.0;
i = d + 0.5;
selling = i / 100.0;

 d= down * 100.0;
i = d + 0.5;
down = i / 100.0;

 d= payment * 100.0;
i = d + 0.5;
payment = i / 100.0;

 counter = 1;

 loan = selling - down;

printf("--------------------------------------------------------------\n");
printf("Selling Price        = %8.2lf\n", selling);
printf("Down Payment         = %8.2lf\n", down);
 printf("Amount of Loan       = %8.2lf\n", loan);
 printf("Annual Interest Rate = %8.2lf\n", intRate);
printf("Monthly Payment      = %8.2lf\n", payment);
 printf("--------------------------------------------------------------\n");
 printf("Pay #  Old Balance  Payment  Interest  To Balance  New Balance\n");
 printf("-----  -----------  -------  --------  ----------  -----------\n");

 while (loan > 0)
 {
 if (loan < payment)
 {
    payment = loan + intBal;
 }
 printf("%5i  %11.2lf  %7.2lf  ", counter, loan, payment);
 intBal = intRate * loan / 12;
 printf("%8.2lf  ", intBal);
 toBal = payment - intBal;
 printf("%10.2lf  ", toBal);
 loanN = loan - toBal;
 loan = loanN;
 printf("%11.2lf\n", loanN);
 counter++;
 }
return 0;

最佳答案

在贷款结束时,您将向他们收取两次利息。移动这个

if (loan < payment)
{
    payment = loan + intBal;
}

到此行之后

intBal = intRate * loan / 12;

关于C - 付款计算。不以 $0 结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9049675/

相关文章:

c - C 中的代数运算

ios - Venmo支付SDK链系统

node.js - Stripe 抛出无效整数错误

paypal - 使用 Paypal 付款选项拆分付款

javascript - JS 问题然后创建一个计算器并能够输入多个数字

Python计算器编程错误

c - 信号量术语

c - 获取 C 程序的平均运行时间

c - 使用 sleep 函数时如何增加计数? (C语言)

python - 如何使用 '+' 作为输入