引言
- 本文主要内容围绕运用函数指针数组以及回调函数部分的内容,实现一种能够进行整数四则运算以及指定保留小数位的计算器。同时分析该计算器的缺点与不足,并分享学习心得。
-
目录
课上所学计算器
本节主要回忆课上所讲的内容,整理思路。首先实现最简单的四则运算函数Add Sub Div Mul ,后搭建do while 加 switch框架,再通过转移表或者回调函数进行函数的调用。同时为了简化代码,后在switch语句的各个case部分使用一个封装函数,实现用户输入操作操作数的功能。
-
普通计算器
#include<stdio.h>; int Add(int a, int b) { return a + b; } int Sub(int a, int b) { return a - b; } int Mul(int a, int b) { return a * b; } int Div(int a, int b) { return a / b; } void menu() { printf("#####################\n"); printf("### 1 sum 2 sub ###\n"); printf("### 3 mul 4 div ###\n"); printf("### 0 exit ###\n"); printf("#####################\n"); } int main() { int input = 0; do { menu(); printf("请选择:>"); scanf("%d", &input); int x=0,y=0,ret=0; switch (input) { case 1: printf("请输入两个操作数:>"); scanf("%d%*c%d", &x, &y); int ret = Add(x, y); printf("结果为%d\n", ret); break; case 2: printf("请输入两个操作数:>"); scanf("%d%*c%d", &x, &y); int ret = Sub(x, y); printf("结果为%d\n", ret); break; case 3: printf("请输入两个操作数:>"); scanf("%d%*c%d", &x, &y); int ret = Mul(x, y); printf("结果为%d\n", ret);; break; case 4: printf("请输入两个操作数:>"); scanf("%d%*c%d", &x, &y); int ret =