四则运算的封装

 封装:

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();
        }
    }
}


测试结果:

 

posted @ 2015-11-29 16:17  古岑分析  阅读(218)  评论(1编辑  收藏  举报