【C语言】实现简易计算器

【C语言】实现简易计算器目录 1 实现逻辑 2 运行过程 3 优化前代码分析 主函数 计算函数 4 优化后代码分析 主函数 计算方法函数 输入操作数的函数 5 完整代码展示 1 实现逻辑 实现一个简易的计算器 可以计算两个整数的加减乘除 2 运行过程 3 优化前代码分析

大家好,我是讯享网,很高兴认识大家。

目录

1.实现逻辑

2.运行过程

3.优化前代码分析

主函数

计算函数

4.优化后代码分析

主函数

计算方法函数

输入操作数的函数

5.完整代码展示


1.实现逻辑

实现一个简易的计算器,可以计算两个整数的加减乘除

2.运行过程


讯享网

3.优化前代码分析

主函数

int main() { int x = 0; int y = 0; int ret = 0; int input = 0; do { menu(); printf("请选择:"); scanf("%d", &input); switch (input) { case 0: printf("退出计算器\n"); break; case 1: printf("请输入两个操作数:"); scanf("%d %d", &x, &y); ret = Add(x, y); printf("%d\n", ret); break; case 2: printf("请输入两个操作数:"); scanf("%d %d", &x, &y); ret = Sub(x, y); printf("%d\n", ret); break; case 3: printf("请输入两个操作数:"); scanf("%d %d", &x, &y); ret = Wul(x, y); printf("%d\n", ret); break; case 4: printf("请输入两个操作数:"); scanf("%d %d", &x, &y); ret = Div(x, y); printf("%d\n", ret); break; default: printf("输入错误\n"); break; } } while (input); return 0; }

讯享网

利用switch语句选择要进行的计算方式,利用do while 来实现是继续计算还是退出计算器。case语句分别调用了不同的计算函数。

计算函数

讯享网int Add(int x, int y)//加法函数 { return x + y; } int Sub(int x, int y)//减法函数 { return x - y; } int Wul(int x, int y)//乘法函数 { return x * y; } int Div(int x, int y)//除法函数 { return x / y; }

4.优化后代码分析

主函数

int main() { int input = 0; do { menu(); printf("请选择:"); scanf("%d", &input); switch (input) { case 0: printf("退出计算器\n"); break; case 1: salc(Add); break; case 2: salc(Sub); break; case 3: salc(Wul); break; case 4: salc(Div); break; default: printf("输入错误\n"); break; } } while (input); return 0; }

利用switch语句选择要进行的计算方式,利用do while 来实现是继续计算还是退出计算器。case语句的参数是计算方法函数的函数名,也是函数的地址。

计算方法函数

讯享网int Add(int x, int y)//加法函数 { return x + y; } int Sub(int x, int y)//减法函数 { return x - y; } int Wul(int x, int y)//乘法函数 { return x * y; } int Div(int x, int y)//除法函数 { return x / y; }

计算函数,用来完成两个整数的计算。返回的值就是计算的结果。

输入操作数的函数

void salc(int (*pf)(int, int)) { int x = 0; int y = 0; int ret = 0; printf("请输入两个操作数:"); scanf("%d %d", &x, &y); ret = pf(x, y); printf("%d\n", ret); }

 因为传过来的是函数的地址,所以要使用一个指针来接受,这就是一个函数指针。

5.完整代码展示

讯享网#include<stdio.h> void menu() { printf("*\n"); printf(" 1.Add 2.Sub \n"); printf(" 3.Mul 4.Div \n"); printf(" 0.exit *\n"); printf("*\n"); } int Add(int x, int y)//加法函数 { return x + y; } int Sub(int x, int y)//减法函数 { return x - y; } int Wul(int x, int y)//乘法函数 { return x * y; } int Div(int x, int y)//除法函数 { return x / y; } //回调函数 void salc(int (*pf)(int, int)) { int x = 0; int y = 0; int ret = 0; printf("请输入两个操作数:"); scanf("%d %d", &x, &y); ret = pf(x, y); printf("%d\n", ret); } int main() { int input = 0; do { menu(); printf("请选择:"); scanf("%d", &input); switch (input) { case 0: printf("退出计算器\n"); break; case 1: salc(Add); break; case 2: salc(Sub); break; case 3: salc(Wul); break; case 4: salc(Div); break; default: printf("输入错误\n"); break; } } while (input); return 0; }
小讯
上一篇 2025-03-13 13:59
下一篇 2025-02-27 10:54

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/39138.html