Calculation Exercise-Strategy mode

Source: Internet
Author: User
Tags mul

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

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.