计应191西第七组杨佳贺
一、计划做一个小学生一年级口算题卡软件,大概半小时左右完成。
二、开发
- 需求分析:作为一名一年级小学生的家长,我希望开发出一个口算题卡软件,让我的孩子能在上面练习口算题,能够自动生成一百以内正整数的加减法运算,以便减轻负担。
- 难点:自动出题、剔除掉减法结果中为负数的情况。
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(); } } }
任务内容 | 计划共完成需要的时间(min) | 实际完成需要的时间(min) |
---|---|---|
计划 | 30 | 60 |
开发 | 20 | 40 |
需求分析 (包括学习新技术) | 20 | 5 |
· 生成设计文档 | 15 | 3 |
· 设计复审 (和同事审核设计文档) | 20 | 2 |
代码规范 (为目前的开发制定合适的规范) | 10 | 1 |
具体设计 | 20 | 5 |
具体编码 | 40 | 20 |
· 代码复审 | 5 | 2 |
· 测试(自我测试,修改代码,提交修改) | 15 | 2 |
报告 | 20 | 20 |
· 测试报告 | 5 | 5 |
计算工作量 | 5 | 5 |
· 事后总结 ,并提出过程改进计划 | 10 | 10 |
总结:在这次的个人项目开发中,完成了项目基本的需求,在与开发过程中和组员并有着积极的交流。
但有些地方还是很生疏,需要勤加练习。