元旦快乐篇

别人在过元旦,而我却在敲代码,说多了都是泪。

设计思路

1. 界面设计

  • 程序运行时,跳出运行说明提示用户如何操作
  • 用户阅读完说明后点击开始进入主界面,即操作界面,操作界面分为计时区,操作区和功能选择区
  • 计时区 显示当前剩余时间,当时间为0时 自动弹出 统计结果
  • 操作区 用户只能输入运算的结果,直接点击回车提交答案,系统将自动给出下一组数据
  • 功能选择区 用户可以选择需要进行的运算方式 包括 加、减乘除。 开始,暂停。 当用户点击开始按钮时,操作区给出运算的数字,同时计时区开始计时。用户开始输入结果。当用户点击暂停按钮。计时区停止计数。同时显示到目前的统计结果。
  • 显示结果。当计时区时间为0 或者用户点击暂停时将自动弹出。用于显示用户当前答题总数和答对题数以及正确率。

2. 代码实现思路

  • 使用多线程,实现程序的计数功能。 同时使用另一个线程来时时监控计时区的时间变化。当计时为0 时 监控线程关闭计时线程。同时弹出最后的显示结果。再将答案输入框禁用。

  • 操作区 当用户点击开始按钮。系统调用 RANDOM方法产生两个0-10 的随机数。如果当前的运算符号为 除法时检查第二个随机数是否为0 ,如果为0 重新生成第二个随机数。再将随机数赋值到显示框内。用户输入完答案后,点击回车提交后台自动将数据保存到一个数据类中,同时对数据进行处理,并生成统计结果。

  • 功能区 用户自主选择使用的运算符。当选择一种时改变操作区的运算符号。同时改变数据类保存的运算符类型。

界面实现

开始界面

操作界面


统计界面

存在的bug,及解决


结果输入框,如果输入非数字会导致程序错误。

解决方案:设置输入类型。只允许输入小数点和数字。如下图所示

四则运算 Day2的更多相关文章

  1. 软件工程(FZU2015)增补作业

    说明 张老师为FZU软件工程2015班级添加了一次增补作业,总分10分,deadline是2016/01/01-2016/01/03 前11次正式作业和练习的迭代评分见:http://www.cnbl ...

  2. 软件工程(FZU2015) 增补作业

    SE_FZU目录:1 2 3 4 5 6 7 8 9 10 11 12 13 说明 张老师为FZU软件工程2015班级添加了一次增补作业,总分10分,deadline是2016/01/01-2016/ ...

  3. 介绍一款原创的四则运算算式生成器:CalculateIt2

    家里小朋友读一年级了,最近每天都有一些10以内的加减法口算练习,作为程序员爸爸,自然也是想办法能够偷懒,让电脑出题,给小朋友做些练习.于是,自己在业余时间开发了一个四则运算算式生成器,名为:Calcu ...

  4. 【从零开始学BPM,Day2】默认表单开发

    [课程主题]主题:5天,一起从零开始学习BPM[课程形式]1.为期5天的短任务学习2.每天观看一个视频,视频学习时间自由安排. [第二天课程] Step 1 软件下载:H3 BPM10.0全开放免费下 ...

  5. NOIp2016 Day1&Day2 解题报告

    Day1 T1 toy 本题考查你会不会编程. //toy //by Cydiater //2016.11.19 #include <iostream> #include <cstd ...

  6. 作业二:个人编程项目——编写一个能自动生成小学四则运算题目的程序

    1. 编写一个能自动生成小学四则运算题目的程序.(10分)   基本要求: 除了整数以外,还能支持真分数的四则运算. 对实现的功能进行描述,并且对实现结果要求截图.   本题发一篇随笔,内容包括: 题 ...

  7. day2

    三级菜单: ))))))))))] last_levels.pop() ]]]]]]]]:] information = : ch = msvcrt.getch() ][][: : password= ...

  8. 四则运算appNABCD模型

    团队: 郭志豪:http://www.cnblogs.com/gzh13692021053/ 杨子健:http://www.cnblogs.com/yzj666/ 刘森松:http://www.cnb ...

  9. 第一章-第一题(小学生四则运算)--By郭青云

    1.项目需求 a) 除了整数以外,还要支持真分数的四则运算. (例如:  1/6 + 1/8 = 7/24) b) 让程序能接受用户输入答案,并判定对错. 最后给出总共 对/错 的数量. c) 逐步扩 ...

随机推荐

  1. httpclient访问网站时设置Accept-Encoding为gzip,deflate返回的结果为乱码的问题

    近期迷恋上httpclient模拟各种网站登陆,浏览器中的开发者工具中查看请求头信息,然后照葫芦画瓢写到httpclient的请求中去,requestheader中有这么一段设置: Accept-En ...

  2. find type d 命令批量删除禁用

    [root@qike ~]# find  /usr/local/sbin/  -type d  /usr/local/sbin//usr/local/sbin/2/usr/local/sbin/g/u ...

  3. beeline vs hive cli

    近期,大数据开发环境升级为cloudera 5.3. 配套的hive版本升级为0.13.1.可以使用心仪已久的分析开窗函数了.但在使用的过程中发现一些问题,仅记于此. 1.在使用hive命令的时候,发 ...

  4. Hive Word count

    --https://github.com/slimandslam/pig-hive-wordcount/blob/master/wordcount.hql DROP TABLE myinput; DR ...

  5. uva 839 not so mobile——yhx

    Not so Mobile  Before being an ubiquous communications gadget, a mobile was just a structure made of ...

  6. 算法分析 Analysis of Algorithms -------GeekforGeeker 翻译

    算法分析 Analysis of Algorithms 为什么要做性能分析?Why performance analysis? 在计算机领域有很多重要的因素我们要考虑 比如用户友好度,模块化, 安全性 ...

  7. python中的深拷贝和潜拷贝

    >>> a = ['ace',['age',10]] >>> b = a[:] >>> c = list(a) >>> for ...

  8. Eclipse安装Database Development插件。

        早期版本的Eclipse,自带Database Development,用着挺方便的,可是自己的最新版Eclipse反而没有.于是乎钻研了下,找到了安装方法.和汉化包安装很类似: 菜单栏里选择 ...

  9. Spring 4.1+ 的 JSONP使用

    如今的巨石应用已经越来越不行了,很多互联网在后期都会在用分布式的架构 那么在页面上不同的服务调用不同域名下的json是有问题的 (跨域:不同域名,相同域名但是不同端口) JavaScript规范中提到 ...

  10. Enem 实用方法

    前言 在项目中的多处使用到了枚举,比如:道具种类(PowerupType) 游戏任务(MissionType),记录一下有关枚举的一些方法 枚举 public enum MissionType { R ...