1.利用函数指针数组模拟实现简易计算器
程序主体部分:
将函数放于一个函数指针数组中,通过访问下标来访问函数
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include "test.h"
#include<windows.h>
int main() {
int input = 0;
double a=0,b=0,ret=0;
double(*p[5])(double x, double y) = {NULL,add,sub,mul,Div};
mune();
do {
printf("请选择>\n");
scanf("%d", &input);
if (input > 0 && input < 5) {
printf("输入两个数字>\n");
scanf("%lf %lf", &a, &b);
ret = (p[input])(a, b);
system("cls");
mune();
printf("结果为%lf\n", ret);
}
else if (input == 0) {
system("cls");
printf("退出成功");
break;
}
else {
system("cls");
mune();
printf("请重新选择\n");
}
} while (input);
return 0;
}
自拟头文件声明函数部分
#pragma once
void mune();
double add(double, double);
double sub(double, double);
double mul(double, double);
double Div(double, double);
函数集合
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
void mune() {
printf("********************\n");
printf("***1.add****2.sub***\n");
printf("***3.mul****4.div***\n");
printf("*******0.exit*******\n");
printf("********************\n");
}
double add(double a, double b) {
return a + b;
}
double sub(double a, double b) {
return a - b;
}
double mul(double a, double b) {
return a * b;
}
double Div(double a, double b) {
return a / b;
}