私は支払い計算機を作成しようとしていますが、残りの残高がマイナスで、$ 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;
た後に、この
を移動し、あなたが何をしようとしなかった、あなたは何を理解したのですか?デバッガを使ってプログラムをデバッグしましたか? –
**お金を表すために浮動小数点を使用しない**。さらに、コードを適切に書式設定(字下げ)してください。 –
いいえ、私はデバッガを使用しませんでした。私が抱えている問題はWhileループです。ローン金額が1000で、前払金が0.18、月払いが0である場合、残りの残高は最終結果が$ 0になりますが、それは-0.73になります。そして、私はデバッガを使用しませんでした - 私は基本的なプログラミングコースを取っているので、私はその目的を知っていますが、私は実際にそれに導入されていません。 – boutrosc