C 在交换机机箱中调用函数

C 在交换机机箱中调用函数,c,C,我一直在尝试创建一个计算器或半计算器,我想知道我的代码出了什么问题,为什么 这是我的代码,在编译时出错,在一台机器上我得到不同的错误,而在另一台机器上,错误是不同的 我希望你们能帮我解决。 这是一个能更好地理解C编程的小程序 #include<stdio.h> int main() { int operation,fc,v1,v2; double fcd; printf("input 2 values\n"); scanf("%d%d",&v1

我一直在尝试创建一个计算器或半计算器,我想知道我的代码出了什么问题,为什么

这是我的代码,在编译时出错,在一台机器上我得到不同的错误,而在另一台机器上,错误是不同的

我希望你们能帮我解决。 这是一个能更好地理解C编程的小程序

#include<stdio.h>
int main()
{
    int operation,fc,v1,v2;
    double fcd;
    printf("input 2 values\n");
    scanf("%d%d",&v1,&v2);
    /* telling the user to choose any type of calculator */
      printf("please choose what you want to do with your values\n");
      printf("1- Sum\n");
      printf("2- substracttion\n"); 
      printf("3- multiplay\n");
      printf("4- devision\n"); 
      scanf("%d",&operation);//input a
      switch(operation)
    {
      case 1:
      int fc = sum(int v1, int v2);
        printf("sum of two values = %d\n",fc);
        break;

    case 2:
       int fc = substact(int v1, int v2);
       printf("substract of two values = %d",fc);
        break;

    case 3:
        int fc = multiplay(int v1, int v2);
        printf("multiply of two values = %d\n",fc);
        break;

    case 4:
       int fcd = devision(int v1, int v2);
       printf("division of two values = %d\n",fc);
        break;
    default:
        printf("wrong choice\n");
    }
return 0;}

