个人作业 计应191(西)杨梦醒
小学生100以内加减法口算题卡
一.计划
1.创建规定算数题范围函数,即和不大于100,差不小于0
2.显示开始界面,选择答题界面开始,显示所用时间。
3.显示对错的数据,并计算出正确率。
二、开发
1、需求分析:
作为一名一年级学生家长,由于疫情原因,孩子们在家老师要求家长出100以内的 数学算题帮助孩子们做练习 ,因此我希望出一款能出题,并判断对错,算出正确率的软件 来解决我的家庭负担 。
2.生成设计文档
3.设计复审
运行程序,修改错误。
4.代码规范
命名规范,代码缩进。
5.具体设计
系统开始,随机产生加法或者减法,计算完成后,显示正确题数,正确率以及所花费的时间,系统结束。
6.具体代码
using System;using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleAppMath{
class Program
{
static void Main(string[] args)
{
int count = 1;//记录答题数量
int error = 0;//记录答题错误数量
do
{
Random r = new Random();
int a = r.Next(0, 101);//定义一个初始数0到100,包含100
int b = r.Next(1, 3);//定义一个标识,若为1,则计算加法,否则,计算减法
if (b == 1) {
int c = r.Next(0, 100 - a);//定义一个和初始数相加小于100的随即数
Console.WriteLine("第{0}题:{1} + {2} = ? ", count, a, c);
try
{
int result = Convert.ToInt32(Console.ReadLine());//获取输入结果
if (result == a + c)
{
Console.WriteLine("恭喜你,回答正确!");
}
else
{
error++;
Console.WriteLine("回答错误,正确答案应该是:{0}", a + c);
}
}
catch (Exception)
{
//若输入非数字,则该题作废,不计入总的答题数量
Console.WriteLine("你输入的不是数字,此题作废!");
continue;
}
} else
{
int c = r.Next(0, a);
Console.WriteLine("第{0}题:{1} - {2} = ? ", count, a, c);
try
{
int result = Convert.ToInt32(Console.ReadLine());
if (result == a - c)
{
Console.WriteLine("恭喜你,回答正确!");
}
else
{
error++;
Console.WriteLine("回答错误,正确答案应该是:{0}", a - c);
}
}
catch (Exception)
{
Console.WriteLine("你输入的不是数字,此题作废!");
continue;
}
}
Console.WriteLine("按任意键开始下一道,输入 'e'结束!");
count++;
} while (Console.ReadLine() != "e");
int zhengque = count - 1 - error;//计算共答对多少题
int s = Convert.ToInt32((zhengque * 100) / (count - 1));//按照比例计算分数100分为满分
Console.WriteLine("答题结束,你一共做了{0}道题,正确{1}道,错误{2}道,得分:{3}", count - 1, count - 1 - error, error, s);
Console.ReadLine();
}
}
7.代码复审
8.测试报告
9.事后总结
代码要规范,做好计划和复审
小学生口算题卡 |
预估时间 |
实际记录 |
计划 |
|
|
明确需求和其他相关因素,估计每个阶段的时间成本。 |
5 |
3 |
开发 |
|
|
需求分析(学习新技术,新工具) |
5 |
8 |
生成设计文档(整体框架的设计,各模块的接口,用时序图等方法) |
10 |
13 |
设计复审(和同事审核设计文档) |
5 |
6 |
代码规范(为目前的开发制定合适的规范) |
2 |
2 |
具体设计(用伪代码,流程图等方法来设计具体模块) |
10 |
12 |
具体编码 |
60 |
55 |
代码复审 |
25 |
30 |
测试(自测、修改代码、提交修改) |
10 |
15 |
报告 |
|
|
测试报告(发现了多少bug,修复了多少) |
5 |
5 |
计算工作量(多少行代码,多少次签入,多少测试用例,其他工作量) |
3 |
2 |
事后总结,并提出过程改进计划(包括写文档,博客的时间) |
13 |
15 |
总共花费的时间 |
153 |
166 |