main.cpp

来自「很好的 关于C++的例子 我想你要是可以把上面的例子都做好了 看明白了 关于函数」· C++ 代码 · 共 75 行

CPP
75
字号
#include "stdio.h"
#include "math.h"

typedef struct ST_STRUCT
{
	int a;
	int b;
}ST,pST;

char operate[5]={'+','-','*','/','^',};

int Add(ST *stNum)
{
	return stNum->a + stNum->b;
}

int Dec(ST *stNum)
{
	return stNum->a - stNum->b;
}


int Mult(ST *stNum)
{
	return stNum->a * stNum->b;
}


int Div(ST *stNum)
{
	return stNum->a / stNum->b;
}


int Pow(ST *stNum)
{
	return pow(stNum->a , stNum->b);
}


/*函数声明:这五个函数都是以一个指向ST型(事先定义过)结构的指针变量作为参数,返回值int。*/

int (*process[5])(ST *)={Add,Dec,Mult,Div,Pow};
/*process被调用时提供5种功能不同的函数供选择(指向函数的指针数组)*/
int main()
{
	char GetOperate;
	int choice;
	int sum;
	ST stNumber;
	int i=0;
	printf("\nChoose:\n?");
	scanf("%c",&GetOperate);

	printf("\na:\n?");
	scanf("%d",&stNumber.a);

	printf("\nb:\n?");
	scanf("%d",&stNumber.b);

	for(i=0;i<5;i++)
	{
		if(operate[i]==GetOperate)
			choice=i;
	}



	if(choice>=0&&choice<=4)
	sum=(*process[choice])(&stNumber); /*调用相应的函数实现不同功能*;*/ 
	printf("\nsum=%d\n",sum);
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?