0
点赞
收藏
分享

微信扫一扫

C.code简易计算器

践行数据分析 2022-03-12 阅读 137
c语言

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;
}
举报

相关推荐

0 条评论