首页 > 其他分享 >模拟实现一个简单的计算器

模拟实现一个简单的计算器

时间:2023-08-28 18:36:45浏览次数:35  
标签:case return int 简单 calcu break printf 模拟 计算器

void menu()
{
	printf("**********************\n");
	printf("**** 1.Add  2.Sub ****\n");
	printf("**** 3.Mlu  4.Del ****\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 Mul(int x, int y)
{
	return x * y;                    
}
int Del(int x, int y)
{
	return x / y;
}
void calcu(int (*p)(int,int))
{
	int x = 0;
	int y = 0;
	int ret = 0;
	printf("请输入2个操作数:");
	scanf("%d %d", &x, &y);
	ret = p(x, y);
	printf("%d\n", ret);
}
int main()
{
	int i = 0;
	do
	{
		menu();
		printf("请输入:");
		scanf("%d", &i);
		switch (i)
		{
		case 0:
			printf("退出计算器\n");
			break;
		case 1:
			calcu(Add);
			break;
		case 2:
			calcu(Sub);
			break;
		case 3:
			calcu(Mul);
			break;
		case 4:
			calcu(Del);
			break;
		default:
			printf("输入错误,重新输入\n");
			break;
		}
	} while (i);
	return 0;
}

模拟实现一个简单的计算器_操作数

标签:case,return,int,简单,calcu,break,printf,模拟,计算器
From: https://blog.51cto.com/u_16190077/7265834

相关文章

  • dos命令简单学习
    Dos命令打开命令行window+rcmd管理员身份右键window图标.命令dir查看目录cd/d目录名称进入目录cd:changedirectory通常情况下进入不同盘符中的文件需要两次命令:1.进入盘符,2.进入目录加入/d就可以直接进入不同盘符的目录同一盘符中更换目录,若使用/......
  • 简单排序之选择排序
    1voidselect_sort()2{3inti,j,k;4unsignedchararray[10]={4,1,3,9,6,2,8,5,0,7};5unsignedcharlen=sizeof(array);6unsignedchartemp;78for(i=0;i<len-1;i++)9{10k=i;11/*遍历所以有......
  • strstr函数及其代码模拟实现
    一.用法定义:char*strstr(constchar*str1,constchar*str2);•判断str1中是否包含子串str2•若包含,则返回在str1中子串str2首字符的地址•若不包含,则返回空指针NULL例:#define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>#include<string.h>intmain(){ chararr1[]=......
  • Python爬虫实战 - 模拟登录采集数据
    在进行数据采集时,有些网站需要进行登录才能获取到所需的数据。本文将介绍如何使用Python爬虫进行模拟登录,以便采集网站的数据。我们提供了完善的方案和代码示例,让你能够轻松操作并获取所需的数据。使用Python爬虫模拟登录网站采集数据价值:数据获取:通过模拟登录,你可以通过网站的登录......
  • WebService开发笔记 1 -- 利用cxf开发WebService竟然如此简单
       现在的项目中需要用到SOA概念的地方越来越多,最近我接手的一个项目中就提出了这样的业务要求,需要在.net开发的客户端系统中访问java开发的web系统,这样的业务需求自然需要通过WebService进行信息数据的操作。下面就将我们在开发中摸索的一点经验教训总结以下,以供大家参考.......
  • WebService开发笔记 2 -- VS 2005 访问WebServcie更简单
    在上一回中我们创建了一个WebService服务(WebService开发笔记1--利用cxf开发WebService竟然如此简单),下面就来作一个跨平台访问WebServcie服务的例子....下面将在vs2005中通过c#.net访问我们创建好的WebService服务,C#.net第一次用,TNN的没想到这么简单,MS就是MS,不服不行。1.......
  • Unity RenderTexture 当作为 Camera.targetTexture 时,在某些安卓手机或模拟器无法显示
    今天打包的时候遇到一个坑,就是用RenderTexture的时候,在某些手机上会显示黑屏,一查发现这是某些安卓设备才会出现的BUG(奇怪的是那台测试机是鸿蒙系统,懂的都懂)解决方法也很简单,就是不能用RenderTexture资源,而改成动态代码创建即可解决这个BUG同时解决了另一个RenderTexture的BUG,就......
  • C# 验证码的简单生成,登录实现校验验证码
    登录实现校验验证码1、思路:首先写一个生成验证码的接口,接口传出就是验证码的唯一id和验证码图片的base64,把验证码的id当做缓存的key,再把生成的验证码code当做值存到缓存中。2、登录:输入用户名、密码、验证码唯一id和用户输入的验证码值。用验证码唯一id获取到缓存中的验证码值,......
  • 简单的将pytorch模型部署到onnx
    1.创建一个pytorch模型这里我用的U2Net,直接加载好训练出的权重model=U2Net(class_nums=4)model.load_state_dict(torch.load(checkpoint_path))2.将pytorch模型转成onnx格式x=torcg.randn(1,3,512,512)withtorch.no_grad():torch.onnx.export(......
  • lazarus模拟MDI Form
    从delphi转到lazarus,发现lazarus不支持MDI窗体,我们可以用PageContorl实现,不过发现使用ATTabscomponent更简单方便。关键在ATTabs添加:procedureATTabs1TabClick(Sender:TObject);procedureATTabs1TabClose(Sender:TObject;ATabIndex:integer;直接上代码:form:......