MathExam第二次作业(升级版)
MathExamLv2——林华伟 211506319 陈珍 211406263
一、预估与实际
| PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
|---|---|---|---|
| Planning | 计划 | ||
| • Estimate | • 估计这个任务需要多少时间 | 20 | 30 |
| Development | 开发 | ||
| • Analysis | • 需求分析 (包括学习新技术) | 60 | 220 |
| • Design Spec | • 生成设计文档 | 20 | 50 |
| • Design Review | • 设计复审 | 5 | 15 |
| • Coding Standard | • 代码规范 (为目前的开发制定合适的规范) | 5 | 25 |
| • Design | • 具体设计 | 20 | 60 |
| • Coding | • 具体编码 | 120 | 600 |
| • Code Review | • 代码复审 | 30 | 40 |
| • Test | • 测试(自我测试,修改代码,提交修改) | 20 | 180 |
| Reporting | 报告 | ||
| • Test Repor | • 测试报告 | 30 | 80 |
| • Size Measurement | • 计算工作量 | 5 | 10 |
| • Postmortem & Process Improvement Plan | • 事后总结, 并提出过程改进计划 | 10 | 10 |
| 合计 | 345 | 1320 |
二、需求分析
我通过作业要求的方式了解到,小学三年级数学有如下的几个特点:
特点1
- 运算符在2~4个
特点2
- 减法运算的结果不能有负数
特点3
- 除法运算除数不能为0,不能有余数
经过分析,我认为,这个程序应当:
添加多个运算符的算式。
计算做题正确个数,提供错题重做订正功能。
三、设计
1. 设计思路:
生成四则运算式子。
判断式子是否合理
在做完一题后,自动生成下一道题目,并对上一道题目的正确错误进行判断。
记录计算正确个数,并记录错误的题目
提供错题重做功能
2. 实现方案
准备工作:先在Github上创建仓库,克隆到本地。
技术关键点:
如何自动生成下一道题目并对答案进行判定。
如何在四则运算中添加括号。
- 如何记录错题。
1. 调试日志
设计题目的时候没有考虑相减出现负数的情况,后续通过判定修改这个错误
没有考虑输入非数字时的情况程序该如何运行,后续修改代码,若输入非数字,则结束程序。
2. 关键代码
public:
Student(){}
void expression();
void again();
};
static int num=0,a,b,d,c,e,sum,result;
void Student::expression()
{
cout<<"\n\n\n\t\t\t学生算数10道\n\n\n\n";
for(int i=0;i<10;i++)
{
cout<<"第"<<i+1<<"题\n";
c=rand()%4+1;
switch(c)
{
case 1:
{
srand(time( NULL ) );
a=rand()%100+1;
b=rand()%100+1;
e=rand()%100+1;
d=a+b*e;
cout<<a<<" + "<<b<<"*"<<e<<" = ";
}
break;
case 2:
{
srand(time( NULL ) );
a=rand()%100+1;
b=rand()%100+1;
e=rand()%100+1;
if(a<b)
{
d=a;
a=b;
b=d;
}
d=a*b-e;
cout<<a<<" * "<<b<<"-"<<e<<" = ";
}
break;
case 3:
{
a=rand()%8+1;
b=rand()%8+1;
e=rand()%8+1;
if(a>b)
{
d=a;
a=b;
b=d;
}
d=a*b+e;
cout<<a<<" * "<<b<<"+"<<e<<" = ";
}
break;
case 4:
{
srand(time( NULL ) );
a=rand()%9+1;
b=rand()%9+1;
e=rand()%9+1;
a=(a/b)*b;
d=a/b;
cout<<a<<" / "<<b<<"+"<<e<<" = ";
}
break;
}
3. 代码规范
请给出本次实验使用的代码规范:
- 第一条:未定义的常量不可使用在代码中
- 第二条:不可输入非数字的答案,若输入非数字的答案,则结束程序
五、测试

六、总结
通过这次结对作业,明白了两个人可以互相指出很多对方没有想到问题,可以互相进步,自己一个人单干的话,会忽略很多点,代码的漏洞也会多很多,团队协作的重要性就体现在这里,可以减少失误,提高代码的质量。

MathExam第二次作业(升级版)的更多相关文章
- MathExam第二次作业
第二次作业:MathExam 一.预估与实际 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 20 30 • ...
- 耿丹CS16-2班第二次作业汇总
-- Deadline: 2016-09-28 12:00 -- 作业内容:http://www.cnblogs.com/huangjunlian/p/5891726.html -- 第二次作业总结: ...
- JAVA第二次作业展示与学习心得
JAVA第二次作业展示与学习心得 在这一次作业中,我学习了复选框,密码框两种新的组件,并通过一个邮箱登录界面将两种组件运用了起来.具体的使用方法和其他得组件并没有什么大的不同. 另外我通过查阅资料使用 ...
- 20169212《Linux内核原理与分析》第二周作业
<Linux内核原理与分析>第二周作业 这一周学习了MOOCLinux内核分析的第一讲,计算机是如何工作的?由于本科对相关知识的不熟悉,所以感觉有的知识理解起来了有一定的难度,不过多查查资 ...
- 软件工程(QLGY2015)第二次作业点评(随机挑选20组点评)
相关博文目录: 第一次作业点评 第二次作业点评 第三次作业点评 说明:随机挑选20组点评,大家可以看看blog名字,github项目名字,看看那种是更好的,可以学习,每个小组都会反应出一些问题,希望能 ...
- 程序设计第二次作业<1>
面向对象程序设计第二次作业<1> Github 链接:https://github.com/Wasdns/object-oriented 题目: <1>第一次尝试 我立马认识到 ...
- homework-02,第二次作业——寻找矩阵最大子序列和
经过漫漫漫~~~~~~~~~~~~~~长的编译和调试,第二次作业终于告一段落了 先放出源码,思路后面慢慢道来 #include<stdio.h> #include<stdlib.h& ...
- 20169210《Linux内核原理与分析》第二周作业
<Linux内核原理与分析>第二周作业 本周作业分为两部分:第一部分为观看学习视频并完成实验楼实验一:第二部分为看<Linux内核设计与实现>1.2.18章并安装配置内核. 第 ...
- SQL 第二章 作业
/*第二章 作业*/ create table S ( sno char(2) NOT NULL UNIQUE, sname char(3), city char(2) ); alter table ...
随机推荐
- docker-maven-plugin 完全免Dockerfile 文件
# DockerSpringBootPlugin docker-maven-plugin 完全免Dockerfile 文件 使用docker-maven-plugin 进行完全免 Dockerfile ...
- linux学习笔记三:防火墙设置
请注意:centOS7和7之前的版本在防火墙设置上不同,只有正确的设置防火墙才能实现window下访问linux中的web应用. centOS6添加端口: vi /ets/sysconfig/ipta ...
- ElasticSearch优化系列三:机器设置(内存)
heap参数设置优化 命令行修改 ./bin/elasticsearch -Xmx10g -Xms10g xmx-JVM最大允许分配的堆内存,按需分配 xms-JVM初始分配的堆内存 此值设置与-Xm ...
- redis迁移复制数据,主从关系建立实践
装redis的机器出了点问题,需要转移数据然后初始化系统,然后我就研究了下redis的数据复制,发现了slaveof 192.168.0.1 6379这个命令,开始踩下这个坑 首先要新的服务器上进入r ...
- 显示youtube视频缩略图和Vimeo视频缩略图代码分享
这篇文章主要介绍了显示youtube视频缩略图和Vimeo视频缩略图的代码,需要的朋友可以参考下 function video_image($url){ $image_url = parse_url( ...
- 【四】搭建Nginx服务器
[任务4]搭建Nginx服务器 [任务4]搭建Nginx服务器 下载Nginx源码包 安装Nginx 解压Nginx安装包 安装Nginx依赖 启动Nginx 安装cgi 下载cgi并解压安装包 编译 ...
- vs2013发布网站合并程序是出错(ILmerge.merge:error)
Vs2013发布网站时,生成错误提示: 合并程序集时出错: ILMerge.Merge: ERROR!!: Duplicate type 'manage_ForcePasswrod' found in ...
- 20145226夏艺华 《Java程序设计》实验报告二
实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验步骤 (一)单元测试 ...
- sougoupinyin for linux 安装步骤(精简版)
download deb double-click to install select fcitx reboot click it in the bar and choose the"tex ...
- 成都Uber优步司机奖励政策(4月10日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...