个人作业——计应191西第七组张曼曼
100以内加减法运算
1、计划:用c#编写一个小学生100以内口算题卡。
2、开发:需求分析:作为一名一年级小学生的家长,我希望开发出一个口算题卡软件,让我的孩子能在上面练习口算题,能够自动生成100以内的正整数加减法运算,以便减轻我的工作负担;
难点:自动出题;剔除掉减法中的结果负数的情况;
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.事后总结
代码要规范,做好计划和复审
小学生口算题卡 |
预估时间(min) |
实际记录(min) |
计划 |
30 |
50 |
明确需求和其他相关因素,估计每个阶段的时间成本。 |
40 |
30 |
开发 |
50 |
30 |
需求分析(学习新技术,新工具) |
30 |
40 |
生成设计文档(整体框架的设计,各模块的接口,用时序图等方法) |
30 |
45 |
设计复审(和同事审核设计文档) |
30 |
60 |
代码规范(为目前的开发制定合适的规范) |
30 |
20 |
具体设计(用伪代码,流程图等方法来设计具体模块) |
40 |
50 |
具体编码 |
60 |
55 |
代码复审 |
25 |
30 |
测试(自测、修改代码、提交修改) |
30 |
25 |
报告 |
20 |
35 |
测试报告(发现了多少bug,修复了多少) |
20 |
30 |
计算工作量(多少行代码,多少次签入,多少测试用例,其他工作量) |
30 |
20 |
事后总结,并提出过程改进计划(包括写文档,博客的时间) |
20 |
30 |
|
个人总结:
在整个实践案例中,我发现自己有很多地方不足,我才知道自己要多加练习,而且很多地方也完善的不是很好,代码也不够完整,不过也让我学习了很多,让我充分认识到自己还有发展的空间,会更加努力学习和练习的。