Calculate calculation class;
Public Abstract classCalculate//Abstract class Calculate { Private DoubleA//First Number Public DoubleA//Encapsulate Fields { Get{returnA;} Set{a =value;} } Private Doubleb//second digit segment encapsulation Public DoubleB {Get{returnb;} Set{b =value;} } Public Doubleresult; Public Virtual DoubleResult () {returnresult; } } Public classAdd:calculate { Public Override Doubleresult () {result= A +B; returnresult; } } Public classSub:calculate { Public Override Doubleresult () {result= A-B; returnresult; } } Public classMul:calculate { Public Override Doubleresult () {result= A *B; returnresult; } } Public classDiv:calculate { Public Override DoubleResult () {if(A = =0) {MessageBox.Show ("the denominator cannot be zero"); } result= A/B; returnresult; } } Public classMod:calculate { Public Override DoubleResult () {if(A = =0) {MessageBox.Show ("the denominator cannot be zero"); } result= A%B; returnresult; } } Public classCalculate { Public StaticCalculate Cal (stringtype) {Calculate cal=NULL; Switch(type) { Case "+": Cal=NewADD ();//Additive Policy Mode Break; Case "-": Cal=NewSub (); Break; Case "*": Cal=NewMul (); Break; Case "/": Cal=NewDiv (); Break; Case "%": Cal=NewMod (); Break; default: Break; } returnCal; } }}
Form1 Code
Private voidTxtresult_keydown (Objectsender, KeyEventArgs e) {Calculate cal=NULL; stringTyp = Typ1. Text.tostring ();//invoking a class memberCal =calculate. Cal (Typ); Cal. A=convert.todouble (Txtone. Text); Cal. B=convert.todouble (txttwo. Text); stringresult =Convert.ToString (Cal. Result ()); //Judging the calculation situation if(e.keycode==keys.enter) {if(Txtresult. Text = =result. ToString ()) { Right++; MessageBox.Show ("Answer Right"); Txtone. Text=""; Txttwo. Text=""; //Txtthree. Text = "";Txtresult. Text =""; Typ1. Text=""; //TYP2. Text = ""; } Else{MessageBox.Show ("answer the wrong"); Txtone. Text=""; Txttwo. Text=""; //Txtthree. Text = "";Txtresult. Text =""; Typ1. Text=""; //TYP2. Text = "";} question++; } }
asp
Calculate calculation class;
Public abstract class Calculate//Abstract Classes Calculate{Private double a;//first number public double a//encapsulate Field{get {returnA } set {a =Value }} private double b;//second number field encapsulates public doubleB {get {returnb } set {b =Value }} public doubleResult Public virtual DoubleResult () {returnResult }} public classadd:calculate {public override doubleResult () {result = A +B ReturnResult }} public classsub:calculate {public override doubleResult () {result = A-B ReturnResult }} public classmul:calculate {public override doubleResult () {result = A *B ReturnResult }} public classdiv:calculate {public override doubleresult () {if (A = = 0) {MessageBox.Show ("Denominator cannot be zero");} result = A/ B; return result;}} public class mod:calculate {public override double result () {if (A = = 0) {MessageBox.Show ("Denominator cannot be zero");} Result = A % B; return result;} public class calculate {public static calculate Cal (string type) {Calculate cal = null; switch (type) {case "+": cal = new ADD ();//additive policy mode break; case "-": cal = new S UB (); Break, Case "*": cal = new Mul (), Break, Case "/": cal = new Div (), Break, case "%"
: cal = new
Mod (); break; default: Break;} return cal; }}
Background Code
protected voidCalcilate_click (Objectsender, EventArgs e) {Calculate cal=NULL; stringTyp = DDLtype.SelectedValue.ToString ();//invoking a class memberCal = Calculate. Cal (Typ);//type of OperationCal. A = Convert.todouble (one. Text);//First NumberCal. B = Convert.todouble (both. Text);//Second number stringAnswer = Convert.ToString (cal. Result ());//Answer if(result.) Text = = Answer. ToString ())//Judging the results of calculations{Response.Write ("<script>alert (' answer right ') </script>"); Panel1.groupingtext= one. Text + Ddltype.selectedvalue +. Text + Label1.Text + result. Text;//put a question in a panelOne. Text =""; Both. Text=""; Result. Text=""; Ddltype.selectedvalue="Please select a calculation type"; } Else{Response.Write ("<script>alert (' answer error ') </script>"); One. Text=" "; Both. Text=" "; Result. Text=" "; Ddltype.selectedvalue="Please select a calculation type"; } panel1.visible=true; }
Calculation Exercise-Strategy mode