带错误检测的加减乘除运算器

表达式

TC综合开发工具里的表达式大体分为:计算表达式、条件表达式

计算表达式:

它一般是用在赋值过程中,或者是和条件表达式混合使用这样的表达式里只有数字运算符(如:+、-、+=、*=等等运算符),没有关系运算符(如:>、== 、 >=、!=等等运算符)变量使用例如:

  1. 目标x =(x+偏移x)* 比例x
  2. 结果 = (150+632)*100/(89-59)

条件表达式:

它一般是用在条件判断过程中,返回的是条件成立(真)或者不成立(假).例如:如果语句、循环语句以及遍历语句它使用的是关系运算符例如:

  1. if(((5+5)*4)/2 > 5+5*4/2 && (4==6 || 4!=6))
  2.   messagebox("最终返回值是真")
  3. else
  4.   messagebox("最终返回值是假")
  5. end

  

运算符

TC综合开发工具里支持了丰富的运算符,这样也要求大家对运算符的知识必须了解清楚,否则出现错误还不知道问题所在下面就为大家说说运算符的优先级与各个运算符含义

注意: 优先级代表同一表达式中运算符的运算顺序,从高到低!同一级别的按从左到右的原则运算

逻辑与运算符详解(&&):

当多个表达式进行"&&"(逻辑与)运算时,只要有一个表达式为假,总的表达式结果就为假,只有当所有表达式都为真时,总的表达式结果才为真如:

  1. (7<8) && (3==3)
  2. //7小于8返回真,3等于3返回真,两边都为真,返回真
  3.  
  4. (10<8) && (3==3)
  5. //10小于8返回假,3等于3返回真,一边为假,返回假

  

逻辑或运算符详解(||):

当多个表达式进行"||"(逻辑或)运算时,只要有一个表达式为真,总的表达式结果就为真,只有当所有表达式都为假时,总的表达式结果才为假。如:

  1. (7<8) || (3==3)
  2. //7小于8返回真,3等于3返回真,两边都为真,返回真
  3.  
  4. (7<8) || (4==3)
  5. //7小于8返回真,4等于3返回假,一边为真,返回真
  6.  
  7. (10<8) || (4==3)
  8. //10小于8返回假,4等于3返回假,两边都为假,返回假

  

逻辑非运算符详解(!):

当多个表达式进行"!"(逻辑非)运算时,取表达式结果相反的真/假值。若原先为假,则逻辑非以后为真,若原先为真,则逻辑非以后为假:

  1. !(3<2)
  2. //先计算括号里的小于操作符,3小于2返回假,在计算逻辑非操作,返回真
  3.  
  4. !(3>2)
  5. //先计算括号里的大于操作符,3大于2返回真,在计算逻辑非操作,返回假

  

if语句(详见流程语句文章)

  1. function 按钮加_点击()
  2. //这里添加你要执行的代码
  3. 数据1 = editgettext("编辑框数据1")
  4. 数据2 = editgettext("编辑框数据2")
  5. if((isint(数据1)||isdouble(数据1))&&(isint(数据2)||isdouble(数据2)))
  6. 结果 = 数据1 + 数据2
  7. editsettext("编辑框结果",结果)
  8. else
  9. messagebox("请确保输入数据为整型或浮点型")
  10. end
  11.  
  12. end

  运算器界面

实例完整代码

  1. var 数据1
  2. var 数据2
  3. var 结果
  4.  
  5. function 按钮退出_点击()
  6. //这里添加你要执行的代码
  7. exit()
  8. end
  9.  
  10. function 按钮加_点击()
  11. //这里添加你要执行的代码
  12. 数据1 = editgettext("编辑框数据1")
  13. 数据2 = editgettext("编辑框数据2")
  14. if((isint(数据1)||isdouble(数据1))&&(isint(数据2)||isdouble(数据2)))
  15. 结果 = 数据1 + 数据2
  16. editsettext("编辑框结果",结果)
  17. else
  18. messagebox("请确保输入数据为整型或浮点型")
  19. end
  20.  
  21. end
  22.  
  23. function 按钮减_点击()
  24. //这里添加你要执行的代码
  25. 数据1 = editgettext("编辑框数据1")
  26. 数据2 = editgettext("编辑框数据2")
  27. if((isint(数据1)||isdouble(数据1))&&(isint(数据2)||isdouble(数据2)))
  28. 结果 = 数据1 - 数据2
  29. editsettext("编辑框结果",结果)
  30. else
  31. messagebox("请确保输入数据为整型或浮点型")
  32. end
  33.  
  34. end
  35.  
  36. function 按钮乘_点击()
  37. //这里添加你要执行的代码
  38. 数据1 = editgettext("编辑框数据1")
  39. 数据2 = editgettext("编辑框数据2")
  40. if((isint(数据1)||isdouble(数据1))&&(isint(数据2)||isdouble(数据2)))
  41. 结果 = 数据1 * 数据2
  42. editsettext("编辑框结果",结果)
  43. else
  44. messagebox("请确保输入数据为整型或浮点型")
  45. end
  46. end
  47.  
  48. function 按钮除_点击()
  49. //这里添加你要执行的代码
  50. 数据1 = editgettext("编辑框数据1")
  51. 数据2 = editgettext("编辑框数据2")
  52. if((isint(数据1)||isdouble(数据1))&&(isint(数据2)||isdouble(数据2)))
  53. if(数据2)
  54. 结果 = 数据1 / 数据2
  55. editsettext("编辑框结果",结果)
  56. else
  57. messagebox("除数不能为0")
  58. end
  59. else
  60. messagebox("请确保输入数据为整型或浮点型")
  61. end
  62. end

  

