• 四则运算的封装


     封装:

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


    测试结果:

  • 相关阅读:
    PCB 设计文件中哪些可以不做成元件
    IAR 9+ 编译 TI CC2541 出现 Segment ISTACK (size: 0xc0 align: 0) is too long for segment definition.
    每日一条 git 命令行:git clone https://xxxxx.git -b 12.0 --depth 1
    FastAdmin Bootstrap-table 特定某行背景变红
    如何查看 ThinkPHP5.1 的升级说明
    Windows 2008 关闭远程桌面的单用户多会话模式
    来测试一下你的“金耳朵”
    笔记:关于网站的流量攻击
    排序算法视频 《6 分钟演示 15 种排序算法》
    【转】移动web页面支持弹性滚动的3个方案
  • 原文地址:https://www.cnblogs.com/su-laicui155655/p/5004908.html
Copyright © 2020-2023  润新知