您的位置:首页 > 其它

计算器简单封装

2015-11-21 10:55 381 查看
场景故事
1、背景
1)典型用户:老陈【主要】、小石头【次要】。

【老陈】



【小石头】



2)用户的需求
老陈:a.可以自己输入题数,让孩子进行计算。
b.当输入错误时程序可以给出提示。
c.程序可以自行统计孩子的计算情况。
d.孩子错误时程序及时给出提示
2场景
老陈:要把题目输入进去
小石头:要计算题目
3场景故事
老陈作为一名工作繁忙没有时间对孩子进行辅导的家长来说,希望有这样一个程序既可以帮助自己辅导孩子,

以便自己可以腾出时间去完成自己的工作,并且可以让孩子的学习得到提高。

小石头作为一名小学二年级的学生,希望通过软件来完成自己的家庭作业作业,

得到肯定,最重要的是可以早点完成作业有时间出去玩。
【用例图】



添加一个新类Calculate

namespace Prodogy

{
class Calculate//类名
{
public string type = "";//运算类型
public double sum;//计算结果
private double a;//第一个数

public double A//封装字段
{
get { return a; }
set { a = value; }
}
private double b;//第二个数字段封装

public double B
{
get { return b; }
set { b = value; }
}
public void Add()//加法计算方法
{
if (type=="+")
{
sum=a + b;
}
}
public void Sub()//减法计算方法
{
if (type=="-")
if(a<b)
{
MessageBox.Show("第一个数大于第二个数");}
else
{
sum = a - b;
}
}
public void Mul()//乘法计算方法
{
if (type=="*")
{
sum = a * b;
}

}
public void Div()//除法计算方法
{
if (type=="/")
{
sum = a / b;
}
}
public void Mod()//取模计算方法
{
if (type=="%")
{
sum = a % b;
}}

}
Form1中调用
先实例化一个cal对象





引用实例化成员



cal.A = double.Parse(txtone.Text);
cal.B = double.Parse(txttwo.Text);
cal.sum = sum; ;
cal.type = typ1.Text;//调用类成员
type = typ1.Text;
cal.Add();//加法
cal.Sub();//减法
cal.Mul();//乘法
cal.Div();//除法
cal.Mod();//取模






出题



保存:

private void Savebt_Click(object sender, EventArgs e)
{
SaveFileDialog TxtSaveDialog = new SaveFileDialog();
TxtSaveDialog.Filter = "RTF文件(*.RTF)|*.RTF";
if (File.Exists(path))
{

this.richTextBox1.LoadFile(path, RichTextBoxStreamType.RichText);
MessageBox.Show("保存成功", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
this.richTextBox1.Clear();
Savebt.Enabled = false;
}
else
{
if (TxtSaveDialog.ShowDialog() == DialogResult.OK)
{

this.richTextBox1.SaveFile(TxtSaveDialog.FileName, RichTextBoxStreamType.RichText);
MessageBox.Show("保存成功", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
this.richTextBox1.Clear();
Savebt.Enabled = false;
}
}
}




打开;

private void offertstbt_Click(object sender, EventArgs e)
{
richTextBox2.Text = richTextBox1.Text;
richTextBox1.Text = "";
createbt.Text = "出题";
createbt.Enabled = false;
}




计算情况;

if (e.KeyCode==Keys.Enter)
{

if (txtresult.Text ==cal.sum.ToString())
{
right++;
MessageBox.Show("回答正确");
txtone.Text = "";
txttwo.Text = "";
//txtthree.Text = "";
txtresult.Text = "";
typ1.Text = "";
//typ2.Text = "";
}
else {
MessageBox.Show("回答错误");
txtone.Text = "";
txttwo.Text = "";
//txtthree.Text = "";
txtresult.Text = "";
typ1.Text = "";
//typ2.Text = "";
}
question++;
}

From2:

private void Form2_Load(object sender, EventArgs e)
{
txtquestion.Text = Form1.question.ToString();
txtright.Text = Form1.right.ToString();
txtrighrLv.Text=((Form1.right/(double)(Form1.question))*100).ToString()+"%";
}






[b]总结:[/b]

一开始是由老师布置得一个小小的计算器作业。我很喜欢老师布置的这个作业。这个作业虽然很简单,但是他给了我很多机会去练习。让我从这里面里点一点汲取;

一开始连最基本的语法都不懂,老实讲的我听着也是一头雾水,不过,我庆幸我比较爱刨根问底,不到黄河比死心的精神,哈哈。我一步一步去练,去敲代码。我重

复很多次,感谢每次出错,这会让我学习。还有很多不完善的地方,我继续加油。看到敲出来的一行行的代码,运行出来的惊喜,我喜欢这种感觉。加油,我继续完善。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: