您的位置:首页 > 其它

四则运算的封装

2015-11-29 16:17 134 查看
封装:

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

namespace 软件工程作业
{
class Enclosure
{
private double x;//第一个数

public double X
{
get { return x; }
set { x = value; }
}
private double y;//第二个数

public double Y
{
get { return y; }
set { y = value; }
}
public double result;//计算结果
public string opera = "";//计算符号
public void Add()//加法
{
if (opera=="+")
{
result = X + Y;

}
}
public void Sub()
{
if (opera == "-")
{
result = X - Y;

}
}
public void Mul()
{
if (opera == "*")
{
result = X * Y;

}

}
public void Div()
{
if (opera == "/")
{
result = X / Y;

}
}
}
}


Form1:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace 软件工程作业
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
string path = "./test1.rtf";//保存文件路径
public static int Count = 0;//题目总数
public int a = 60;//测试时间为60s
public static int right = 0;//正确题目数
public static double result = 0;

private void button1_Click(object sender, EventArgs e)
{
label4.Text = a.ToString();
timer1.Enabled = true;
timer1.Interval = 1000;
timer1.Start();
}

private void timer1_Tick(object sender, EventArgs e)
{
if (a <= 0)
{
timer1.Enabled = false;
textBox3.Enabled = false;
MessageBox.Show("时间到!");
textBox3.Enabled = false;
Form2 frm2 = new Form2();
frm2.ShowDialog();
}
a = a - 1;
label4.Text = a.ToString();
}

private void button5_Click(object sender, EventArgs e)
{
timer1.Stop();
Form2 frm2 = new Form2();
frm2.ShowDialog();
}

private void textBox3_KeyDown(object sender, KeyEventArgs e)
{
Enclosure enc = new Enclosure();//实例化一个对象
enc.X = double.Parse(textBox1.Text);//第一个数
enc.Y = double.Parse(textBox2.Text);//第二个数
enc.opera = label3.Text;//运算符号
enc.result = result;//结果
enc.Add();
enc.Sub();
enc.Mul();
enc.Div();

if (e.KeyCode == Keys.Enter)//判断计算情况
{
if (textBox3.Text ==enc.result.ToString())
{
right++;

MessageBox.Show("回答正确!");
richTextBox1.Text += textBox1.Text + label3.Text + textBox2.Text + label5.Text + textBox3.Text;
}
else
{
MessageBox.Show("回答错误!");
}
Count++;
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();

}

}

private void button2_Click(object sender, EventArgs e)
{
label3.Text = "+";
}

private void button3_Click(object sender, EventArgs e)
{
label3.Text = "-";
}

private void button4_Click(object sender, EventArgs e)
{
label3.Text = "*";
}

private void button6_Click(object sender, EventArgs e)
{
label3.Text = "/";
}

private void Form1_Load(object sender, EventArgs e)
{
if (File.Exists(path))
{
this.richTextBox1.LoadFile(path, RichTextBoxStreamType.RichText);
Open.Enabled = false;
}
Save.Enabled = false;

}
//保存,打开, richTextBox1
private void OPen_Click(object sender, EventArgs e)
{
OpenFileDialog TxTOpenDialog = new OpenFileDialog();
TxTOpenDialog.Filter = "RTF文件(*.RTF)|*.RTF";
if (TxTOpenDialog.ShowDialog() == DialogResult.OK)
{
path = TxTOpenDialog.FileName;
this.richTextBox1.LoadFile(TxTOpenDialog.FileName, RichTextBoxStreamType.RichText);
Save.Enabled = false;
Open.Enabled = false;
MessageBox.Show("读取成功!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
}

private void Save_Click(object sender, EventArgs e)
{
SaveFileDialog TxTSaveDialog = new SaveFileDialog();
TxTSaveDialog.Filter = "RTF文件(*.RTF)|*.RTF";
if (File.Exists(path))
{
this.richTextBox1.SaveFile(path, RichTextBoxStreamType.RichText);
MessageBox.Show("保存成功!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
this.richTextBox1.Clear();
Save.Enabled = false;

}
else
{
if (TxTSaveDialog.ShowDialog() == DialogResult.OK)
{
this.richTextBox1.SaveFile(TxTSaveDialog.FileName, RichTextBoxStreamType.RichText);
MessageBox.Show("保存成功!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
this.richTextBox1.Clear();
Save.Enabled = false;

}
}
}

private void richTextBox1_TextChanged(object sender, EventArgs e)
{
Save.Enabled = true;
if (this.richTextBox1.Text == "" || this.richTextBox1.Text == null)
{
Open.Enabled = true;
}
}
}

}


Form2:

using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace 软件工程作业
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}

private void Form2_Load(object sender, EventArgs e)
{
textBox1.Text = Form1.Count.ToString();
textBox2.Text = Form1.right.ToString();
textBox3.Text = (Form1.Count - Form1.right).ToString();
}
}
}


测试结果:







内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: