Calculator.cs

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5   /// <summary>
 6   ///Calculator 的摘要说明
 7   /// </summary>
 8 public abstract class Calculator
 9 {
10     public abstract double Cal(double x, double y);
11 }
12 
13     public class Add : Calculator                //接口法运算
14     {
15         public override double Cal(double x, double y)     //重写
16         {
17             double result = 0;
18             result = x + y;
19             return result;
20         }
21     }
22     public class Sub : Calculator
23     {
24         public override double Cal(double x, double y)
25         {
26             double result = 0;
27             result = x - y;
28             return result;
29         }
30     }
31     public class Mul : Calculator
32     {
33         public override double Cal(double x, double y)
34         {
35             double result = 0;
36             result = x * y;
37             return result;
38         }
39     }
40     public class Div : Calculator
41     {
42         public override double Cal(double x, double y)
43         {
44             double result = 0;
45             result = x / y;
46             return result;
47         }
48     }
49     public class Opear           //定义运算符
50     {
51         private Calculator calculate = null;          //实例化一个基类的引用对象
52         public Opear(Calculator calculator)         //calculator为派生类的一个对象
53         {
54             this.calculate = calculator;                  //把派生类的对象赋给基类的引用对象
55         }
56         public double Cal(double x, double y, String op)
57         {
58             return this.calculate.Cal(x, y);         //返回计算结果
59         }
60     }

 

ASP.net后台代码:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using System.Web.UI;
 6 using System.Web.UI.WebControls;
 7 public partial class Default2 : System.Web.UI.Page
 8 {
 9     protected void Page_Load(object sender, EventArgs e)
10     {
11 
12     }
13     protected void Button1_Click(object sender, EventArgs e)
14     { 
15          string op = DropDownList1.SelectedItem.ToString();
16          double x = Convert.ToDouble(TextBox1.Text); 
17          double y = Convert.ToDouble(TextBox2.Text);
18         
19          Opear opear =null;
20          if (DropDownList1.SelectedIndex == 0)
21          {
22              opear = new Opear(new Add());    
23          }
24          else if (DropDownList1.SelectedIndex == 1)
25          {
26            opear  = new Opear(new Sub());    
27          }
28          else if (DropDownList1.SelectedIndex == 2)
29          {
30              opear = new Opear(new Mul());
31          }
32          else if (DropDownList1.SelectedIndex == 3)
33          {
34              opear = new Opear(new Div());
35          }
36          string answer = opear.Cal(x, y, op).ToString(); 
37          string result = TextBox1.Text + DropDownList1.SelectedItem.ToString() + TextBox2.Text;
38          if (TextBox4.Text == answer)                                 
39          {
40              Response.Write("<script>alert('回答正确!')</script>");          
41              ListBox1.Items.Add(result + "=" + TextBox4.Text.Trim());
42          }
43  
44          else                                                       
45          {
46              Response.Write("<script>alert('答题错误!')</script>");          
47              ListBox1.Items.Add(result + "=" + TextBox4.Text.Trim());  
48          }
49          TextBox1.Text = "";             
50          TextBox2.Text = "";
51          TextBox4.Text = "";  
52      }
53     }

 

运行结果:

运行界面:

 

posted on 2015-11-29 19:29  紫色蔷薇ˇ  阅读(341)  评论(2编辑  收藏  举报