C语言:房贷计算器(等额本息与等额本金对比计算器)

程序主要为等额本息与等额本金两种贷款方式的对比
使用了文件流,结果均存在文件”SavedLoan.txt”里

图片略多,这次会贴到代码后面

#include<stdio.h>
#include<stdlib.h>
#include<math.h>

//AC    等额本金 Average Capital
//ACPI  等额本息 Average Capital Plus Interest
float fLoanSum;//总需要贷款金额
float fMonthIRate;//月利率(年利率求得)
float fACPI_MonthPay;//ACPI月付
float fACPI_PaidI = 0;//ACPI已经付清的金额
float fAC_PaidP = 0;//AC已经付清的金额
float fACPI_Sum = 0;//ACPI贷款还款的本息和
float fAC_Sum = 0;//AC贷款还款的本息和
int iMonth, i;

int main()
{
    FILE *FileStream;
    float fMonthI, fMonthP;//月息和本金

    FileStream = fopen("LoanSaved.txt", "w+");

    puts("请输入:\n贷款总额(元)\t贷款年限\t贷款利率%:");
    scanf("%f %d %f", &fLoanSum, &iMonth, &fMonthIRate);
    fMonthIRate /= 12;//求得月利率
    fMonthIRate /= 100;//去掉%,直接算得月利率:x%的值
    iMonth *= 12;

    //等额本息
    fACPI_MonthPay = fLoanSum*fMonthIRate*pow(1 + fMonthIRate, iMonth) / (pow(1 + fMonthIRate, iMonth) - 1); //每月本息和
    fputs("ACPI:\n", FileStream);
    for (i = 1; i <= iMonth; i++)
    {
        fMonthI = (fLoanSum - fACPI_PaidI)*fMonthIRate; //每月利息
        fACPI_Sum += fMonthI;                           //纳入还款总额

        fMonthP = fACPI_MonthPay - fMonthI;             //每月本金
        fACPI_PaidI += fMonthP;                         //已付本金

        fprintf(FileStream, "   Month[%d]:Sum:%.2f  MonthInterest:%.2f  MonthPrincipal:%.2f\n", i, fMonthI + fMonthP, fMonthI, fMonthP);
    }

    //等额本金
    fMonthP = fLoanSum / iMonth;                        //每月本金

    fputs("AC:\n", FileStream);
    for (i = 1; i <= iMonth; i++)
    {
        fMonthI = (fLoanSum - fAC_PaidP)*fMonthIRate;   //月利息
        fAC_Sum += fMonthI;                             //计入还款额

        fAC_PaidP += fMonthP;                           //已付本金
        fprintf(FileStream, "   Month[%d]:Sum:%.2f  MonthInterest:%.2f  MonthPrincipal:%.2f\n", i, fMonthP + fMonthI, fMonthI, fMonthP);
    }
    fprintf(FileStream, "InterestSum:\n\tACPI_InterestSum:%.2f\tAC_InterestSum:%.2f\nSUM:\n\tACPI_Sum:%.2f\tAC_Sum:%.2f", fACPI_Sum, fAC_Sum, fACPI_Sum + fLoanSum, fAC_Sum + fLoanSum);

    fclose(FileStream);
    system("pause");
    return 0;
}

运行图:

这里写图片描述

等额本息的每月还款情况:
这里写图片描述

等额本金的每月还款情况:
这里写图片描述

两种贷款方式的总利息和本息和:(单位:元)
这里写图片描述

  • 4
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值