• 第六章,上机4


     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Threading.Tasks;
     6 
     7 namespace Shangji_4
     8 {
     9     /// <summary>
    10     /// 父类
    11     /// </summary>
    12     public class Operation
    13     {
    14         public double NumberA { get; set; }
    15         public double NumberB { get; set; }
    16         public virtual double GetResult()
    17         {
    18             double result = 0;
    19             return result;
    20         }
    21     }
    22 }
    父类
     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Threading.Tasks;
     6 
     7 namespace Shangji_4
     8 {
     9     class Additive:Operation
    10     {
    11         public override double GetResult()
    12         {
    13             double result = NumberA + NumberB;
    14             return result;
    15         }
    16     }
    17 }
    加法类
     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Threading.Tasks;
     6 
     7 namespace Shangji_4
     8 {
     9     class Subtraction:Operation
    10     {
    11         public override double GetResult()
    12         {
    13             double result = NumberA - NumberB;
    14             return result;
    15         }
    16     }
    17 }
    减法类
     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Threading.Tasks;
     6 
     7 namespace Shangji_4
     8 {
     9     class Multiplication:Operation
    10     {
    11         public override double GetResult()
    12         {
    13             double result = NumberA * NumberB;
    14             return result;
    15         }
    16     }
    17 }
    乘法类
     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Threading.Tasks;
     6 
     7 namespace Shangji_4
     8 {
     9     class Division:Operation
    10     {
    11         public override double GetResult()
    12         {
    13             if (NumberB == 0)
    14             {
    15                 throw new Exception("除数不能为0");
    16             }
    17             double result = NumberA / NumberB;
    18             return result;
    19         }
    20     }
    21 }
    除法类
     1 using System;
     2 using System.Collections.Generic;
     3 using System.ComponentModel;
     4 using System.Data;
     5 using System.Drawing;
     6 using System.Linq;
     7 using System.Text;
     8 using System.Threading.Tasks;
     9 using System.Windows.Forms;
    10 
    11 namespace Shangji_4
    12 {
    13     public partial class MainFrm : Form
    14     {
    15         public MainFrm()
    16         {
    17             InitializeComponent();
    18             this.cmbOperator.SelectedIndex = 0;
    19         }
    20 
    21         private void btnArithmetic_Click(object sender, EventArgs e)
    22         {
    23             //验证
    24             //txtNo使是用户输入的操作数
    25             if (string.IsNullOrEmpty(this.txtNo1.Text.Trim()) || string.IsNullOrEmpty(this.txtNo2.Text.Trim()) || string.IsNullOrEmpty(this.cmbOperator.Text.Trim()))
    26             {
    27                 MessageBox.Show("操作数不能为空!");
    28                 return;
    29             }
    30             //设置符号
    31             try
    32             {
    33                 Operation opr = new Operation();
    34                 switch (this.cmbOperator.SelectedItem.ToString())
    35                 {
    36                     case "+":
    37                         opr = new Additive();
    38                         break;
    39                     case "-":
    40                         opr = new Subtraction();
    41                         break;
    42                     case "*":
    43                         opr = new Multiplication();
    44                         break;
    45                     case "/":
    46                         opr = new Division();
    47                         break;
    48                 }
    49                 //设置参与计算的数据
    50                 opr.NumberA = double.Parse(this.txtNo1.Text.Trim());
    51                 opr.NumberB = double.Parse(this.txtNo2.Text.Trim());
    52                 //计算
    53                 this.lblResult.Text = opr.GetResult().ToString();
    54                 this.label1.Visible = true;
    55                 this.lblResult.Visible = true;
    56             }
    57             catch (Exception)
    58             {
    59                 
    60                 throw;
    61             }
    62         }
    63         
    64     }
    65 }
    Main
  • 相关阅读:
    【Leetcode】【hard】Binary Tree Postorder Traversal
    【Leetcode】【Easy】Contains Duplicate
    【Leetcode】【Easy】Isomorphic Strings
    【Leetcode】【Medium】Simplify Path
    【Leetcode】【Medium】Add Two Numbers
    【Leetcode】【Hard】Copy List with Random Pointer
    安装torch-opencv
    【转】ubuntu下修改文件夹权限
    Lua 中的 function、closure、upvalue
    多目标跟踪方法 NOMT 学习与总结
  • 原文地址:https://www.cnblogs.com/lzx666/p/6691771.html
Copyright © 2020-2023  润新知