计应191西第5组李成帅

小学生100以内加减法口算题卡

一.计划

1.创建规定算数题范围函数,即和不大于100,差不小于0

2.显示开始界面,选择答题界面开始,显示所用时间。

3.显示对错的数据,并计算出正确率。

二、开发

1、需求分析:

作为一名一年级学生家长,由于疫情原因,孩子们在家老师要求家长出100以内的 数学算题帮助孩子们做练习 ,因此我希望出一款能出题,并判断对错,算出正确率的软件 来解决我的家庭负担 。

2.生成设计文档

3.设计复审

运行程序,修改错误。

4.代码规范

命名规范,代码缩进。

5.具体设计

系统开始,随机产生加法或者减法,计算完成后,显示正确题数,正确率以及所花费的时间,系统结束

6.具体代码

using System;

using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;


namespace FormProject
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}

/// <summary>
/// 等于按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
//char.IsNumber判断是否为数字,这里只假设都是整数的情况下
//for (int i = 0; i < textBox1.Text.Length; i++)
//{
// if (char.IsNumber(textBox1.Text,i))
// {
// int n1 = Convert.ToInt32(textBox1.Text.Trim());
// }
// else
// {
// MessageBox.Show("只支持整数运算");
// }
//}
//采集数据
int n1 = Convert.ToInt32(textBox1.Text.Trim());
int n2 = int.Parse(textBox2.Text.Trim());
if (comboBox1.SelectedIndex == 0)
{
MessageBox.Show("请选择一个操作符再进行运算!");
}
else
{
int s = 0;
switch (comboBox1.Text)
{
case "+":
s = n1 + n2;
break;
case "-":
s = n1 - n2;
break;
case "*":
s = n1 * n2;
break;
case "/":
if (n2 == 0)
{
MessageBox.Show("除数不能为零!");
}
else
{
s = n1 / n2;
}
break;
default:
MessageBox.Show("未知的运算!");
break;
}
label1.Text = s.ToString();
}
}
/// <summary>
/// 窗体加载时
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form2_Load(object sender, EventArgs e)
{
//给下拉列表框设置默认值
this.comboBox1.SelectedIndex = 0;
}
}
}

用面向对象来实现简易计算器:

添加一个计算类:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Calculate
{
public class Cal
{
public double Num1
{
get;
set;
}
public double Num2
{
get;
set;
}


public double Calcu(string operate)
{
double sum = 0;
switch(operate)
{
case "+":
sum = this.Num1 + this.Num2;
break;
case "-":
sum = this.Num1 - this.Num2;
break;
case "*":
sum = this.Num1 * this.Num2;
break;
case "/":
sum = this.Num1 / this.Num2;
break;
}
return sum;
}
}
}

窗体直接引用这个类的实例:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Calculate
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}


private void button1_Click(object sender, EventArgs e)
{
Cal cal = new Cal();
cal.Num1 = Convert.ToInt32(textBox1.Text.Trim());
cal.Num2 = int.Parse(textBox2.Text.Trim());
if (comboBox1.SelectedIndex == 0)
{
MessageBox.Show("请选择一个操作符后再执行计算!");
}
else
{
label1.Text = cal.Calcu(comboBox1.Text).ToString();
}
}


private void Form1_Load(object sender, EventArgs e)
{
comboBox1.SelectedIndex = 0;
}
}
}

任务内容 计划共完成需要的时间(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

 

总结:在这次的个人项目开发中,完成了项目基本的需求,在与开发过程中和组员并有着积极的交流。

但有些地方还是很生疏,需要勤加练习。

上一篇:5x5卷积核可以用2个3x3卷积核替代的原因


下一篇:安装sphinx报错(undefined reference to `libiconv_open' 、undefined reference to `libiconv'、undefined reference to `libiconv_close'、make[1]: *** No rule to make target `all'. Stop. 、make: *** [all-recursive