void menu()
{
printf("#####################################\n");
printf("########## 1.add 2.sub########\n");
printf("########### 3.mul 4.div########\n");
printf("################ 0.exit ############\n");
}
int add(int x, int y)
{
return x + y;
}
int sub(int x, int y)
{
return x - y;
}
int mul(int x, int y)
{
return x * y;
}
int div(int x, int y)
{
return x / y;
}
int swich(int n);
int main()
{
int ipu = 0;
int x = 0;
int y = 0;
do
{
menu();
printf("请输入选项上的数字: \n");
scanf("%d", &ipu);
printf("请输入两个要计算的数字\n");
scanf("%d%d", &x, &y);
swich(ipu)
{
case 1:
printf("%d\n", add(x, y));
break;
case 2:
printf("%d\n", sub(x, y));
break;
case 3:
printf("%d\n", mul(x, y));
break;
case 4:
printf("%d\n", div(x, y));
break;
case 0:
printf("退出计算机\n");
break;
default:
printf("除以上数字之外不能输入其他数字,请输入以上数字\n");
break;
}
} while (ipu);
}
switch
#include <stdio.h>
void menu()
{
printf("#####################################\n");
printf("########## 1.add 2.sub########\n");
printf("########### 3.mul 4.div########\n");
printf("################ 0.exit ############\n");
}
int add(int x, int y)
{
return x + y;
}
int sub(int x, int y)
{
return x - y;
}
int mul(int x, int y)
{
return x * y;
}
int div(int x, int y)
{
return x / y;
}
int swich(int n);
int main()
{
int ipu = 0;
int x = 0;
int y = 0;
do
{
menu();
printf("请输入选项上的数字: \n");
scanf("%d", &ipu);
printf("请输入两个要计算的数字\n");
scanf("%d%d", &x, &y);
switch(ipu)
{
case 1:
printf("%d\n", add(x, y));
break;
case 2:
printf("%d\n", sub(x, y));
break;
case 3:
printf("%d\n", mul(x, y));
break;
case 4:
printf("%d\n", div(x, y));
break;
case 0:
printf("退出计算机\n");
break;
default:
printf("除以上数字之外不能输入其他数字,请输入以上数字\n");
break;
}
} while (ipu);
}
不知道你这个问题是否已经解决, 如果还没有解决的话:针对算数程序中出现的语法错误,包括非法的case和default,缺少分号等问题,可以根据编译器的报错信息来进行逐步修复。常见的语法错误包括:
1.非法的case和default:在switch语句中,case和default后面必须跟着一个语句块,否则会出现语法错误。例如:
switch (a) {
case 1:
// some code here
break;
case 2:
// some code here
break;
default:
// some code here
}
2.缺少分号:在语句末尾缺少分号也会导致语法错误。例如:
int a = 10
int b = 20;
3.while循环语法错误:while循环语法错误主要有三种,分别是缺少括号、缺少分号和缺少花括号。例如:
while i < 10 {
// some code here
}
while (i < 10)
// some code here;
while (i < 10)
// some code here
对于以上语法错误,可以根据编译器的报错信息逐步修复。下面是一个示例修复缺少分号的语法错误的代码:
int a = 10;
int b = 20
int c = a + b;
修改后:
int a = 10;
int b = 20;
int c = a + b;
对于while循环的语法错误,可以参考以下代码进行修复:
int i = 0;
while (i < 10) {
// some code here
i++;
}