题目要求

我们在个人作业1中,用各种语言实现了一个命令行的四则运算小程序。进一步,本次要求把这个程序做成GUI(可以是Windows PC 上的,也可以是Mac、Linux,web,手机上的),成为一个有基本功能、一定价值的程序。在下面的功能需求中实现两个:

记录用户的对错总数,程序退出再启动的时候,能把以前的对错数量保存并在此基础上增量计算。
有计时功能,能显示用户开始答题后的消耗时间。
界面支持中文简体/中文繁体/英语,用户可以选择一种;

需求分析

经过三个人的讨论,决定使用php来实现本次作业,并打算将题目要求中的三个功能全部实现,实现前端操作界面。

分工

本次结对编程由于班级人数的原因,我们的小组中有三人,分别是谷天鹏(61),常昊(60),孙佳萱(40)

谷天鹏

完成具体网页界面的编写,php与前台js交互部分的编写,实现利用数据库记录对错总数。
语言切换的设计与编写。
各种方法的封装。

常昊

建立数据库。
编写计时器算法并完成计时器功能。

孙佳萱

中英文切换语言词典等js配置文件的编写
web界面的样式整改。

设计与实现部分

三部分功能

记录用户的对错总数,程序退出再启动的时候,能把以前的对错数量保存并在此基础上增量计算。

流程图

代码

$.post("ajaxTest.php", {
wrongNum: wrongNum,
rightNum: rightNum,
lang: langShift},
function(data) {
$('#record').text(data);
}
);
wrongNum = 0;
rightNum = 0;
}
 require './MySQLDB.class.php';//引入数据库操作类//数据库配置信息$config = array('host'=>'localhost','port'=>'3306','user'=>'root','pass'=>'123456','charset'=>'utf8','dbname'=>'sqltest',);$msq = MySQLDB::GetInstance($config);$sqlReadWrongNum="select wrong_num from hm2 where userid = 1";
$wrong = $msq -> getOneRow($sqlReadWrongNum);
$wrongNumSum = $wrong['wrong_num'] + $_POST['wrongNum'];
$sqlReadRightNum="select right_num from hm2 where userid = 1";
$right = $msq -> getOneRow($sqlReadRightNum);
$rightNumSum = $right['right_num'] + $_POST['rightNum'];$sqlWrong = "update hm2 set wrong_num=$wrongNumSum where userid = 1";
$sqlRight = "update hm2 set right_num=$rightNumSum where userid = 1";
$msq -> exec($sqlRight);
$msq -> exec($sqlWrong);
if($_POST['lang']==0){
echo "当前错误答案总数:$wrongNumSum";
echo "当前正确答案总数:$rightNumSum";}else{
echo "Wrong number:$wrongNumSum";
echo "Right number:$rightNumSum";
}

有计时功能,能显示用户开始答题后的消耗时间。

流程图

代码

//@setTime计时函数 并在点击事件中调用函数
function setTime() {
var hour = parseInt(timeIndex / 3600);var minutes = parseInt((timeIndex % 3600) / 60);
var seconds = parseInt(timeIndex % 60);
hour = hour < 10 ? "0" + hour : hour;
minutes = minutes < 10 ? "0" + minutes : minutes;
seconds = seconds < 10 ? "0" + seconds : seconds;
$("#timekeeping").val(hour + ":" + minutes + ":" + seconds);
timeIndex++;
}//@stopTimekeeping() 停止计时,更改答题input框为只读
function stopTimekeeping() {
clearInterval(times);
$(".test_in").attr("readonly", "readonly");
}

界面支持中文简体/中文繁体/英语

流程图

代码

        function changeLang(lang) {switch (lang) {case 'auto':if (langShift == 1) {langShift = 0;$('.en').css("display", "none");$('.zh').css("display", "");$('#btn_create').val('点击开始生成题目');$('#btn_judge').val('判断并生成答案');$('#stopTimekeeping').val('停止答题(计时)');} else {langShift = 1;$('.en').css("display", "inline");$('.zh').css("display", "none");$('#btn_create').val('Create Question');$('#btn_judge').val('Judge');$('#stopTimekeeping').val('Stop Timekeeping');};url = ""break;case 'en':langShift = 1;$('.en').css("display", "inline");$('.zh').css("display", "none");$('#btn_create').val('Create Question');$('#btn_judge').val('Judge');$('#stopTimekeeping').val('Stop Timekeeping');break;case 'zh':langShift = 0;$('.en').css("display", "none");$('.zh').css("display", "");$('#btn_create').val('点击开始生成题目');$('#btn_judge').val('判断并生成答案');$('#stopTimekeeping').val('停止答题(计时)');break;}}

程序调试

PSP

psp总结

本次作业比预计实现所花的时间要短,果然人多力量大,虽然在过程中大家也产生过一些争论,但是大家也克服了并解决了问题。

作业总结

与第一次作业相比,产生了非常大改动,原本的程序已经被改的面目全非,只好重新规划。
返回错误与计时器比较简单,语言切换功能不是非常灵活。
虽然基本实现了题目所要求的功能,但是需要改进加强的东西还有很多。
望多多指教!

