要main函数之前加上#include <stdio.h>如猛卖,因为printf()函数没有被定义在<windows.h>中。
额,问题比较多double take(int a)在main之前没有声明
main函数中是void face()这个是函数声明,调用应该是face()
printf("除数不能为0!\n") 后面应该加一句break,或者return否者会贯穿到其他case分支中
result = (int)b%(int)c
后面加 个return result
最后少了一个return 和}
附上修改后的代码
#include<stdio.h>
double take()
void face()
double take(int a)
int main()
{
int a
do
{
face()
printf("请选择您行枣需要的运算:孝前")
scanf("%d",&a)
printf("运算结果为:%f",take(a))
}while(a=0)
printf("已经退出计算程序!")
return 0
}
void face()
{
printf("*------------------*\n")
printf("|小型计算器|\n")
printf("巧带清*------------------*\n")
printf("| 1.加法 |\n")
printf("| 2.减法 |\n")
printf("| 3.乘法 |\n")
printf("| 4.除法 |\n")
printf("| 5.求余 |\n")
printf("| 0.退出 |\n")
printf("*------------------*\n")
printf("| 请输入1-5进行选择|\n")
printf("*------------------*\n")
}
double take(int a)
{
double b,c,result=0
switch(a)
{
case 1:
printf("请输入两个加数:")
scanf("%lf%lf",&b,&c)
result = b + c
return result
case 2:
printf("请输入被减数和减数:")
scanf("%lf%lf",&b,&c)
result = b - c
return result
case 3:
printf("请输入两个乘数:")
scanf("%lf%lf",&b,&c)
result = b*c
return result
case 4:
printf("请输入被除数和除数:")
scanf("%lf%lf",&b,&c)
if(c==0)
{
printf("除数不能为0!\n")
return result
}
else
{
result= b/c
return result
}
case 5:
printf("请输入两个整数:")
scanf("%lf%lf",&b,&c)
if((int)c==0)
{
printf("除数不能为0!\n")
}
else
{
result = (int)b%(int)c
return result
}
case 0: result=0
return result
default : printf("输入错误!")
}
return result
}
PS:你的代码实在不优雅,我本来想修改的,又怕你不认识了,所以还是在你的代码基础上改了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)