元旦快乐篇

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

设计思路

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. codeforces 713C C. Sonya and Problem Wihtout a Legend(dp)

    题目链接: C. Sonya and Problem Wihtout a Legend time limit per test 5 seconds memory limit per test 256 ...

  2. 怎样获取优酷站内视频的MP4格式地址,嵌入到手机页面播放

    最近的有关项目需要使用video标签播放视频,并且视频的路径src是优酷里面的视频,所以需要得到优酷里面的mp4路径才能播放. 但是在网上查了下资料,看到优酷的播放格式是一个m3u8文件,如图所示: ...

  3. Debian安装中文输入法

    简单暴力: apt-get install ibus-pinyin 你也可以通过GUI下面到Synaptic Package Manager里面选中ibus-pinyin进行安装 安装完成后重启计算机 ...

  4. UVALive 5966 Blade and Sword -- 搜索(中等题)

    题意:给一幅地图,P为起点,D为终点,'*'为传送阵,到达传送阵可以传到任意一个其他的传送阵,传到以后可以正常走或者再传回来,问P->D最短步数. 分析:这题一定要细心,分析要到位才能搞定,错一 ...

  5. [cb]Unity 项目架构

    一.技能机制 二.游戏工程 三.客户端架构

  6. Enem 实用方法

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

  7. CSS3中的字体rem

    rem和em都是相对单位,em相对父元素的font-size来计算,而rem是根据文档根元素(html)的font-size大小来计算的 通常将html的字体大小设为62.5%(等于10px),当然也 ...

  8. 006医疗项目-模块一:用户的查找:2.用户表查询的mapper映射的文件

    前一篇文章已经把sql语句写好了并且在PL/SQL上调试过了,是可以的.这篇文章是写对应的mapper.xml, 第一步我们先通过逆向工程去构建每个表的mapper.xml文件和pojo类.这个我们在 ...

  9. High Performance Animations

    http://www.html5rocks.com/zh/tutorials/speed/high-performance-animations/

  10. [资源]PHP使用消息队列

    利用PHP操作Linux消息队列完成进程间通信 基于HTTP协议的轻量级开源简单队列服务:HTTPSQS[原创] Redis队列——PHP操作简单示例 入队操作 <?php $redis = n ...