Coding

https://coding.net/u/augur_g/p/homework-2/git

结对照片

转载于:https://www.cnblogs.com/haogege/p/6544650.html

结对编程1 - 四则运算生成器的改进(201421123040,60,61)相关推荐

  1. 【结对编程】四则运算生成器

    结对项目报告 源码及接口说明地址:https://github.com/hzphzp/ArithmeticCore/tree/master/ArithmeticCore 一.功能实现 按照用户设置的要 ...

  2. 20165330 结对编程项目-四则运算 第一周

    需求分析 实现一个命令行程序,要求:自动生成小学四则运算题目(加.减.乘.除) 可实现多个运算符一起运算 可以真分数形式输出结果 测试结果的正确性 统计题目完成数并计算正确率 设计思路 实验首先是完成 ...

  3. 20165318 结对编程项目-四则运算 阶段总结

    20165318 结对编程项目-四则运算 阶段总结 目录 一.需求分析 二.设计思路 三.实现过程中的关键代码解释 四.测试方法 五.运行过程截图 六.代码托管 七.遇到的困难及解决方法 八.对结对小 ...

  4. 结对编程项目-四则运算阶段性总结

    结对编程项目-四则运算阶段性总结 在这段时间的结对编程过程中,我和我的组员一同编程,初步完成了项目的要求,现在我将阶段性的成果做一个总结 一.需求分析 实现一个命令行程序,要求: 1.自动生成小学四则 ...

  5. 结对编程项目-四则运算整体总结

    结对编程项目-四则运算整体总结 在这一周中,我和我的搭档完成项目并实现了拓展需求,现在我将本项目的成果做一个总结 一.需求分析 实现一个命令行程序,要求: 1.自动生成小学四则运算题目(加.减.乘.除 ...

  6. java安装 1723_2017-2018-2 1723 『Java程序设计』课程 结对编程练习-四则运算-准备阶段...

    2017-2018-2 1723 『Java程序设计』课程 结对编程练习-四则运算-准备阶段 在一个人孤身奋斗了将近半个学期以后,终于迎来的我们的第一次团队协作共同编码,也就是,我们的第一个结对编程练 ...

  7. 结对编程项目-四则运算(第一周阶段性总结)

    结对编程项目-四则运算(阶段性总结) 需求分析 题目生成 多运算符(可设计层级) 包含括号(可单独使用) 无重复题目(可单独使用) 生成有意义的题目(例如:5x(5x5)等等) 等级划分 Level ...

  8. 20172307 结对编程项目-四则运算 第二周 阶段总结

    20172307 结对编程项目-四则运算 第二周 阶段总结 (结队项目码云地址) 相关过程截图(关键代码处加了注释) 编写出实现中缀转后缀的类Transform /*Transform.java 作者 ...

  9. 结对编程作业——四则运算

    Github项目地址 PSP PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 10 10 · Estimat ...

最新文章

  1. NVIDIA DRIVE AGX开发工具包
  2. 如何删除windows上面的jdk文件
  3. iOS UITouch触摸与UIGesture手势.01.事件、触摸(touch)事件
  4. C#中listView列自动适应缩放的完美效果
  5. valueOf()、toString()
  6. Java面向对象编程(中级)
  7. Java——操作集合的工具类:Collections
  8. Binary Tree Preorder Traversal @leetcode
  9. Android调用系统相册、拍照以及裁剪最简单的实现(兼容7.0)
  10. 【无广告】一位算法工程师从30+场秋招面试中总结出的超强面经——目标检测篇...
  11. lenovo L480 进入bios_利用微星主板自带的 M-Flash BIOS工具升级BIOS
  12. 苹果鼠标怎么充电_macbook pro搭配什么鼠标好?
  13. oracle中双引号代表什么意思,Oracle中的双引号与单引号
  14. php微信上传图文素材,php使用curl 上传微信公共平台素材文件
  15. qt 3d迷宫游戏_鲨话游戏史FPS游戏竟然40年前就有了?暴露年龄系列,慎入!
  16. cin gt gt n是c语言中的什么,c++中cinna是什么意思
  17. python去重计数_用Python做透视表之value_sum和value_countdistinct功能
  18. 【python】使用pushplus实现警报微信提醒,提供代码和详细注释
  19. 凡人修真3D(3)神翼
  20. CSS(五):定位与显示隐藏

热门文章

  1. 【原创视频】docker pull和docker run运行原理分析
  2. 【Java面试题】计算一个数字的立方根,不使用库函数
  3. Python3 数字运算
  4. Briage桥接设计模式
  5. 创建azure服务器
  6. IDEA中的maven工程Java未被识别的解决方法
  7. Coding:在数组中查找具有给定总和的对
  8. 记录element-ui级联选择器,二级三级列表无法显示的解决办法
  9. git 源代码自动检查_检查提交(git log,git show)《 Nest.js 应用案例:源代码管理 》...
  10. eventbus使用_Android EventBus框架的使用介绍