int sum(int a,int b)
{
    int sum=0;
    um=a+b;
    return sum;
}
int substact(int a,int b)
{
    int sub=0;
    sub=a-b;
    return sub;
}
int multiplay(int a,int b)
{
    int mult=1;
    mult=a*b;
    return mult;
}
double devision(int a,int b)
{
    double  devi=1;
    devi=a/b;
    return devi;
}
#包括
int main()
{
整数运算,fc,v1,v2;
双fcd;
printf(“输入2个值\n”);
scanf(“%d%d”、&v1和&v2);
/*告诉用户选择任何类型的计算器*/
printf(“请选择要对值执行的操作\n”);
printf(“1-Sum\n”);
printf(“2-减除\n”);
printf(“3-多画面”);
printf(“4-分割”\n);
scanf(“%d”,操作(&O);//输入一个
开关(操作)
{
案例1:
int fc=总和(int v1,int v2);
printf(“两个值之和=%d\n”,fc);
打破
案例2:
int fc=子动作(int v1,int v2);
printf(“两个值的减法=%d”,fc);
打破
案例3:
int fc=多路广播(int v1,int v2);
printf(“两个值的乘积=%d\n”,fc);
打破
案例4:
int fcd=分割(int v1,int v2);
printf(“两个值的除法=%d\n”,fc);
打破
违约:
printf(“错误选择\n”);
}
返回0;}
整数和(整数a,整数b)
{
整数和=0;
um=a+b;
回报金额;
}
int子动作(int a,int b)
{
int sub=0;
sub=a-b;
返回子节点;
}
整数多路广播(整数a、整数b)
{
int mult=1;
mult=a*b;
返回mult;
}
双除法(整数a,整数b)
{
双偏差=1;
devi=a/b;
返回设备;
}
问题1
C(C99之前的版本)不允许在除块开头以外的任何地方声明局部范围内的变量。(在执行任何声明之前)。此外,在您的情况下,它可能会导致同一范围内具有相同名称的多个变量,这是不允许的

int-fc
int-fcd
打破上述条件,因此应移至函数顶部。(它们已经存在,只需从案例中删除
int

问题2
在传递参数时,不需要给出类型。 例如
sum(intv1,intv2)是坏的。(从参数中删除
int

警告
总是在函数首次使用之前声明(或定义)函数。在程序中,在
main
中声明之前使用sum、substract等函数

进一步阅读:



问题1
C(C99之前的版本)不允许在除块开头以外的任何地方声明局部范围内的变量。(在执行任何声明之前)。此外,在您的情况下,它可能会导致同一范围内具有相同名称的多个变量,这是不允许的

int-fc
int-fcd
打破上述条件,因此应移至函数顶部。(它们已经存在,只需从案例中删除
int

问题2
在传递参数时,不需要给出类型。 例如
sum(intv1,intv2)是坏的。(从参数中删除
int

警告
总是在函数首次使用之前声明(或定义)函数。在程序中,在
main
中声明之前使用sum、substract等函数

进一步阅读:




编译错误很可能与函数sum、substract等的声明有关。您编写的代码在主函数中使用函数后定义了这些函数。
如果您计划从主函数调用函数,请在主函数之前“声明”所有函数。

编译错误很可能与函数和、减等的声明有关。您编写的代码在主函数中使用函数后定义了这些函数。
如果您计划从主函数调用它们,请在主函数之前“声明”所有函数。

我希望此解决方案将对您有所帮助。在调用函数之前,必须先声明。下面是示例源代码

   #include <stdio.h>

  /* function declaration */
  int max(int num1, int num2);

 int main () {

 /* local variable definition */
 int a = 100;
 int b = 200;
 int ret;

 /* calling a function to get max value */
 ret = max(a, b);

 printf( "Max value is : %d\n", ret );

return 0;

}

我希望这个解决方案能对您有所帮助。在调用函数之前,必须先声明。下面是示例源代码

   #include <stdio.h>

  /* function declaration */
  int max(int num1, int num2);

 int main () {

 /* local variable definition */
 int a = 100;
 int b = 200;
 int ret;

 /* calling a function to get max value */
 ret = max(a, b);

 printf( "Max value is : %d\n", ret );

return 0;
}几个问题:

您需要在使用函数之前声明它们

不能重复类型声明。例如,在程序开始时声明fc,并在switch语句cases中重复它:“intfc=…”,只需使用“fc=…”

最后,在调用函数时不要声明类型。 以下是最低限度更正的代码:

#include<stdio.h>
int sum(int a,int b);
int substact(int a,int b);
int multiplay(int a,int b);
double devision(int a,int b);

int main()
{
    int operation,fc,v1,v2;
    double fcd;
    printf("input 2 values\n");
    scanf("%d%d",&v1,&v2);
      /* telling the user to choose any type of calculator */
    printf("please choose what you want to do with your values\n");
    printf("1- Sum\n");
    printf("2- substracttion\n"); 
    printf("3- multiplay\n");
    printf("4- devision\n"); 
    scanf("%d",&operation);//input a
    switch(operation)
    {
      case 1:
        fc = sum(v1, v2);
        printf("sum of two values = %d\n",fc);
        break;

      case 2:
        fc = substact(v1, v2);
        printf("substract of two values = %d",fc);
        break;

      case 3:
        fc = multiplay(v1, v2);
        printf("multiply of two values = %d\n",fc);
        break;

      case 4:
        fcd = devision(v1, v2);
        printf("division of two values = %d\n",fc);
        break;
      default:
        printf("wrong choice\n");
    }
return 0;
}

int sum(int a,int b)
    {
    int sum=0;
    sum=a+b;
    return sum;
    }
int substact(int a,int b)
    {
    int sub=0;
    sub=a-b;
    return sub;
    }
int multiplay(int a,int b)
    {
    int mult=1;
    mult=a*b;
    return mult;
    }
double devision(int a,int b)
    {
        double  devi=1;
    devi=a/b;
    return devi;
    }
#包括
整数和(整数a,整数b);
int子动作(int a,int b);
整数倍(整数a、整数b);
双除法(整数a、整数b);
int main()
{
整数运算,fc,v1,v2;
双fcd;
printf(“输入2个值\n”);
scanf(“%d%d”、&v1和&v2);
/*告诉用户选择任何类型的计算器*/
printf(“请选择要对值执行的操作\n”);
printf(“1-Sum\n”);
printf(“2-减除\n”);
printf(“3-多画面”);
printf(“4-分割”\n);
scanf(“%d”,操作(&O);//输入一个
开关(操作)
{
案例1:
fc=总和(v1,v2);
printf(“两个值之和=%d\n”,fc);
打破
案例2:
fc=子动作(v1,v2);
printf(“两个值的减法=%d”,fc);
打破
案例3:
fc=多路广播(v1,v2);
printf(“两个值的乘积=%d\n”,fc);
打破
案例4:
fcd=偏差(v1,v2);
printf(“两个值的除法=%d\n”,fc);
打破
违约:
printf(“错误选择\n”);
}
返回0;
}
整数和(整数a,整数b)
{
整数和=0;
总和=a+b;
回报金额;
}
int子动作(int a,int b)
{
int sub=0;
sub=a-b;
返回子节点;
}
整数多路广播(整数a、整数b)
{
int mult=1;
mult=a*b;
返回mult;
}
双除法(整数a,整数b)
{
 int fc = sum(int v1, int v2);
       fc = sum(v1,v2);
#include<stdio.h>
#include<conio.h>
int x,y;
int addi(int,int);//when call the function. The function must be integer type.
int multi(int,int);
int divi(int,int);
int square(int);
int evenOdd(int);
int substracn(int,int);

int main()
{
   int choice;   

printf("*********************************************************************\n");
printf("\t\tCalculator\n");
printf("*********************************************************************\n");

printf("Enter a choice what you want to perform");
printf("\n\t1.Addition");
printf("\n\t2.Multiplication");
printf("\n\t3.Division");


printf("\n\t4.Square");
printf("\n\t5.Even or Odd");
printf("\n\t6.Substraction\n");
scanf("%d",&choice);



switch(choice)//switch case use when more than 2 options are there. Then it is the best 
{
case 1: printf("\n\tAddition");
        printf("\nEnter two no for addition");
        scanf("\n%d\t%d",&x,&y);
        addi(x,y);//function by passing paramenter
        break;//break the statement after the execution of the function definition

case 2: printf("Enter two no's for multiplication");//multiplication
        scanf("\n%d\t%d",&x,&y);
        multi(x,y);
        break;

case 3: printf("Enter two no's for division");
        scanf("%d%d",&x,&y);
        divi(x,y);
        break;


case 4: printf("Enter one no for square of no");
        scanf("%d",&x);
        square(x);
        break;

case 5: printf("Enter the no for even odd");
        scanf("%d",&x);
        evenOdd(x);
        break;

case 6: printf("Enter the two no's for Substraction");
        scanf("%d%d",&x,&y);
        subtracn(x,y);
        break;
default:
    printf("Enter a valid option");

}

getch();
}

int addi(int a,int b)
{
    int c;
    c=a+b;
    printf("sum of no %d + %d is: %d",a,b,c);

}

int multi(int a,int b)
{
    int c;
    c=a*b;
    printf("multiplication of no %d x %d is: %d",a,b,c);

}

int divi(int a,int b)
{
    int c;
    c=a/b;
    printf("division of no's is: %d",c);

}

int square(int a)
{
    int c;
    c=a*a;
    printf("square of no %d is: %d",a,c);

}

int evenOdd(int a)
{
    if(a%2==0)
    {
    printf("The no is even : %d",a);
    }
    else
    {
    printf("The no is odd : %d",a);    
    }

}
int subtracn(int a,int b)
{
    int c;
    c=a-b;
    printf("Substraction of no's is: %d",c);

}`
    let role = "teacher";
    
    forStudent = ()=>{
        console.log("from student");
    }

    forTeacher = ()=>{
        console.log("from teacher");
    }

    forOwner = ()=>{
        console.log("from owner");
    }
    
    defFunc = ()=>{
        console.log("its default");
    }

    switch(role){
        case 'student': forStudent();
        break;
        
        case 'teacher': forTeacher();
        break;
        
        case 'owner': forOwner();
        break;
        
        default: defFunc ();
    }