计算器简单封装
场景故事
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()+"%"; }
总结:
一开始是由老师布置得一个小小的计算器作业。我很喜欢老师布置的这个作业。这个作业虽然很简单,但是他给了我很多机会去练习。让我从这里面里点一点汲取;
一开始连最基本的语法都不懂,老实讲的我听着也是一头雾水,不过,我庆幸我比较爱刨根问底,不到黄河比死心的精神,哈哈。我一步一步去练,去敲代码。我重
复很多次,感谢每次出错,这会让我学习。还有很多不完善的地方,我继续加油。看到敲出来的一行行的代码,运行出来的惊喜,我喜欢这种感觉。加油,我继续完善。