555 又是小弟我 这会遇到了一个新的麻烦 希望各位大大再帮一此忙 给100分
这是我写的一个带菜单的计算器 但是出现了问题
#include<stdio.h>
main()
{
int choice;
while(1)
{
menu();
printf("请选择您要使用的功能 /n");
scanf("%d",&choice);
switch(choice)
{
case 1:print_add();
case 2:print_sub();
case 0:exit(0);break;
default :printf("没有您要的选项 /n");
}
}
}
void menu()
{
printf("加法运算 /n");
printf("减法运算 /n");
printf("退出 /n");
}
void print_add()
{
double a,b,sum;
printf("请输入2个相加的数 /n");
scanf("%lf%lf",&a,&b);
sum=a+b;
printf("最后的结果为:%lf /n",sum);
}
void print_sub()
{
double a,b,sub;
printf("请输入2个相减的数 /n");
scanf("%lf%lf",&a,&b);
sub=a-b;
printf("最后的结果为:%lf /n",sub);
}
console这样告诉我的错误
error C2371: 'menu' : redefinition; different basic types
error C2371: 'print_add' : redefinition; different basic types
error C2371: 'print_sub' : redefinition; different basic types
求论坛里的大大们帮帮忙了 小弟不才
[解决办法]
在#include<stdio.h>和main()中间加上下面这三句话:
void menu(void);
void print_add(void);
void print_sub(void);
[解决办法]
- C/C++ code
#include<stdio.h>#include <iostream>using namespace std;void menu();//必须先声明void print_add();void print_sub();int main(){ int choice; while(1) { menu(); printf("请选择您要使用的功能 /n"); scanf("%d",&choice); switch(choice) { case 1: print_add(); break;//最好加上break; case 2: print_sub(); break; case 0: exit(0); break; default : printf("没有您要的选项 /n"); } } return 0;}void menu(){ printf("加法运算 /n"); printf("减法运算 /n"); printf("退出 /n");}void print_add(){ double a,b,sum; printf("请输入2个相加的数 /n"); scanf("%lf%lf",&a,&b); sum=a+b; printf("最后的结果为:%lf /n",sum);}void print_sub(){ double a,b,sub; printf("请输入2个相减的数 /n"); scanf("%lf%lf",&a,&b); sub=a-b; printf("最后的结果为:%lf /n",sub);}
[解决办法]
- C/C++ code
#include<stdio.h>#include <iostream>using namespace std;void menu();//必须先声明void print_add();void print_sub();int main(){ int choice; while(1) { menu(); printf("请选择您要使用的功能 /n"); scanf("%d",&choice); switch(choice) { case 1: print_add(); break;//最好加上break; case 2: print_sub(); break; case 0: exit(0); break; default : printf("没有您要的选项 /n"); } } return 0;}void menu(){ printf("加法运算 /n"); printf("减法运算 /n"); printf("退出 /n");}void print_add(){ double a,b,sum; printf("请输入2个相加的数 /n"); scanf("%lf%lf",&a,&b); sum=a+b; printf("最后的结果为:%lf /n",sum);}void print_sub(){ double a,b,sub; printf("请输入2个相减的数 /n"); scanf("%lf%lf",&a,&b); sub=a-b; printf("最后的结果为:%lf /n",sub);}
[解决办法]
[解决办法]
1.函数调用前需要先声明,在#include<stdio.h>和main()中间加上下面这三句话:
void menu(void);
void print_add(void);
void print_sub(void);
或者先定义函数,再调用。
2.你的switch语句中的case1,csae2选项的最后都要加上break;,这样应该就可以了。