我们接着往下改,为了让这个计算器更加实用,我们要像官方的计算器一样可以接着计算(你算出来一笔数据之后,可以接着累加累减,我们暂时不考虑加括号,优先级之类的,因为绝大部分情况下我们打开计算器就是为了进行简单的四则运算),当然我们这个需要每次算完之后点击一下接着计算(微软官方的是计算之后,再次按数字键默认就重头开始计算,类似于点击了清除,再次按加减乘除键就接着计算,类似于点击了接着计算),读者可以自己思考如何做到更智能,更自动

再添加撤销按钮(退格键),要做一些处理,因为如果已经没有东西了你就不能再去退格了(也要判断当前是要退格A还是退格B),从这一小节"接着计算"和"撤销"两个功能可以看到,由于前面我们已经把整个逻辑流程梳理的比较清晰了,这里只要额外增加爱一些else if判断就可以了,读者可以自己尝试从头开始写一个计算器,看看自己最后的整个程序结构乱不乱,好不好改。

我们还可以添加向量的点乘和叉乘的功能,为了跟现有的简单计算器分开,可能应该新建一些文本框来输入输出(或许还应该添加矩阵运算,三点求圆心,求面积求体积之类的,那就不放在这里谈了,讲下去讲不完)

我们还可以添加进制转换的功能(由于时间限制,我们并不会把整个计算器做的非常完整,大部分功能只是测试可用就行)

把前面的角度弧度转换实现出来(他的业务逻辑跟进制转换很相似,所以可以归到一起)

或许还应该响应鼠标键盘的事件(你键盘按数字键,等同于按按钮),还可以增加人民币大写转换(学会使用别人的类),语音播放(学会移植别人的代码)等等功能,在此不一一详细介绍,感兴趣的读者可以看本节提供的附件代码研究别人怎么做的,有哪些优缺点(正如本教程第一节介绍的,C#不管在哪个领域都有大量的现成范例可以参考,看懂别人的,博采众长,修修改改做出适合自己的,这正是C#该干的事情)

总结:本节课程比较长,因为是第一个入门范例,所以讲的很细,一共分成了三个部分。后面的介绍会越来越粗略(给思路,给代码,重点介绍一下,剩下的自己琢磨)。有以下几个点要领会:

1 基本控件的使用,理解C#是怎么把界面做出来的(按钮,文本框,暂时不要去研究复杂的界面设计,交互方式)

2 表现层和运算层分开的思维方式(把跟数据相关的所有功能提取到一个类里,不断完善自己的类库)

3 测试要改进要完善自己的代码是否困难,移植别人的代码,复制别人好的设计要怎么做

更多教学视频和资料下载,欢迎关注以下信息:

我的优酷空间:

http://i.youku.com/acetaohai123

我的在线论坛:

http://csrobot.gz01.bdysite.com/

问题交流:

QQ:910358960

邮箱:acetaohai123@163.com

转载于:https://www.cnblogs.com/acetaohai123/p/7586685.html

C#基础视频教程4.3 如何编写简单的计算器相关推荐

  1. [基础]PHP Web数据库访问编写简单示例——图书售卖系统示例[2/2]

    PHP Web服务端脚本编写示例--图书售卖系统示例[1/2] PHP Web数据库访问编写简单示例--图书售卖系统示例[2/2] (2020年1月29日11:32:15更新文章排版,内容未修改) 南 ...

  2. 编写简单的计算器功能的程序

    使用switch语句实现简单的加减乘除 具体代码如下: #include<stdio.h> int main() {int date1, date2; char op;printf(&qu ...

  3. Python编程学习——运用python编写简单的计算器程序

    简单计算器的程序实现 一.功能要求: 实现用户输入算式,其中包含加减乘除,括号以及空格的算式,并且优先计算最里的括号的算式,例如1+ 22*3 2-2 2*(2 3 1+34*33/4+55*(1 2 ...

  4. c++语言编辑简单的计算器,c++编写简单的计算器程序

    首先来看下本人的开发环境 系统:win7 电脑:dell 运行环境:vs2015 语言:c++ 简单计算器代码 //四则运算 #include "stdafx.h" #includ ...

  5. Java语言编写简单分数计算器

    构造一个RationalNumber类: package exercise;public class RationalNumber {int numerator;int denominator;// ...

  6. Python编写简单的计算器,用户输入两个数字和一个四则运算符,计算结果

    一.程序要求 (1)提示用户从键盘输入第一个数字 (2)提示用户从键盘输入第二个数字 (3)提示用户选择运算符 (4)打印结果 二.代码实现 a = int(input("请输入第一个数:& ...

  7. 用C语言编写简单的计算器

    /* Note:Your choice is C IDE */ #include "stdio.h" void main() {     double a,b,d;//定义算式数 ...

  8. IntellJ IDEA 基础之 一些常用插件plugin 简单整理 (辅助提高编写代码效率)

    IntellJ IDEA 基础之 一些常用插件plugin 简单整理 (辅助提高编写代码效率) 目录 IntellJ IDEA 基础之 一些常用插件plugin 简单整理 (辅助提高编写代码效率) 一 ...

  9. python基础教程视频(全13集)-Python基础视频教程全集

    原标题:Python基础视频教程全集 Python编程语言的定位是"优雅"."明确"."简单",所以对于Python初学者来说,学起来没有那 ...

最新文章

  1. linux下配置oracle 10G EM Database Console
  2. 怀孕参加计算机考试有辐射吗,电脑辐射对孕妇的影响大不大 会对胎儿造成什么影响...
  3. boost::mp11::mp_list相关用法的测试程序
  4. 设计模式:责任链模式(Chain of Responsibility)
  5. win10怎么放计算机在桌面,win10我的电脑怎么放在桌面
  6. php三级栏目调用,织梦当前栏目调用二级、三级栏目且栏目高亮解决方法
  7. 文末送书 | 数据分析简单入门
  8. 如何安装Python3.7,小白必看!
  9. Word2003入门动画教程88:使用Word公式编辑器
  10. EAN-13 条形码编程示例
  11. 多张表格链接一起——《超级处理器》应用
  12. opencv学习之视频帧率
  13. 产品上线前,友谊的小船说翻就翻!
  14. 行测题库:行测每日一练常识判断练习题02.04
  15. itext使用字体问题
  16. 小散量化炒股记|基于多任务爬虫技术, 实现A股实时行情Level1采样
  17. 中国移动网站控件引发的蓝屏问题分析
  18. 《算法和数据结构》算法零基础五十题讲解
  19. IDEA创建JavaWeb项目配置
  20. OpenStack 基础知识

热门文章

  1. 超强领先!Transformer图像复原效果显著!
  2. 重磅!深度学习的顶级会议ICLR 2020 数据图文详解
  3. TensorFlow中的Nan值的陷阱
  4. swap函数_C++ vector成员函数实现[持续更新]
  5. MySQL如何生成idf文件_【IDF2010】释放三大特性 至强7500为MySQL量身定做
  6. 中断linux命令快捷键_实用!快速操作Linux终端命令行的快捷键
  7. 手机号正则表达式验证_想精通正则表达式 这几个正则表达式学习资料及工具你必须有!...
  8. 看别人情侣空间显示服务器繁忙什么意思,调查13000位80后年轻人,他们的感情状态究竟如何?...
  9. Centos7 下部署yapi 详细教程
  10. MYSQL 数据库怎样快速的复制表以及表中的数据