zoukankan      html  css  js  c++  java
  • 混合运算改进(代码)

    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;
    
    namespace 算
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
            //定义变量
            public static int count = -1;
            public static int right = 0;
            public static int sun;
            public static int shi = 0;
            //产生随机数
            private void suiji() 
            {
                Random ra = new Random();
                int h = int.Parse(textBox4.Text) + 1;
                int j = int.Parse(textBox5.Text);
                int a, b, c;
                a = ra.Next(h, j);
                b = ra.Next(h, a);
                c = ra.Next(a, j);
                label2.Text = a.ToString();
                label4.Text = b.ToString();
                label7.Text = c.ToString();           
                textBox1.Text = "";
                count++;
            }
            //随机产生加减乘除
            private void suanfa()
            {
                string[] oper = new string[] { "+", "-", "*", "/" };
                string f = oper[new Random().Next(0, 4)];
                string h = oper[new Random().Next(0, 4)];
                label3.Text = f;
                label6.Text = h;
     
            }
            //得到正确答案!
            private void zhenque()
            {
               
                if (comboBox1.Text == "前两个加括号")
                {
                   
                }
                if (comboBox1.Text == "不加括号")
                {
                    kuohao()
                }
                if (comboBox1.Text == "后两个加括号")
                {
                    
                }
            }
    
            private void timer1_Tick(object sender, EventArgs e)
            {
                if (shi <= 0)
                {
                    timer1.Enabled = false;
                    textBox1.Enabled = false;
                    MessageBox.Show("时间到!");
                    Form2 da = new Form2();
                    da.ShowDialog();
    
                }
    
    
                shi = shi - 1;
                textBox2.Text = shi.ToString();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                shi = int.Parse(textBox2.Text);
                textBox2.Text = shi.ToString();
                timer1.Enabled = true;
                timer1.Interval = 1000;
                timer1.Start();
                suiji();
                suanfa();
    
            }
    
            private void textBox1_KeyDown(object sender, KeyEventArgs e)
            {
                if (e.KeyCode == Keys.Enter)
                {
                    //判定数字是否合法!
                    int i = 0;
                    string an = textBox1.Text;
                    if (int.TryParse(an, out i) == false)
                    {
                        MessageBox.Show("你输得的数字不合法!");
    
                    }
                    //判定是否正确
                    zhenque();
    
                    if (textBox1.Text == sun.ToString())
                    {
                        right++;
                    }
                    suiji();
                    suanfa();
                    //判断是否达到总题数
                    int q = int.Parse(textBox3.Text);
                    if (count == q)
                    {
                        timer1.Enabled = false;
                        textBox3.Enabled = false;
                        Form2 da = new Form2();
                        da.ShowDialog();
                    }
    
                }
    
            }
    
            private void button2_Click(object sender, EventArgs e)
            {
                timer1.Enabled = false;
                textBox3.Enabled = false;
                Form2 da = new Form2();
                da.ShowDialog();
            }
    
            private void button3_Click(object sender, EventArgs e)
            {
                this.Close();
            }
    
            private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
            {
                string a=comboBox1.Text;
                if (a == "前两个加括号")
                {
                    av("(",")","" ,"" );
                }
                if (a == "后两个加括号")
                {
                    av("", "", "(", ")");
                }
                if (a == "不加括号")
                {
                    av("", "", "", "");
                }
             
            }
            private  void kuohao()
            {
                string f = label3.Text;
                String g = label6.Text;
                int x= int.Parse(label2.Text);
                int y=int.Parse(label4.Text);
                int z= int.Parse(label7.Text);
                string fg = f + g;
                switch (fg)
                {
                    case "++":
                        sun =x+y+z;
                        break;
                    case "+-":
                        sun = x + y - z;
                        break;
                    case "+*":
                        sun = x + y * z;
                        break;
                    case "+/":
                        sun = x +y / z;
                        break;
                    case "-+":
                        sun = x-y +z;
                        break;
                    case "--":
                        sun = x- y - z;
                        break;
                    case "-*":
                        sun =  x- y * z;
                        break;
                    case "-/":
                        sun =  x- y / z;
                        break;
                    case "*+":
                        sun =  x* y +z;
                        break;
                    case "*-":
                        sun =  x* y-z;
                        break;
                    case "**":
                        sun = x*  y* z;
                        break;
                    case "*/":
                        sun =  x*  y/ z;
                        break;
                    case "/+":
                        sun =  x/ y+ z;
                        break;
                    case "/-":
                        sun = x/  y- z;
                        break;
                    case "/*":
                        sun =  x/  y*z;
                        break;
                    case "//":
                        sun =  x/ y / z;
                        break;
    
                }
    
     
            }
            private void av(string va1,string va2,string va3,string va4)
            {
                label1.Text = va1;
                label5.Text = va2;
                label14.Text = va3;
                label15.Text = va4;
     
            }
           
          
        }
    }
    

     总结

    这样写感觉很轻松也很整齐,没有的代码的重复性!代码也简洁了不少,就像老师说的一样有一些代码美,虽然还不够完善!不够美!

    还有就是上面的代码有一个地方没有实现,就是有无括号写的正确判断!所以也没有引用自定义的方法!

            private void zhenque()
            {
              
                if (comboBox1.Text == "前两个加括号")
                {
                  
                }
                if (comboBox1.Text == "不加括号")
                {
                   
                }
                if (comboBox1.Text == "后两个加括号")
                {
                   
                }
            }
    不知道怎么给自定义的方法传括号的参数
       private  void kuohao()
            {
                string f = label3.Text;
                String g = label6.Text;
                int x= int.Parse(label2.Text);
                int y=int.Parse(label4.Text);
                int z= int.Parse(label7.Text);
                string fg = f + g;
                switch (fg)
                {
                    case "++":
                        sun =x+y+z;
                        break;
                    case "+-":
                        sun = x + y - z;
                        break;
                    case "+*":
                        sun = x + y * z;
                        break;
                    case "+/":
                        sun = x +y / z;
                        break;
                    case "-+":
                        sun = x-y +z;
                        break;
                    case "--":
                        sun = x- y - z;
                        break;
                    case "-*":
                        sun =  x- y * z;
                        break;
                    case "-/":
                        sun =  x- y / z;
                        break;
                    case "*+":
                        sun =  x* y +z;
                        break;
                    case "*-":
                        sun =  x* y-z;
                        break;
                    case "**":
                        sun = x*  y* z;
                        break;
                    case "*/":
                        sun =  x*  y/ z;
                        break;
                    case "/+":
                        sun =  x/ y+ z;
                        break;
                    case "/-":
                        sun = x/  y- z;
                        break;
                    case "/*":
                        sun =  x/  y*z;
                        break;
                    case "//":
                        sun =  x/ y / z;
                        break;

                }

  • 相关阅读:
    Button与ImageButton的区别
    TCP、HTTP、Socket
    ASPX开发基础
    WebForm复杂控件
    Webform 内置对象 Session对象、Application全局对象,ViewState
    JavaScript
    .net
    postman-学习笔记
    2021第一天上班,立个flag
    js函数累加
  • 原文地址:https://www.cnblogs.com/lizanqirxx/p/4958937.html
Copyright © 2011-2022 走看看