第一篇T语言实例开发(版本5.3),带错误检测的加减乘除运算器的更多相关文章

  1. 第二篇T语言实例开发(版本5.3),福彩3D摇号器

    ---恢复内容开始--- 福彩3D摇号器 先验知识功能的含义与使用 功能是TC源程序的基本模块,通过对功能模块的调用实现特定的功能,TC语言中的功能相当于其他高级语言的子程序. 在TC里面,功能分为三 ...

  2. 第五篇T语言实例开发,百变字符(版本5.0)

    自动生成字符编码 字符的编码 参见下面链接 http://blog.jobbole.com/74109/ http://baike.baidu.com/link?url=QN7HMY2fJTIUfIT ...

  3. 第七篇T语言实例开发,文本与程序的几种打开方法(版5.3)

    文本与程序的几种打开方法 文本文件的打开方法 函数名: cmd 命令 函数描述: 执行CMD命令 函数原型: cmd(cmdstr) 命令(cmd命令) 函数参数: cmdstr:cmd命令,此处执行 ...

  4. 第三篇T语言实例开发,图色操作

    ---恢复内容开始--- 图色的基本操作 1.找颜色色命令的基本操作 坐标点取色:获取指定坐标点的颜色 区域找色:在指定区域里找某一个颜色 模糊找色:在指定区域里找某一个颜色,可以设置相似度 多点找色 ...

  5. 第五篇T语言实例开发,数组空间使用

    数组空间使用 排序算法 在实际中,当有多个无序数据时.我们就需要多数据进行排序 典型的排序:冒泡排序 排序原理 冒泡排序算法的运作如下:(从后往前) 比较相邻的元素.如果第一个比第二个大,就交换他们两 ...

  6. 第四篇T语言实例开发,自动加血

    游戏自动加血 基础知识复习 通过前面的学习了解以下内容: TC软件的基本使用 TC的基础语法 变量与常量 功能的使用 流程语句的使用 线程的基本使用 TC控件的基本使用 热键和按钮的事件功能 控件的数 ...

  7. 第六篇T语言实例开发,多点找色应用

    ---恢复内容开始--- 多点找色应用 文字,图形特征的获取 多点找色 功能原型 窗口多点找色(窗口句柄,x1,y1,x2,y2,颜色值,色点组,相似度,方向,返回x,返回y) 功能说明 根据指定的多 ...

  8. 第一篇博客 Python开发环境配置

    本文主要介绍Windows7环境下安装并配置Anaconda+VSCode作为Python开发环境. 目录 Anaconda与包管理配 Anaconda安装 添加环境变量 Anaconda安装错误及解 ...

  9. vue第一篇(搭建vue开发环境)

    1.下载node并安装 下载地址: https://nodejs.org/zh-cn/ 下载后双击文件安装 2.检查是否安装成功 node -v v10.16.0 npm -v 6.9.0 如果能正常 ...

随机推荐

  1. Sprint(第四天11.17)

    燃尽图

  2. Vector成员为指针时要注意的问题

    vector的复制是浅复制,所以复制一个包含动态内存的变量的对象的话就会出问题. 解决办法:自己写类的复制构造函数,为新对象的指针开辟新的内存空间. 但当vector离开作用域之后,只会把其成员所占的 ...

  3. C# 使用lock关键字lock不同的对象

    c# lock关键字的本质 是调用Monitor.Enter(object obj)并且在finally的时候调用Monitor.Exit(obj) 在obj是不同数据类型的时候会出现不同的情况 1. ...

  4. 《BI项目笔记》创建时间维度(2)

    创建步骤:   序号 选择的属性 重命名后的名称 属性类别 1 DateKey DateKey 常规 2 Month Key Month Key 月份 3 English Month Name Eng ...

  5. Python相对、绝对导入浅析

    这篇文章从另外一个不同的视角来分析一下Python的import机制,主要的目的是为了搞懂import中absolute.relative import遇到的几个报错. 这里不同的视角是指从Pytho ...

  6. python中requests

    #发送无参数的get请求import requests def get_html(url): res = requests.get(url) return res.text #发送无参数的post请求 ...

  7. WEB UI 整理

    当下对于网站前段开发人员来说,很少有人不使用一些JS框架或者WEB UI库,因此这些可以有效提高网站前段开发速度,并且能够统一开发环境,对于不同浏览器的兼容性也不需要程序员操心,有了这些优点,当然大家 ...

  8. pthread_mutex_lock

    pthread_mutex_lock pthread_mutex_lock(pthread_mutex_t *mutex); int pthread_mutex_trylock(pthread_mut ...

  9. Android的学习——ubuntu下android5.1源码的make编译

    在repo sync下载源码后,经历了漫长的时间,终于可以进行下一步了. 在进行make之前还需要三个步骤. 1> source build/envsetup.sh:加载命令          ...

  10. 在standalone模式下运行yarn 0.9.0对HDFS上的数据进行计算

    1.通读http://spark.incubator.apache.org/docs/latest/spark-standalone.html 2.在每台机器上将spark安装到/opt/spark ...