元旦快乐篇

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

设计思路

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. php session文件修改路径

    默认状态下php的 sess_文件会生成到/tmp目录下,1天的时间就会生成很多,由于/tmp目录下还有别的重要文件,所以看起来不爽.具体更改做法是,找到 php.ini文件里面的session.sa ...

  2. Sql-oracle and sqlserver differences

    1.string contact operator Sqlserver use + or contact(sqlserver 2012) In oracle, you can also use con ...

  3. 1.NopCommerce下载与安装

    NoCommerce是基于微软ASP.NET MVC + EntityFramework 技术开发的一套开源电子商城系统,其架构与设计非常精妙被誉为.NET商城的经典之作. 作为一个.NET程序爱好者 ...

  4. Redis和Memcache的关系

    转自: http://blog.163.com/sun_jian_zhang/blog/static/187804041201310795917333/ 1. Redis中,并不是所有的数据都一直存储 ...

  5. java三篇博客转载 详解-vector,stack,queue,deque

    博客一:转载自http://shmilyaw-hotmail-com.iteye.com/blog/1825171 java stack的详细实现分析 简介 我们最常用的数据结构之一大概就是stack ...

  6. NOIP2012普及组 (四年后的)解题报告 -SilverN

    本章施工仍未完成 现在的时间是3.17 0:28,我困得要死 本来今天(昨天?)晚上的计划是把整个四道题的题解写出来,但是到现在还没写完T4的高效算法,简直悲伤. 尝试了用floyd写T4,终于大功告 ...

  7. ckplayer.js视频播放插件

    网页中常见的功能就是播放视频,下面介绍的这个ckplayer.js既可以在pc端播放,也可以在手机网页上播放. 可调用flash也可以调用html5播放器: <div id="a1&q ...

  8. POJ 3225 Help with Intervals --线段树区间操作

    题意:给你一些区间操作,让你输出最后得出的区间. 解法:区间操作的经典题,借鉴了网上的倍增算法,每次将区间乘以2,然后根据区间开闭情况做微调,这样可以有效处理开闭区间问题. 线段树维护两个值: cov ...

  9. FreeMarker 一二事 - 静态模板结合spring展示

    freemarker可以脱离web使用 前一篇文章使用了普通的方法 这回说说结合spring pom额外引入这个jar包 <dependency> <groupId>org.s ...

  10. Android之数据存储----使用LoaderManager异步加载数据库

    一.各种概念: 1.Loaders: 适用于Android3.0以及更高的版本,它提供了一套在UI的主线程中异步加载数据的框架.使用Loaders可以非常简单的在Activity或者Fragment中 ...