前言:由于本人在初学习c语言的那会,对代码啥的一窍不通,又有要求编写一段模拟“计算器”的代码,编写过程也是“如履薄冰”,于是就在网上搜索问题解答,可基本搜不到我那么基础的问题的解答,后面询问老师才得以求解....于是想写一篇入门级的非常基础的代码。
正文:
法 1:用switch函数进行模拟
首先构建思路,要“模拟计算器”,就肯定要有计算器的最大作用——帮助使用者进行运算,不过再运算前,需要定义好选择确定计算的模式、需要计算的两个变量、计算结果的存储(也就是定义4个变量),像这类分情况选择的,就可以用到switch语句,再在每个情况下写上情况,
写好基础的计算器一次性的运行功能后,就在这个基础上查缺补漏,比如上面有问题的“m”“n”,还没输入,以及没有打印结果,故而优化一下不难得出
也可以在这个基础上写个“菜单”,并且在选择完模式后进行提示
在此基础上,也可以优化使得原本一次性的“模拟计算器”多次使用
既然想要多次使用,必然离不开“循环”,个人推荐在这里用while循环,方便理解
我们可以设置while(1),既让它永远循环下去,并在内部设置一个跳脱循环的情况即可(比如 跳脱的元素设置为0,再用if语句,如果if内的条件为成立,则break)
至此,switch模拟计算器基本的代码就差不多了(有一点负面观感就是在于如果你输入了default的情况话,会出现继续让你输入的情况,只需要把第16、19、28行的代码都复制粘贴到case里面即可,但是这样的代码会显得非常的冗余,为了方便我们新手朋友上路,可以先用简单的方式理解下,不过可千万不能把这个当成最终的代码哦!!以下是正常实行的代码,不难看出,中间有很多重复冗余的部分)
如果还想优化可以用Sleep与system(“cls”)--(一个是减慢运行速度,一个是清理屏幕)等来提升观感(别忘记包含其他函数的头文件!!)
法2:用指针模拟实现
(这里对于刚入门的朋友们可能不太友好,不过也可以提前了解一下,反正不亏的嘛)
首先写出一个函数指针数组int * (*px[ 5 ])(int,int)
先放在那,去自定义函数加减乘除,加减乘除里面可以直接return运算方法的值(比如加法中return x+y即可)
之后再把函数存入函数指针数组内即可(函数名就是函数地址,直接存即可)
注意这里放了个空指针NULL,目的是为了让数组下标能和选择的模式相同。、
之后再写份“菜单~” ,并写好scanf选择调用的函数即可
之后调用数组并输入输入两个数字
(也可以用一个值接收返回值)
后打印该数字,并且在开头写一个while循环
如果还想优化的话,我的建议是在头文件包含个windows.h和stdlib.h,之后再在printf后面加上Sleep (任意参数,别过大) system(“cls”)即可做到外观美化
以上就是两种入门的(switch和指针)模拟计算器基础运行代码了,希望能对正在阅读的你有用~