c语言房贷计算器
‘壹’ 有关银行贷款还贷的c语言程序
你的错误实在太多了。看代码王的程序简洁易懂
#include<stdio.h>
#include<math.h>
int main()
{
double z,k,x,monthPay,allMoney,temp=0;
int n,i;
printf("输入借款总额、贷款年限、年利率: ");
//贷款总和最好不要用int型的,int的最大值是32767,那你岂不是超了
scanf("%lf%d%lf",&z,&n,&k);
//计算n年后要还的总的钱数 pow(x,y)是在头文件math.h中的函数计算x^y
allMoney = z*pow((1+k/12),12*n);
//式子∑x(1+k/12)^i (i=0,1,2,..,n*12-1)将x提出到前面计算 temp=∑(1+k/12)^i
for(i=0; i<12*n; i++)
temp += pow((1+k/12),i);
//根据等式z(1+k/12)^(12*n) = ∑x(1+k/12)^i (i=0,1,2,..,n*12-1) 得x=allMoney/temp;
x = allMoney/temp;
printf("每月应还款:%lf", x);
}
‘贰’ 求助,用c语言程序编写下面题目,贷款计算器。
现在改好,看到变化的地方:
#包括中
无效的主要(无效)
{
持股量A,B,面积;/ *应被宣布为float * /
:浮动get_area(浮动,浮动,浮动);/ *正常申报的法律,有正式的和实际参数不能相同的名称* /
printf的(“请输入一个梯形的上底:\ n”);
scanf的(“%f”,&A);
输出(“请输入一个梯形下底:\ n”);
scanf的(“%f”,及b); printf的(“请输入梯形的高
:\ n”);
scanf的(“%f”,&H);/ *变化* /
面积= get_area(A,B,H);
printf(“请梯形面积是%f \ n “,区);
}
的持股量get_area(浮动a_x,b_x浮,浮H_X)
{
回报1/2.0 *(a_x + b_x)* H_X; / * 2更改为2.0,因为1/0,1/2 = 2.0 = 0.5,这是想法?C * /
}
‘叁’ 用c++设计一个房贷计算器,在输入贷款总额,贷款年利率以及借贷月数后,能更具上述公式计算每月还款额
贷款月数和还款次数相等?我不是很清楚那个还款,我的算法是每一个月还款剩余的本金在计算每月本金的,也就是说每月本金不相同,你可以把问题描述的更加详细点,我在给修改修改
# include<iostream>
using namespace std;
int main()
{
int a,n,i; //a表示贷款金额 n代表借贷月数
float k,s,p,q,m; //k代表年利率 s代表每月还款额 p代表每月本金 q代表每月利息 m表示上月本金
cout<<"请输入贷款金额"<<"a=";
cin>>a;
cout<<"请输入借贷月数"<<"n=";
cin>>n;
cout<<"请输入年利率"<<"k=";
cin>>k;
for(i=1;i<=n;i++)
{
p=a/n;
m=a-(p*i);
q=m*(k/12);
s=p+q;
cout<<"第"<<i<<"个月的还款金额为"<<"s="<<s<<endl;
a-=s;
}
return 0;
}
我运行试了,你看看可以不可以,不可以的话我在给改改
‘肆’ c语言贷款计算器的源程序
/*
* main.c
*
* Created on: 2011-6-8
* Author: icelights
*/
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <math.h>
#define APR1 0.0747 /*<1年(含1年)年利率*/
#define APR2 0.0756 /*1-3年(含3年)年利率*/
#define APR3 0.0774 /*3-5年(含5年)年利率*/
#define APR4 0.0783 /*5年以上年利率*/
#define A_TO_M 1/12 /*月利率 = 年利率 / 12*/
#define RTP 12 /*Reimbursement total periods还款总期数 =年限*12*/
#define LENGTH 80
struct LoanInfo
{
/*姓名*/
char name[LENGTH];
/*贷款总额*/
double LoanAmount;
/*贷款年限*/
double LoanYear;
/*月付*/
double MonthlyPayment;
/*总利息*/
double TotalInterest;
/*还款总额*/
double ReimbursementAmount;
/*年利率*/
double apr;
struct LoanInfo * next;
};
void CalcShow(struct LoanInfo * cur, struct LoanInfo * hd,
struct LoanInfo * prv);
int main(void)
{
int temp;
struct LoanInfo * head = NULL;
struct LoanInfo * prev, * current;
current = (struct LoanInfo *)malloc(sizeof(struct LoanInfo));
if (NULL == head)
{
head = current;
}
else
{
prev->next = current;
}/*End of if (NULL == head)*/
puts("请输入姓名");
gets(current->name);
fflush(stdin);
puts("请输入贷款数额(单位:万元)");
scanf("%lf", ¤t->LoanAmount);
fflush(stdin);
puts("请输入贷款年限");
scanf("%lf", ¤t->LoanYear);
fflush(stdin);
printf("姓名:%s,贷款年限:%lf, 贷款数额%lf",
current->name, current->LoanYear, current->LoanAmount);
prev = current;
puts("请确认Y/N");
temp = getchar();
switch(toupper(temp))
{
case 'Y' : CalcShow(current, head, prev);
break;
case 'N' : free(current);
main();
break;
default : puts("输入错误");
free(current);
break;
}
return 0;
}
void CalcShow(struct LoanInfo * cur, struct LoanInfo * hd,
struct LoanInfo * prv)
{
char lcv_temp;
if (cur->LoanYear <= 1)
cur->apr = APR1;
else if (cur->LoanYear <= 3)
cur->apr = APR2;
else if (cur->LoanYear <= 5)
cur->apr = APR3;
else
cur->apr = APR4;
/*End of if (year <= 1)*/
cur->LoanAmount = 10000 * cur->LoanAmount;
cur->ReimbursementAmount = cur->LoanAmount * pow((1 + cur->apr), cur->LoanYear);
cur->MonthlyPayment = cur->ReimbursementAmount / (cur->LoanYear * RTP);
cur->TotalInterest = cur->ReimbursementAmount - cur->LoanAmount;
printf("姓名:%s 贷款年限:%.0lf\n"
"贷款数额:%.2lf 每月还款额:%.2lf\n"
"利息合计:%.2lf 还款总额:%.2lf\n",
cur->name, cur->LoanYear, cur->LoanAmount,
cur->MonthlyPayment, cur->TotalInterest, cur->ReimbursementAmount);
puts("是否继续计算Y/N");
lcv_temp = getchar();
switch(toupper(lcv_temp))
{
case 'Y' : free(cur);
main();
break;
case 'N' : free(cur);
exit(0);
default : puts("输入错误");
free(cur);
main();
break;
}
system("pause");
}
‘伍’ C语言贷款计算器的设计题
下面的程序是结合你的程序修改的,公式计算部分,你自己修改一下,因为我实在看不懂上面你贴出的公式,格式太乱了。
//贷款利率计算器。
#include<stdio.h>
#include<math.h>
void inputData(char c[],float *a,int *y) //姓名,贷款数额和年限
{
char ch;
while(1)
{
printf("输入用户姓名:\n");
scanf("%s",c);
getchar();
printf("输入贷款数额(万元):\n");
scanf("%f",a);
getchar();
printf("输入贷款年限:\n");
scanf("%d",y);
getchar();
printf("姓名:%s,贷款年限为%d年,贷款数额为%f万元,正确?(Y/N)\n",c,*y,*a);
scanf("%c",&ch);
getchar();
if(ch == 'Y' || ch =='y')
{
break;
}
}
}
float getliLv(int y) //获得年利率。
{
float x=0.0;
switch(y)
{
case 0:
case 1:
{
x=0.0747;
break;
}
case 2:
case 3:
{
x=0.0756;
break;
}
case 4:
case 5:
{
x=0.0774;
break;
}
default:
{
x=0.0783;
}
}
return x;
}
int main()
{
char c[30]; //姓名
int year; //年限
float a; //贷款总额。
float lilv; //年利率
double monthR; //每月还款额
double lixisum; //利息合计
double sumE; //还款总额。
double k,l;
char ch;
printf("*********************贷款利率计算系统*****************\n");
while(1)
{
inputData(c,&a,&year);
lilv = getliLv(year);
//注意,下面的计算可能存在问题,因为我实在看不懂你的计算公式,你根据公式改变一下吧。
k=lilv/12*pow((1+lilv/12),(year*12));
l=pow((1+lilv/12),(year*12-1));
monthR=k/l*a*10000;
lixisum=a*lilv*year*10000;
sumE=monthR*year*12; //每月还款额*还款期数
printf("姓名:%s 贷款年限(年):%d\n贷款数额(元):%f 每月还款数额(元):%f\n利息合计(元):%f 还款总额(元):%f\n",c,year,a*10000,monthR,lixisum,sumE);
printf("是否进行新的计算(Y/N)?\n");
scanf("%c",&ch);
getchar();
if(ch != 'Y' && ch != 'y')
{
break;
}
}
return 0;
}
‘陆’ c语言初学者虚心求教银行贷款计算器
1. 第一个scanf里面&a&b&c之间要有逗号,应该是&a,&b,&c
2. 第二个scanf("%c\n,&f);在\n后面少了后引号,应该是scanf("%c\n",&f);
3. (int)f-(int)e==0的用法不对,应该是f=='e',才表示当f输入的是e时
4. scanf里面最好不要有\n,不然容易输入错误
然后你功能好像还没做完吧,最后输出的是什么也不知道啊
另外建议最前面三个值输入的时候最好分开写,不要在一起,然后每输入一个值输出显示一次,保证正确
‘柒’ c语言 银行贷款问题(急求)
lz ,这个问题其实是个数学公式,编程求解的话,也就是起到一个计算器的作用(如果不具备公式的话,那就只能通过枚举来一个个尝试了,那就失去针对性了)
刚我算了一下,思路:
1. 年利率为i ,则第一年的利息是 s * i ,第二年是 (s - 12x) * i ,其中x是每月还款额,第三年 (s - 24x) * i ... ... ,第n年的利息是 [ s - 12(n-1)x ] * i ,该等差数列之和为 [s - 6(n-1)x ] * n * i ,这就是n年所产生的总利息了。
2.通过等式 :
(总利息 + 本金)/ 年数 / 12 = 每月还款额
{ [s - 6(n-1)x ] * n * i + s } / 12n = x
解得x = ( nis + s ) / [ 12n + 6(n-1) ni ]
假设房贷 300000 按揭10年 ,利率5% ,每月还3061 ,差不多
‘捌’ c++房贷计算器
这不是财富能给写的 你可以到CSDN上搜搜相关代码
‘玖’ C++ C语言程序设计 题目:贷款计算器
/*
* main.c
*
* Created on: 2011-6-8
* Author: icelights
*/
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <math.h>
#define APR1 0.0747 /*<1年(含1年)年利率*/
#define APR2 0.0756 /*1-3年(含3年)年利率*/
#define APR3 0.0774 /*3-5年(含5年)年利率*/
#define APR4 0.0783 /*5年以上年利率*/
#define A_TO_M 1/12 /*月利率 = 年利率 / 12*/
#define RTP 12 /*Reimbursement total periods还款总期数 =年限*12*/
#define LENGTH 80
struct LoanInfo
{
/*姓名*/
char name[LENGTH];
/*贷款总额*/
double LoanAmount;
/*贷款年限*/
double LoanYear;
/*月付*/
double MonthlyPayment;
/*总利息*/
double TotalInterest;
/*还款总额*/
double ReimbursementAmount;
/*年利率*/
double apr;
struct LoanInfo * next;
};
void CalcShow(struct LoanInfo * cur, struct LoanInfo * hd,
struct LoanInfo * prv);
int main(void)
{
int temp;
struct LoanInfo * head = NULL;
struct LoanInfo * prev, * current;
current = (struct LoanInfo *)malloc(sizeof(struct LoanInfo));
if (NULL == head)
{
head = current;
}
else
{
prev->next = current;
}/*End of if (NULL == head)*/
puts("请输入姓名");
gets(current->name);
fflush(stdin);
puts("请输入贷款数额(单位:万元)");
scanf("%lf", ¤t->LoanAmount);
fflush(stdin);
puts("请输入贷款年限");
scanf("%lf", ¤t->LoanYear);
fflush(stdin);
printf("姓名:%s,贷款年限:%lf, 贷款数额%lf",
current->name, current->LoanYear, current->LoanAmount);
prev = current;
puts("请确认Y/N");
temp = getchar();
switch(toupper(temp))
{
case 'Y' : CalcShow(current, head, prev);
break;
case 'N' : free(current);
main();
break;
default : puts("输入错误");
free(current);
break;
}
return 0;
}
void CalcShow(struct LoanInfo * cur, struct LoanInfo * hd,
struct LoanInfo * prv)
{
char lcv_temp;
if (cur->LoanYear <= 1)
cur->apr = APR1;
else if (cur->LoanYear <= 3)
cur->apr = APR2;
else if (cur->LoanYear <= 5)
cur->apr = APR3;
else
cur->apr = APR4;
/*End of if (year <= 1)*/
cur->LoanAmount = 10000 * cur->LoanAmount;
cur->ReimbursementAmount = cur->LoanAmount * pow((1 + cur->apr), cur->LoanYear);
cur->MonthlyPayment = cur->ReimbursementAmount / (cur->LoanYear * RTP);
cur->TotalInterest = cur->ReimbursementAmount - cur->LoanAmount;
printf("姓名:%s 贷款年限:%.0lf\n"
"贷款数额:%.2lf 每月还款额:%.2lf\n"
"利息合计:%.2lf 还款总额:%.2lf\n",
cur->name, cur->LoanYear, cur->LoanAmount,
cur->MonthlyPayment, cur->TotalInterest, cur->ReimbursementAmount);
puts("是否继续计算Y/N");
lcv_temp = getchar();
switch(toupper(lcv_temp))
{
case 'Y' : free(cur);
main();
break;
case 'N' : free(cur);
exit(0);
default : puts("输入错误");
free(cur);
main();
break;
}
system("pause");
}
‘拾’ c语言代码编写的计算器程序,怎么变成有这种界面的样子
这一“变”可费大劲了,没有大毅力者做不出来。
不能用C,得用C++
不能用控制台,得用MFC
逻辑关系比你现有的这个程序复杂10倍
如果你还想做,我就给你找个教程。