#用switch break的语句计算银行利率 C语言 不知道哪里错了 vs2010不能运行
#include<stdio.h>
int main()
{
int choice;
double y;
printf(" 1---活期\n");
printf(" 2---一年期\n");
printf(" 3---三年期\n");
printf(" 4---五年期\n");
printf("Please input choice[1-4]: ");
scanf("%d", &choice);
switch(choice)
{
case 1:
y=100*(1+0.00361);
break;
case 2:
y=100(1+0.02251);
break;
case 3:
y=100(1+0.03333);
break;
case 4:
y=100(1+0.0360*5);
break;
default:
printf("对不起,您的选择有误!");
return;
}
printf("100元到期本金及利息总和:%f\n",y);
printf("谢谢!\n");
return 0;
}
main函数必须有返回值,default中的return改成return 0;
另外,利息应该是在上一年的基础上计算的,应该用pow函数计算,我给你注释到相应的代码后面了。
贴代码用代码段贴,否则一些星号会被吃掉,就不容易帮你找错误。
代码修改如下(计算公式还是用的你的,需要修改的我注释到相应的代码后面了)
#include <stdio.h>
#include <math.h>
int main()
{
int choice;
double y;
printf(" 1---活期\n");
printf(" 2---一年期\n");
printf(" 3---三年期\n");
printf(" 4---五年期\n");
printf("Please input choice[1-4]: ");
scanf("%d", &choice);
switch(choice)
{
case 1:
y=100*(1+0.0036*1);
break;
case 2:
y=100*(1+0.0225*1);
break;
case 3:
y=100*(1+0.0333*3); //y=100*pow(1+0.333,3);三年期应该是这个公式
break;
case 4:
y=100*(1+0.0360*5); //y=100*pow(1+0.360,5);五年期应该是这个公式
break;
default:
printf("对不起,您的选择有误!");
return 0;
}
printf("100元到期本金及利息总和:%f\n",y);
printf("谢谢!\n");
return 0;
}
应该是234分支100后面没有*符号,还有default分支的主函数返回没有值。
不知道是不是你找的那个问题,把case2,case3,case4 那里100后面加个星号(乘以要用),如果是有星号,应该是default那里的reuturn 加个数字,如-1(这里返回值要有个数字),程序就可以运行了。
#include<stdio.h>
int main()
{
int choice;
double y;
printf(" 1---活期\n");
printf(" 2---一年期\n");
printf(" 3---三年期\n");
printf(" 4---五年期\n");
printf("Please input choice[1-4]: ");
scanf("%d", &choice);
switch(choice)
{
case 1:
y=100*(1+0.00361);
break;
case 2:
y=100*(1+0.02251);
break;
case 3:
y=100*(1+0.03333);
break;
case 4:
y=100*(1+0.0360*5);
break;
default:
printf("对不起,您的选择有误!");
return -1;
}
printf("100元到期本金及利息总和:%f\n",y);
printf("谢谢!\n");
return 0;
}