news 2026/9/3 3:22:24

c语言实现简易计算器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
c语言实现简易计算器

计算器包含加减乘除;

1我们要先分别写加法函数,减法函数,乘法函数,除法函数;

2设计一个方式选择我们的计算函数;这里可以用switch函数,在不同的情况下调用不同的函数进行加减乘除;

3选用do while循环对计算器连续使用和退出操作;

代码

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void calcu(int(*pa)(int,int), int x, int y)
{
printf("请输入两个操作数:\n");
scanf("%d %d", &x, &y);
int ret = (*pa)(x, y);
printf("%d\n", ret);
}
int add(int x, int y)
{
return x + y;
}
int sub(int x, int y)
{
return x - y;
}
int multi(int x, int y)
{
return x * y;
}
int dive(int x, int y)
{
return x / y;
}
void menu()
{
printf("------------calculate-------------\n");
printf("--------1:add-------2:sub---------\n");
printf("--------3:multi-----3:dive--------\n");
printf("---------------0:exit -----------\n");
printf("----------------------------------\n");
printf("----------------------------------\n");
}

int main()
{
int n = 0;
int a = 0, b = 0;
int ret = 0;
do
{
menu();
printf("请选择:");
scanf("%d", &n);
switch (n)
{
case 1:
calcu(add, a, b);
break;
case 2:
calcu(sub, a, b);
break;
case 3:
calcu(multi, a, b);
break;
case 4:
calcu(dive, a, b);
break;
default:
printf("请重新输入:");
}
} while (n);
}

我们使用了回调函数,这样便利了case里的代码,回调函数通过函数指针调用函数;

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/3 3:04:06

USB设备ID数据库:厂商与设备型号对照表

USB设备ID数据库&#xff1a;厂商与设备型号对照表 在日常的系统维护、驱动开发或硬件调试中&#xff0c;你是否曾遇到过一个未知的USB设备插入后&#xff0c;系统只显示一串冰冷的VID:PID代码&#xff1f;面对046d:082d这样的标识&#xff0c;普通用户可能束手无策&#xff0c…

作者头像 李华
网站建设 2026/9/1 18:34:25

Java集合-Queue讲解

目录一、集合框架层次结构二、Collection集合1、Queue队列1. LinkedList 作为队列2. ArrayDeque 作为队列3. PriorityQueue 优先队列4.LinkedBlockingQueue - 最常用的阻塞队列5. ConcurrentLinkedQueue - 高并发非阻塞队列2、队列操作模式对比1.插入操作对比2.移除操作对比3.查…

作者头像 李华
网站建设 2026/9/2 4:09:08

AI不会淘汰产品经理,但不会AI的会!大模型学习指南(建议收藏)

文章强调AI时代已全面到来&#xff0c;产品经理必须拥抱AI避免被淘汰。作者建议向取得实际成果的人学习AI知识&#xff0c;而非纯理论。特别推荐参加人人都是产品经理大会&#xff0c;邀请了腾讯音乐、金山办公、字节跳动等有AI落地经验的产品经理分享实战经验。我不想给你们罗…

作者头像 李华
网站建设 2026/9/2 11:58:23

智能双卡设计:SIM卡硬件架构与软件配置核心解析!

智能双卡设计的核心在于硬件架构的合理性与软件配置的适配性。本文首先剖析硬件层面的双卡卡槽布局、电源域划分及信号隔离设计要点&#xff0c;再深入解析软件配置中的驱动适配、卡状态机管理与运营商优先级设置逻辑&#xff0c;通过软硬件协同视角&#xff0c;为开发者提供智…

作者头像 李华
网站建设 2026/9/2 11:23:53

无需API限制!使用LobeChat调用自有模型节省token成本

无需API限制&#xff01;使用LobeChat调用自有模型节省token成本 在AI应用日益普及的今天&#xff0c;越来越多企业与开发者开始面临一个现实问题&#xff1a;明明只是想做个智能问答助手&#xff0c;为什么每次对话都要花几毛钱&#xff1f;当你的客服系统每天处理上千次请求…

作者头像 李华