zoukankan      html  css  js  c++  java
  • 封装,策略模式,Asp换脸

    1.简单封装

    1》计算类

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace 计算
    {
        class operater1
        {
            private int x;
            private int y;
            private string opers;
            private int answer;
            public int X
            {
                set
                {
                    x = value;
                }
            }
            public int Y
            {
                set
                {
                    y = value;
                }
            }
            public string Opers
            {
                set
                {
                    opers = value;
                }
            }
            public int Answer
            {
                get
                {
                    return answer;
                }
            }
            public void operation()
            {
                switch (opers)
                {
                    case "+":
                        answer = x + y;
                        break;
                    case "-":
                        if (x > y)
                        {
                            answer = x - y;
                        }
                        else
                        {
                            throw new Exception("被减数不能小于减数!");
                           
                        }
                        break;
                    case "*":
                        answer = x * y;
                        break;
                    case "/":
                        if (y == 0)
                        {
                            throw new Exception("除数不能为零!");
                        }
                        else
                        {
                            answer = x / y;
                        }
                        break;
                        
                }
                
     
            }
        }
    
    }
    

     2》写入类

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.IO;
    
    namespace 计算
    {
        class writes
        {
            public void inscribe(string a, string b)
            {
    
                StreamWriter aaa = new StreamWriter(a, true);
                aaa.WriteLine(b);
                aaa.Close();
    
            }
            public void cleanup(string c, string d,string e)
            {
                StreamWriter ddd = new StreamWriter(c);
                ddd.WriteLine(" ");
                ddd.Close();    
                StreamWriter aaa = new StreamWriter(d);
                aaa.WriteLine("");
                aaa.Close(); 
                StreamWriter fff = new StreamWriter(e);
                fff.WriteLine("");
                fff.Close();
            }
        }
    }
    

     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();
            }
    
            private void button1_Click(object sender, EventArgs e)//写入
            {
                writes writ = new writes();
                string fnm = @"one";
                string text1=this.textBox1.Text;          
                writ.inscribe(fnm, text1);
                string fnmm = @"tow";
                string text2 = this.textBox2.Text;
                writ.inscribe(fnmm, text2);
                string fnm1 = @"fuhao";
                string text3 = this.comboBox1.Text;
                writ.inscribe(fnm1, text3);
                    textBox1.Clear();
                    textBox2.Clear();
                                     
            }
    
            private void button2_Click(object sender, EventArgs e)
            {
                Form2 fam = new Form2();
                fam.ShowDialog();
             
            }
    
            private void button3_Click(object sender, EventArgs e)//清空题库
            {
                string a = @"tow";     
                string b = @"one";
                string c = @"fuhao";
                writes clean = new writes();
                clean.cleanup(a, b, c);
            }
          
     
            }
        }
    

     form2代码

    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 Form2 : Form
        {
            public Form2()
            {
                InitializeComponent();
            }
    
         
           private int i = 1;
           public static int count;
           public static int right;
            private void timer1_Tick(object sender, EventArgs e)
            {
                try
                {
                    int t = int.Parse(textBox5.Text);
                    if (t <= 0)
                    {
                        timer1.Enabled = false;
                        textBox5.Enabled = false;
                        MessageBox.Show("时间到了!");
                        Form3 fr3 = new Form3();
                        fr3.ShowDialog();
                    }
                    t = t - 1;
                    textBox5.Text = t.ToString();
    
                }
                catch
                { 
                }
    
            }
            private void button1_Click(object sender, EventArgs e)//开始
            {
                butt();
                try
                {
                    string t = textBox5.Text;
                    textBox5.Text = t;
                    timer1.Enabled = true;
                    timer1.Interval = 1000;
                    timer1.Start();
                }
                catch
                { 
                }
    
               
          
            }
            private void textBox4_KeyDown(object sender, KeyEventArgs e)//后台代码的应用
            {                      
                if (e.KeyCode == Keys.Enter)
                {
                   
                    operater1 operater = new operater1();
                    operater.X = int.Parse(textBox1.Text);
                    operater.Y = int.Parse(textBox3.Text);
                    operater.Opers = textBox2.Text;
                    operater.operation();              
                    if (textBox4.Text == operater.Answer.ToString())
                    {
                        MessageBox.Show("回答正确!");
                        right++;
                    }
                    else
                    {
                        MessageBox.Show("回答错误!");
                    }
                    count++;
                    textBox4.Clear();
                    butt();      
                   
                  
                  
                }
                
                
            }//用户的输入
            private void button2_Click(object sender, EventArgs e)//停止
            {
                textBox4.Enabled=false;
    
            }
            private void butt()
            {
                string[] line = File.ReadAllLines("one");
                if (i < line.Length)
                {
                    textBox1.Text = line[i];
                    string[] lines = File.ReadAllLines("tow");
                    textBox3.Text = lines[i];
                    string[] lin = File.ReadAllLines("fuhao");
                    textBox2.Text = lin[i];
    
                }
                i++;
                if (i == line.Length + 1)
                {
                    Form3 foo = new Form3();
                    foo.ShowDialog();
                }
    
    
    
            }//读题
            private void button3_Click(object sender, EventArgs e)
            {
                this.Close();
            }//关闭窗体
    
        }
    }
    

     2.策略模式

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace 计算
    {
        interface operater1
        {
        
            int calculate(int a, int b);
    
        }
        class Add : operater1
        {
    
            public int calculate(int a, int b)
            {
    
                return a + b;
    
            }
    
        }
        class Sub : operater1
        {
            public int calculate(int a, int b)
            {
                return a - b;
            }
        }
        class Mul : operater1
        {
            public int calculate(int a, int b)
            {
                return a * b;
            }
        }
        class Div : operater1
        {
            public int calculate(int a, int b)
            {
                if (b == 0)
                {
                    throw new Exception("除数不能为零!");
                }
                else
                {
                    return a / b;
                }
            }
        }
    }
        
    

    实现策略

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace 计算
    {
        public class Clacuter
        {
            private operater1 oper1;
            public Clacuter(string aSS)
            {
                switch (aSS)
                {
                    case "+":
                        oper1 = new Add();
                        break;
                    case "-":
                        oper1 = new Sub();
                        break;
                    case "*":
                        oper1 = new Mul();
                        break;
                    case "/":
                        oper1 = new Div();
                        break;
                }
    
    
    
    
    
            }
            public int Calculation(int a,int b)
            {
                return oper1.calculate(a, b);
            }
        }
    }
    

    2,》写入类

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.IO;
    
    namespace 出题
    {
        class writes
        {
            public void inscribe(string a, string b)
            {
    
                StreamWriter aaa = new StreamWriter(a, true);
                aaa.WriteLine(b);
                aaa.Close();
    
            }
            public void cleanup(string c, string d,string e)
            {
                StreamWriter ddd = new StreamWriter(c);
                ddd.WriteLine(" ");
                ddd.Close();    
                StreamWriter aaa = new StreamWriter(d);
                aaa.WriteLine("");
                aaa.Close(); 
                StreamWriter fff = new StreamWriter(e);
                fff.WriteLine("");
                fff.Close();
            }
        }
    }
    

     3》form2代码

    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 Form2 : Form
        {
            public Form2()
            {
                InitializeComponent();
            }
    
         
           private int i = 1;
           public static int count;
           public static int right;
            private void timer1_Tick(object sender, EventArgs e)
            {
                try
                {
                    int t = int.Parse(textBox5.Text);
                    if (t <= 0)
                    {
                        timer1.Enabled = false;
                        textBox5.Enabled = false;
                        MessageBox.Show("时间到了!");
                        Form3 fr3 = new Form3();
                        fr3.ShowDialog();
                    }
                    t = t - 1;
                    textBox5.Text = t.ToString();
    
                }
                catch
                { 
                }
    
            }
            private void button1_Click(object sender, EventArgs e)//开始
            {
                butt();
                try
                {
                    string t = textBox5.Text;
                    textBox5.Text = t;
                    timer1.Enabled = true;
                    timer1.Interval = 1000;
                    timer1.Start();
                }
                catch
                { 
                }
    
               
          
            }
            private void textBox4_KeyDown(object sender, KeyEventArgs e)//策略模式代码的实现
            {                      
                if (e.KeyCode == Keys.Enter)
                {
                    Clacuter clacuter=new Clacuter(textBox2.Text);
                    int B = clacuter.Calculation(int.Parse(textBox1.Text), int.Parse(textBox3.Text));
                  
                    if (textBox4.Text ==B.ToString())
                    {
                        MessageBox.Show("回答正确!");
                        right++;
                    }
                    else
                    {
                        MessageBox.Show("回答错误!");
                    }
                    count++;
                    textBox4.Clear();
                    butt();      
                   
                  
                  
                }
                
                
            }//用户的输入
            private void button2_Click(object sender, EventArgs e)//停止
            {
                textBox4.Enabled=false;
    
            }
            private void butt()
            {
                string[] line = File.ReadAllLines("one");
                if (i < line.Length)
                {
                    textBox1.Text = line[i];
                    string[] lines = File.ReadAllLines("tow");
                    textBox3.Text = lines[i];
                    string[] lin = File.ReadAllLines("fuhao");
                    textBox2.Text = lin[i];
    
                }
                i++;
                if (i == line.Length + 1)
                {
                    Form3 foo = new Form3();
                    foo.ShowDialog();
                }
    
    
    
            }//读题
            private void button3_Click(object sender, EventArgs e)
            {
                this.Close();
            }//关闭窗体
    
        }
    }
    

    3.Asp换脸

    1》后台代码

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    
    /// <summary>
    ///operater1 的摘要说明
    /// </summary>
    interface operater1
    {
    
        int calculate(int a, int b);
    
    }
    class Add : operater1
    {
    
        public int calculate(int a, int b)
        {
    
            return a + b;
    
        }
    
    }
    class Sub : operater1
    {
        public int calculate(int a, int b)
        {
            return a - b;
        }
    }
    class Mul : operater1
    {
        public int calculate(int a, int b)
        {
            return a * b;
        }
    }
    class Div : operater1
    {
        public int calculate(int a, int b)
        {
            if (b == 0)
            {
                throw new Exception("除数不能为零!");
            }
            else
            {
                return a / b;
            }
        }
    }
     public class Clacuter
        {
            private operater1 oper1;
            public Clacuter(string aSS)
            {
                switch (aSS)
                {
                    case "+":
                        oper1 = new Add();
                        break;
                    case "-":
                        oper1 = new Sub();
                        break;
                    case "*":
                        oper1 = new Mul();
                        break;
                    case "/":
                        oper1 = new Div();
                        break;
                }
    
    
    
    
    
            }
            public int Calculation(int a,int b)
            {
                return oper1.calculate(a, b);
            }
        }
    

    web代码

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    public partial class Default2 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                chuti();
            }
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            int a = int.Parse(TextBox1.Text);
            int b = int.Parse(TextBox2.Text);
            Clacuter claacuter = new Clacuter(TextBox3.Text);
            string answer = claacuter.Calculation(a, b).ToString();
            if (TextBox4.Text == answer)
            {
                Response.Write("回答正确!");
            }
            else
            {
                Response.Write("回答错误!");
                Response.Write(answer);
            }
        
        }
        protected void Button2_Click(object sender, EventArgs e)
        {
            chuti();
        }
        private void chuti()
        {
            Random random = new Random();
            TextBox1.Text = random.Next(1, 100).ToString();
            TextBox2.Text = random.Next(1, 100).ToString();
            string[] arry = new string[] { "+", "-", "*", "/" };
            TextBox3.Text = arry[random.Next(0, 4)];
    
        }
    }
    

    运行图片

  • 相关阅读:
    Erlang 杂记 IV
    ASP.NET MVC的View是如何被呈现出来的?[设计篇]
    面向对象—在线文件管理模块
    软件开发中个人在团队里的效绩评定
    用go语言遍历文件夹
    磁盘缓存的算法:写算法
    一种Lua到C的封装
    从信息系统界面设计引发的思考
    基于Backbone.js的JavaScript MVC示例程序
    C和C++
  • 原文地址:https://www.cnblogs.com/lizanqirxx/p/4995795.html
Copyright © 2011-2022 走看看