结对项目-四则运算 “软件”之升级版
本作业要求来自于: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 = " <i class=\"fa fa-check fa-lg mt-4\" style='font-size: 1.3125rem;'>正确答案是:</i>" rTi++; } else { document.getElementById("tof" + <%=i%>).innerHTML = " <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、判断对错
最后,有什么不对或者需要改进的地方,欢迎指正哦~