由于刚学习C语言不久,很多语句没有接触过,但是自己设计的这个简单的,程序有误,希望能帮忙解决一下,谢谢
#include<stdio.h>
int jia(a,b);
int jian(a,b);
int cheng(a,b);
int chu(a,b);
void main()
{
int a,b;
char c;
printf("输入两个整数");
scanf("%d%d%c",&a,&b,&c);
switch(c)
{
case '+':add(a,b);break;
case '-':jian(a,b);break;
case '*':cheng(a,b);break;
case '/':chu(a,b);break;
}
}
int jia(a,b)
{
int c;
while(a||b)
{
printf("a+b=%d",a+b);
scanf("%d%d%c",&a,&b,&c);
switch(c)
{
case '+':add(a,b);break;
case '-':jian(a,b);break;
case '*':cheng(a,b);break;
case '/':chu(a,b);break;
}
}
}
int jian(a,b)
{
int c;
while(a||b)
{
printf("a-b=%d",a-b);
scanf("%d%d%c",&a,&b,&c);
switch(c)
{
case '+':add(a,b);break;
case '-':jian(a,b);break;
case '*':cheng(a,b);break;
case '/':chu(a,b);break;
}
}
}
int cheng(a,b)
{
int c;
while(a||b)
{
printf("a*b=%d",a*b);
scanf("%d%d%c",&a,&b,&c);
switch(c)
{
case '+':add(a,b);break;
case '-':jian(a,b);break;
case '*':cheng(a,b);break;
case '/':chu(a,b);break;
}
}
}
int chu(a,b)
{
int c;
while(a||b)
{
printf("a/b=%d",a/b);
scanf("%d%d%c",&a,&b,&c);
switch(c)
{
case '+':add(a,b);break;
case '-':jian(a,b);break;
case '*':cheng(a,b);break;
case '/':chu(a,b);break;
}
}
}
//加
int Plus(int a,int b);
//减
int Minus(int a,int b);
//乘
int Multiply(int a,int b);
//除
int Divide(int a,int b);
void main()
{
int a,b;
char c;
printf("输入两个整数");
scanf("%d%d%c",&a,&b,&c);
switch(c)
{
case '+':Plus(a,b);break;
case '-':Minus(a,b);break;
case '*':Multiply(a,b);break;
case '/':Divide(a,b);break;
}
}
int Plus(int a,int b)
{
int c;
while(a||b)
{
printf("a+b=%d",a+b);
scanf("%d%d%c",&a,&b,&c);
switch(c)
{
case '+':Plus(a,b);break;
case '-':Minus(a,b);break;
case '*':Multiply(a,b);break;
case '/':Divide(a,b);break;
}
}
}
int Minus(int a,int b)
{
int c;
while(a||b)
{
printf("a-b=%d",a-b);
scanf("%d%d%c",&a,&b,&c);
switch(c)
{
case '+':Plus(a,b);break;
case '-':Minus(a,b);break;
case '*':Multiply(a,b);break;
case '/':Divide(a,b);break;
}
}
}
int Multiply(int a,int b)
{
int c;
while(a||b)
{
printf("a*b=%d",a*b);
scanf("%d%d%c",&a,&b,&c);
switch(c)
{
case '+':Plus(a,b);break;
case '-':Minus(a,b);break;
case '*':Multiply(a,b);break;
case '/':Divide(a,b);break;
}
}
}
int Divide(int a,int b)
{
int c;
while(a||b)
{
printf("a/b=%d",a/b);
scanf("%d%d%c",&a,&b,&c);
switch(c)
{
case '+':Plus(a,b);break;
case '-':Minus(a,b);break;
case '*':Multiply(a,b);break;
case '/':Divide(a,b);break;
}
}
}
语法错误给你先改过来了,我估摸着这套逻辑依然有问题,改的时候我发现的潜在问题是排版挺乱,没有英文命名规则,这两点从打基础时就应该要注意,有问题欢迎骚扰
其次,你每个函数都有循环,目的何在?
最后,如果的用printf输出,最好不要用a+b,由于printf函数处理会导致输出不一定是理想值。最好是把最终答案赋值给一个变量,再输出那个变量。例:d=a-b,输出d。
建立连接的时候出现
error LNK2001: unresolved external symbol _main
Debug/e.exe : fatal error LNK1120: 1 unresolved externals
错误提示
你那个用的add方法,上面怎么写的jia啊?