四则运算 Day2
元旦快乐篇
别人在过元旦,而我却在敲代码,说多了都是泪。
设计思路
1. 界面设计
- 程序运行时,跳出运行说明提示用户如何操作
- 用户阅读完说明后点击开始进入主界面,即操作界面,操作界面分为计时区,操作区和功能选择区
- 计时区 显示当前剩余时间,当时间为0时 自动弹出 统计结果
- 操作区 用户只能输入运算的结果,直接点击回车提交答案,系统将自动给出下一组数据
- 功能选择区 用户可以选择需要进行的运算方式 包括 加、减乘除。 开始,暂停。 当用户点击开始按钮时,操作区给出运算的数字,同时计时区开始计时。用户开始输入结果。当用户点击暂停按钮。计时区停止计数。同时显示到目前的统计结果。
- 显示结果。当计时区时间为0 或者用户点击暂停时将自动弹出。用于显示用户当前答题总数和答对题数以及正确率。
2. 代码实现思路
使用多线程,实现程序的计数功能。 同时使用另一个线程来时时监控计时区的时间变化。当计时为0 时 监控线程关闭计时线程。同时弹出最后的显示结果。再将答案输入框禁用。
操作区 当用户点击开始按钮。系统调用 RANDOM方法产生两个0-10 的随机数。如果当前的运算符号为 除法时检查第二个随机数是否为0 ,如果为0 重新生成第二个随机数。再将随机数赋值到显示框内。用户输入完答案后,点击回车提交后台自动将数据保存到一个数据类中,同时对数据进行处理,并生成统计结果。
功能区 用户自主选择使用的运算符。当选择一种时改变操作区的运算符号。同时改变数据类保存的运算符类型。
界面实现
开始界面
操作界面
统计界面
存在的bug,及解决
结果输入框,如果输入非数字会导致程序错误。
解决方案:设置输入类型。只允许输入小数点和数字。如下图所示
四则运算 Day2的更多相关文章
- 软件工程(FZU2015)增补作业
说明 张老师为FZU软件工程2015班级添加了一次增补作业,总分10分,deadline是2016/01/01-2016/01/03 前11次正式作业和练习的迭代评分见:http://www.cnbl ...
- 软件工程(FZU2015) 增补作业
SE_FZU目录:1 2 3 4 5 6 7 8 9 10 11 12 13 说明 张老师为FZU软件工程2015班级添加了一次增补作业,总分10分,deadline是2016/01/01-2016/ ...
- 介绍一款原创的四则运算算式生成器:CalculateIt2
家里小朋友读一年级了,最近每天都有一些10以内的加减法口算练习,作为程序员爸爸,自然也是想办法能够偷懒,让电脑出题,给小朋友做些练习.于是,自己在业余时间开发了一个四则运算算式生成器,名为:Calcu ...
- 【从零开始学BPM,Day2】默认表单开发
[课程主题]主题:5天,一起从零开始学习BPM[课程形式]1.为期5天的短任务学习2.每天观看一个视频,视频学习时间自由安排. [第二天课程] Step 1 软件下载:H3 BPM10.0全开放免费下 ...
- NOIp2016 Day1&Day2 解题报告
Day1 T1 toy 本题考查你会不会编程. //toy //by Cydiater //2016.11.19 #include <iostream> #include <cstd ...
- 作业二:个人编程项目——编写一个能自动生成小学四则运算题目的程序
1. 编写一个能自动生成小学四则运算题目的程序.(10分) 基本要求: 除了整数以外,还能支持真分数的四则运算. 对实现的功能进行描述,并且对实现结果要求截图. 本题发一篇随笔,内容包括: 题 ...
- day2
三级菜单: ))))))))))] last_levels.pop() ]]]]]]]]:] information = : ch = msvcrt.getch() ][][: : password= ...
- 四则运算appNABCD模型
团队: 郭志豪:http://www.cnblogs.com/gzh13692021053/ 杨子健:http://www.cnblogs.com/yzj666/ 刘森松:http://www.cnb ...
- 第一章-第一题(小学生四则运算)--By郭青云
1.项目需求 a) 除了整数以外,还要支持真分数的四则运算. (例如: 1/6 + 1/8 = 7/24) b) 让程序能接受用户输入答案,并判定对错. 最后给出总共 对/错 的数量. c) 逐步扩 ...
随机推荐
- DW与DM
DW组成部分简介 DW的组成部分有:针对数据源的分析.数据的ETL.数据的存储结构,元数据管理等. 数据源分析 主要是分析要抽取哪些数据,如何抽取(全量还是增量)?它的更新周期是怎么样的?它的数据质量 ...
- 二叉查找树的懒惰删除(lazy deletion)
第四章习题:二叉查找树类实现懒惰删除,注意findMin()和findMax()(递归) 算是发布的第一篇学习笔记.也不敢保证写的代码一定正确,错了的地方请大家指正,谢谢. 直接开始吧.先谈谈数据结构 ...
- Java语法结构
一.顺序结构(从上往下依次执行) 顺序结构语法比较简单,从上往下依次执行即可. 二.选择结构(选择性执行,如果....则.....) 1.if 语句 if语句,作用是根据判断结果为真或假,选择其中一个 ...
- 【读书笔记《Android游戏编程之从零开始》】11.游戏开发基础(SurfaceView 游戏框架、View 和 SurfaceView 的区别)
1. SurfaceView 游戏框架实例 实例效果:就是屏幕上的文本跟着点击的地方移动,效果图如下: 步骤: 新建项目“GameSurfaceView”,首先自定义一个类"MySurfac ...
- Mybatis框架_part1
mybatis介绍 mybatis就是一个封装了jdbc的持久层框架,它的前身是ibatis.Mybatis与hibernate一样都是持久层框架,但是它与hibernate不同的是,它不是一个完全的 ...
- UESTC 884 方老师的专题讲座 --数位DP
定义:cnt[L][K]表示长度为L,最高位为K的满足条件C的个数. 首先预处理出cnt数组,枚举当前长度最高位和小一个长度的最高位,如果相差大于2则前一个加上后一个的方法数. 然后给定n,计算[1, ...
- 2014 Super Training #9 E Destroy --树的直径+树形DP
原题: ZOJ 3684 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3684 题意: 给你一棵树,树的根是树的中心(到其 ...
- Linux基于libmemcached,php扩展memcached的安装
安装环境:CentOS 6.4 php的扩展memcache,不支持cas,所以我们要装memcached扩展,memcached扩展是基于libmemcached,所以要先安装libmemcache ...
- 关于phpmyadmin #1045无法登陆服务器的问题
修改/home/wwwroot/phpmyadmin/libraries/config.default.php 文件,找到下面两行 $cfg['Servers'][$i]['nopassword'] ...
- Nginx反向代理+负载均衡简单实现(http方式)
1)nginx的反向代理:proxy_pass2)nginx的负载均衡:upstream 下面是nginx的反向代理和负载均衡的实例: 负载机:A机器:103.110.186.8/192.168.1. ...