计算题出题程序历程与心得 计应192西第五组 任仕龙
软件=程序+软件工程
需求分析:出算数题 时间:1minute
设计文档: 写出大概思路 时间:3minutes
设计复审:尹肖剑复审 时间:10minutes
代码规范:使用驼峰式命名 时间:3minutes
具体设计: 时间: 3minutes
我知道出题的大概需求后,脑子很空白于是决定先一步一步写,写出一个雏形,然后在雏形上面慢慢加需求。
首先我决定先写三个随机数x,y,z让x,y当前后两个数,z当加减的随机,出现第一个算数题。
让这个程序循环30次不就是30到算数题
具体实现代码为下:工作时间 6小时 124行代码
public string[] Add()
{
Random a = new Random();
string result = "";
string[] terms = new string[30];
for (int i = 0; i < 30; i++)
{
int x = a.Next(1, 100);
int y = a.Next(1, 100);
int p = a.Next(0, 2);
if (p == 0)
{
result = x + "+" + y + "=";
terms[i] = result;
}
else
{
result = x + "-" + y + "=";
terms[i] = result;
}
lvlist.Text = " ";
}
return terms;
乘除的思路和这个是完全一样的。直接继承就行。
public string[] MP()
{
Random a = new Random();
string result = "";
string[] terms = new string[30];
for (int i = 0; i < 30; i++)
{
int x = a.Next(1, 100);
int y = a.Next(1, 100);
int p = a.Next(0, 2);
if (p == 0)
{
result = x +"*"+ y + "=";
terms[i] = result;
}
else
{
result = x +"%"+ y + "=";
terms[i] = result;
}
}
return terms;
}
设置两个按键。加减题,和乘除题。在这两个按钮下分别调用这两个方法。
private void button3_Click(object sender, EventArgs e)
{
string[] term = Add();
for (int i = 0; i < term.Length; i++)
{
lvlist.Items.Add(term[i]);
}
}
private void button5_Click(object sender, EventArgs e)
{
string[] term = MP();
for (int i = 0; i < term.Length; i++)
{
lvlist.Items.Add(term[i]);
}
}
当然我们要多次生成就需要清空生成的列表
用到clear方法。:
private void button1_Click_1(object sender, EventArgs e)
{
this.lvlist.Clear();
}
这样基本就完成了这个程序的雏形
代码复审:没有问题 5minutes
测试:
进行测试,程序健康没有错误。
总工作时间:6小时30分钟
心得
程序是一点点写出来的,这点真的是深有体会。