求查错,被这一小编程折磨好久了
写一程序求公积金贷款额度的计算,不用管房屋类型。表示第一次写编程作业被虐成dog
以下是题目与我的程序,没语法错误,但测试时不对?
题3.4 请根据公积金贷款政策计算房屋的贷款额。购买人的情况
可以根据程序的提示输入。程序获取信息以后根据公积金贷款政策(假设只用公积金贷款)计算房屋的贷款额度。
测试数据:缴存比例一般在:8%-15%,个人缴存公积金一般在500-2000。
需要的信息:房屋总价,房屋面积,是否使用配偶公积金,第几套房产,公积金余额,公积金缴存额,公积金缴存比例,本人及配偶是否有补充公积金。
注意:计算还贷能力时与补充公积金无关。
公积金贷款政策如下:
住房公积金贷款额度的计算,要根据还贷能力、房价成数、住房公积金账户余额和贷款最高限额四个条件来确定,四个条件算出的最小值就是借款人最高可贷数额。计算方法如下:
①按照还贷能力计算的贷款额度
计算公式为:
[(借款人月工资总额+借款人所在单位住房公积金月缴存额)×还贷能力系数-借款人现有贷款月应还款总额]×贷款期限(月)。
使用配偶额度的:
[(夫妻双方月工资总额+夫妻双方所在单位住房公积金月缴存额)×还贷能力系数-夫妻双方现有贷款月应还款总额]×贷款期限(月)。
其中还贷能力系数为40%
月工资总额=公积金月缴额÷(单位缴存比例+个人缴存比例)。
②按照房屋价格计算的贷款额度
计算公式为:贷款额度=房屋价格×贷款成数
其中贷款成数根据购建修房屋的不同类型和房贷套数来确定:
a.购买商品住房、限价商品住房、定向安置经济适用住房、定向销售经济适用房或私产住房。
职工家庭(包括职工、配偶及未成年子女,下同)贷款购买首套住房(包括商品住房、限价商品住房、定向安置经济适用住房、定向销售经济适用住房或私产住房),且所购住房建筑面积在90平方米(含90平方米)以下的,应支付不低于所购住房价款20%的首付款,贷款额度不高于所购住房价款的80%;所购住房建筑面积超过90平方米,应支付不低于所购住房价款30%的首付款,贷款额度不高于所购住房价款的70%。
职工家庭贷款购买第二套住房的,应支付不低于所购住房价款50%的首付款,贷款额度不高于所购住房价款的50%。
职工家庭贷款购买第三套及以上住房的,暂停发放个人住房公积金贷款。
购买私产住房的,房屋价格和评估价格不一致时,取二者低值核定额度。
购买定向安置经济适用住房的,贷款额度还应不高于所购住房全部价款与房屋补偿金的差价。
b.购买公有现住房的,贷款额度不超过所购房屋价格的70%;建造、翻建、大修自有住房的,贷款额度不超过所建修住房所需费用的70%。
③按照住房公积金账户余额计算的贷款额度
职工申请住房公积金贷款的,贷款额度不得高于职工申请贷款时住房公积金账户余额(同时使用配偶住房公积金申请公积金贷款,为职工及配偶住房公积金账户余额之和)的10倍,住房公积金账户余额不足2万的按2万计算。
④按照贷款最高限额计算的贷款额度
使用本人住房公积金申请住房公积金贷款的,贷款最高限额40万元;同时使用配偶住房公积金申请住房公积金贷款的,贷款最高限额60万元。
使用本人住房公积金申请住房公积金贷款,且申请贷款时本人正常缴存补充住房公积金的,贷款最高限额50万元;同时使用配偶住房公积金申请住房公积金贷款,且申请贷款时本人或其配偶正常缴存补充住房公积金的,贷款最高限额70万元。
计算出的贷款额度数值保留到千位,千位以下不为零的千位加一。
测试数据:缴存比例一般在:8%-15%,个人缴存公积金一般在500-2000。
需要的信息:房屋总价,房屋面积,是否使用配偶公积金,第几套房产,公积金余额,公积金缴存额,公积金缴存比例,本人及配偶是否有补充公积金。
注意:计算还贷能力时与补充公积金无关。
#include<stdio.h>
void main()
{
int a;//第几套房
int d;//贷款期限
char choice1, choice2;//选择判断
float fwjg;//房屋价格
float fwmj;//房屋面积
float gjjye;
float pogjjye;//借款人公积金余额,配偶公积金余额
float jkrgjjjce;
float pogjjjce;//借款人公积金月缴存额,配偶公积金月缴存额
float gjjjcbl;
float pogjjjcbl;//公积金月缴存比例,配偶公积金月缴存比例
float dked1 = 0.0;
float dked2 = 0.0;
float dked3 = 0.0;
float dked4 = 0.0;//贷款额度
float dked=0.0;//最终贷款额度
float jkrygz, poygz;//借款人月工资,配偶月工资
float jkrdwjce, podwjce;//借款人单位缴存额,配偶单位缴存额
float jkrdwjcebl, podwjcebl;//借款人单位缴存比例,配偶单位缴存比例
float debt1, debt2;//借款人当前已有月还款额,配偶当前已有月还款额
printf("请问这是第几套房子?");
scanf_s("%d", &a);
getchar();
printf("房屋价格是?(万)");
scanf_s("%f", &fwjg);
getchar();
printf("房屋面积?(平方米)");
scanf_s("%f", &fwmj);
getchar();
printf("是否使用配偶公积金额度(1:是;2:否)");
scanf_s("%c", &choice1);
getchar();
printf("本人及配偶是否有补充公积金(1:本人有;2:本人无;3:本人与配偶都有)");
scanf_s("%c", &choice2);
getchar();
printf("借款人公积金余额(万)");
scanf_s("%f", &gjjye);
getchar();
printf("借款人公积金缴存额");
scanf_s("%f", &jkrgjjjce);
getchar();
printf("借款人公积金缴存比例");
scanf_s("%f", &gjjjcbl);
getchar();
printf("借款人单位缴存额");
scanf_s("%f", &jkrdwjce);
getchar();
printf("借款人单位缴存额比例");
scanf_s("%f", &jkrdwjcebl);
getchar();
printf("配偶公积金余额(万)");
scanf_s("%f", &pogjjye);
getchar();
printf(" 配偶公积金缴存额");
scanf_s("%f", &pogjjjce);
getchar();
printf("配偶公积金缴存比例");
scanf_s("%f", &pogjjjcbl);
getchar();
printf("配偶单位缴存额");
scanf_s("%f", &podwjce);
getchar();
printf("配偶单位缴存额比例");
scanf_s("%f", &podwjcebl);
getchar();
printf("借款人当前已有月还款额");
scanf_s("%f", &debt1);
getchar();
printf("配偶当前已有月还款额");
scanf_s("%f", &debt2);
getchar();
printf("贷款期限(月)");
scanf_s("%d", &d);
getchar();
jkrygz = jkrgjjjce / (gjjjcbl + jkrdwjcebl);
poygz = pogjjjce / (pogjjjcbl + podwjcebl);
switch (choice1)
{
case 1:dked1 = ((jkrygz + poygz + podwjce + jkrdwjce)*0.4 - debt1 - debt2)*d;
if ((gjjye + pogjjye) < 2)
dked3 = 20;
else dked3 = (gjjye + pogjjye) * 10;
switch (choice2)
{
case 1:dked4 = 50;
break;
case 2:dked4 = 60;
break;
case 3:dked4 = 70;
break;
}
break;
case 2:dked1 = ((jkrygz + jkrdwjce)*0.4 - debt1)*d;
if (gjjye < 2)
dked3 = 20;
else dked3 = gjjye * 10;
switch (choice2)
{
case 1:dked4 = 50;
break;
case 2:dked4 = 40;
break;
case 3:dked4 = 40;
break;
}
}
switch (a)
{
case 1:
if (fwmj <= 90)
{
dked2 = (fwjg * 0.8);
}
else
{
dked2 = (fwjg * 0.7);
}
break;
case 2:
dked2 = fwjg*0.5;
break;
default:dked2 = 0;
}
if (dked1 < dked2)
dked = dked1;
else dked = dked2;
if (dked3 < dked)
dked = dked3;
if (dked4 < dked)
dked = dked4;
printf("%f", dked);
}
[ 本帖最后由 小军123 于 2014-11-6 00:28 编辑 ]