首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

555 又是我 这会遇到了一个新的麻烦 希望各位大大再帮一此忙 给100分

2012-09-21 
555 又是小弟我 这会遇到了一个新的麻烦 希望各位大大再帮一此忙 给100分这是我写的一个带菜单的计算器 但

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);}
[解决办法]

探讨

在#include<stdio.h>和main()中间加上下面这三句话:
void menu(void);
void print_add(void);
void print_sub(void);


[解决办法]
1.函数调用前需要先声明,在#include<stdio.h>和main()中间加上下面这三句话:
void menu(void);
void print_add(void);
void print_sub(void);
  
或者先定义函数,再调用。

2.你的switch语句中的case1,csae2选项的最后都要加上break;,这样应该就可以了。

热点排行