结对项目-四则运算 “软件”之升级版

本作业要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2213

我的远程github地址为:https://github.com/lawnlawn/ruanjiangongcheng/tree/master/studentFormulaWeb/studentFormularWeb

一、程序基本要求

    • 自动生成题目,单个题目最多不能超过4个运算符,操作数小于100。
    • 用户可以输入答案
    • 若用户输入答案正确,则提示正确;若答案错误,则提示错误,并要提示正确答案是多少。

二、四个扩展方向

    • 用户答题结束以后,程序可以显示用户答题所用的时间;(黄泳棋)
    • 用户可以选择出题的个数(最多不能超过5个题目),答题结束可以显示用户答错的题目个数和答对的题目个数;(沈淑)
    • 程序可以出单个整数阶乘的题目:如:4!=24;(沈淑)
    • 程序可以设置答题时间,时间设置为整数,单位为秒,最大不能超过120秒,若超过了答题时间未答题,则提示:时间已到,不能答题。(黄泳棋)

三、时间记录表

PSP2.1

Personal Software Process Stages

Time Senior Student(h)

Time(h)

Planning

计划

0

0

· Estimate

估计这个任务需要多少时间

14.3

12.3

Development

开发

2

1.3

· Analysis

需求分析 (包括学习新技术)

0.2

0.3

· Design Spec

生成设计文档

0

0

· Design Review

设计复审

0.2

0.3

· Coding Standard

代码规范

0.2

0.3

· Design

具体设计

2

1.3

· Coding

具体编码

6

5

· Code Review

代码复审

1

1.3

· Test

测试(自我测试,修改代码,提交修改)

1

1

Reporting

报告

0

0

Test Report

测试报告

0.3

0.3

·workload

计算工作量

0.3

0.3

·correction

并提出过程改进计划

0.3

0.3

四、结对过程

1、结对成员

    • 本人——沈淑:负责编码扩充两个方向,网页的设计与编码,调试
    • 队友——黄泳棋(https://www.cnblogs.com/lawn/p/9838093.html):负责编码另外两个方向,前端与后端代码的整合,调试

2、结对开发环境

    • Google浏览器
    • IDEA开发软件

3、扩展方向

    • 用户答题结束以后,程序可以显示用户答题所用的时间;(黄泳棋)
    • 用户可以选择出题的个数(最多不能超过5个题目),答题结束可以显示用户答错的题目个数和答对的题目个数;(沈淑)
    • 程序可以出单个整数阶乘的题目:如:4!=24;(沈淑)
    • 程序可以设置答题时间,时间设置为整数,单位为秒,最大不能超过120秒,若超过了答题时间未答题,则提示:时间已到,不能答题。(黄泳棋)

4、结对收获

    • 跟队友的合作不是第一次了,所以默契还是有的,分工可以比较明确,也比较知道各自的强项,好安排任务
    • 觉得做这个项目综合了很多以前的知识,可以对旧知识进行回顾
    • 可能是对项目的开发经验不足,有些地方考虑不周全
    • 一些技术还不是很成熟,就导致项目进行的时候会有一些阻碍

5、结对学习照片

五、部分源代码

1、阶乘实现的部分代码

result=1;//初始化result为1
            jiecNum=random.nextInt(100)+1;
            fomula=jiecNum+"!=";
            for(int i=jiecNum;i>0;i--){
                result*=i;
            }

2、判断答案对错的部分代码

function trueOfFalse() {
                clearInterval(timer);
                var startTime = <%=session.getAttribute("time")%>;
                var endTime = second;
                var totalTime = startTime - endTime;

                <%
                    String an= String.valueOf(session.getAttribute("ans"));
                    String[] answer ;
                    answer= an.split(",");
                    int k=0;
                    for(int j=0;j<5;j++){
                        if(answer[j].equals("dd")){
                            k++;
                        }
                    }
                %>

                var an = new Array(5);
                var rAn = new Array(5);
                for (var i = 0; i <<%=session.getAttribute("nums")%>; i++) {
                    an[i] =document.getElementById("formularAn" + i).value;
                    document.getElementById("a" + i).style.display = "flex";
                }
                var rTi=0;
                <% for(int i=0;i<5-k;i++){%>
                rAn[<%=i%>]=<%=answer[i]%>;
                if ( an[<%=i%>] == rAn[<%=i%>] ) {
                    document.getElementById("tof" + <%=i%>).innerHTML = "&nbsp;<i class=\"fa fa-check fa-lg mt-4\" style='font-size: 1.3125rem;'>正确答案是:</i>"
                    rTi++;
                } else {
                    document.getElementById("tof" + <%=i%>).innerHTML = "&nbsp;<i class=\"fa fa-remove fa-lg mt-4\" style='font-size: 1.3125rem;'>正确答案是:</i>"
                }
                <%}%>
                alert("您用时为:"+totalTime+"秒!正确题数为:"+rTi+"题,答错题数为:"+(<%=session.getAttribute("nums")%>-rTi));
            }

六、运行页面的截图

1、主页面

 

2、出题页面

 

3、答题结束弹框

 

4、判断对错

 

  最后,有什么不对或者需要改进的地方,欢迎指正哦~

posted @ 2018-10-24 00:49  阿叔  阅读(244)  评论(0编辑  收藏  举报