【发布时间】:2013-08-23 02:05:15
【问题描述】:
这是我们今天的练习,也是我们第一次在课堂上编写调用函数。这些是给我们的指示:
- 我必须制作一个 C 程序计算器,其中包含以下选项:0 - 退出、1 - 加、2 - 减、3 - 乘和 4 - 除。
- 一旦用户输入他们的选择,我会要求他们提供两个数字。
- 我需要为每个算术运算使用函数。
- 当我完成计算后,它应该会返回菜单。
- 程序仅在用户选择 0 时结束。
这是我已经编辑了很多的程序。
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
int add(int, int);
int sub(int, int);
int mul(int, int);
int div(int, int);
int main(){
int num1, num2, choice;
printf("[0] Exit\v[1] Add\v[2] Subtract\v[3] Multiply\v[4] Divide");
scanf("%d", &choice);
switch(choice){
case 0:
return 0;
break;
case 1:
printf("Enter 1st number:\n");
scanf("%d", &num1);
printf("Enter 2nd number:\n");
scanf("%d", &num2);
printf("%d", add(num1,num2));
break;
case 2:
printf("Enter 1st number:\n");
scanf("%d", &num1);
printf("Enter 2nd number:\n");
scanf("%d", &num2);
printf("%d ", sub(num1,num2));
break;
case 3:
printf("Enter 1st number:\n");
scanf("%d", &num1);
printf("Enter 2nd number:\n");
scanf("%d", &num2);
printf("%d", mul(num1,num2));
break;
case 4:
printf("Enter 1st number:\n");
scanf("%d", &num1);
printf("Enter 2nd number:\n");
scanf("%d", &num2);
printf("%d", div(num1,num2));
break;
default:
printf("That is not a valid choice.");
break;
}
//Addition
int add(int x,int y){
int z = x + y;
return z;
}
//Subtraction
int sub(int a,int b){
int c = a - b;
return c;
}
//Multiplication
int mul(int d,int e){
int f = d * e;
return f;
}
//Division
int div(int g,int h){
int i = g / h;
return i;
}
}
目前,只有两个错误: [错误] 'div' 的类型冲突 和 以前的“div”声明在这里
【问题讨论】:
-
这显然不会编译。所以显然它需要改进。如果您不了解其中一条编译器消息的用途以及您的代码错误的原因,请提出该问题。否则让代码编译然后运行它,看看它是否工作(它不会......但你可能会更好地了解原因)。
-
我已经编辑过了,但我总是得到这个错误:[Error] 'div'的类型冲突
-
不需要那些 add 等函数...直接使用操作符即可。并且不要重复 printf 和 scanf 来获取数字......在切换之前执行它们,或者将它们放入函数中。
-
在 C 中你不能在另一个函数中定义一个函数
-
初学者可以从这里获得帮助-> Program to create calculator using functions
标签: c function switch-statement calculator