当前位置: 首页 > news >正文

网站开发实现顺序/百度优化seo

网站开发实现顺序,百度优化seo,wordpress厨房家居主题,在线客服对接平台简单版计算器,加减乘除功能。 具体怎么做出来的呢,嗯,我先说一说布局。显示框用两个label控件,label1显示操作运算,label2显示运算值。设置其AutoSize属性为false,就可以把label控件延伸扩大了。 操作运算符…

 

简单版计算器,加减乘除功能。

具体怎么做出来的呢,嗯,我先说一说布局。显示框用两个label控件,label1显示操作运算,label2显示运算值。设置其AutoSize属性为false,就可以把label控件延伸扩大了。

操作运算符和数字都是button控件,外观设置就不说了,最基础的,小白不会的就去查资料。

然后现在就说一下操作

代码了,添加一个操作运算基类Oper

public class Oper{private double _numberA = 0;private double _numberB = 0;public double NumberA{get { return _numberA; }set { _numberA = value; }}public double NumnberB{get { return _numberB; }set { _numberB = value; }}public virtual double GetResult(){double result = 0d;return result;}}

 

 

添加四个加减乘除类继承Oper类,

 //加法类
public class OperAdd : Oper    {/// <summary>/// 重写父方法:GetResult/// </summary>/// <returns></returns>public override double GetResult(){double result = 0;result = NumberA + NumnberB;return result;}}//减法类public class OperSub : Oper    {public override double GetResult(){double result = 0;result = NumberA - NumnberB;return result;}}//乘法类
public class OperMul : Oper    {public override double GetResult(){double result = 0;result = NumberA * NumnberB;return result;}}//除法类
public class OperationDiv : Oper    {public override double GetResult(){double result = 0;if (NumnberB == 0)throw new Exception("除数不能为0.");result = NumberA * 1.0 / NumnberB;return result;}}

  

 

再添加个运算工厂类OperFactory作为中转站,输入运算符,工厂就能实例化出合适的对象,通过多态,返回父类的方式实现计算器的结果。

public class OperFactory{/// <summary>/// 只需输入运算符,工厂就能实例化出合适的对象,通过多态,返回父类的方式实现了计算器的结果/// </summary>/// <param name="operate">运算符</param>/// <returns></returns>public static Oper createOpeate(EnumOperator op){Oper oper = null;switch (op){case EnumOperator.Add:oper = new OperationAdd();break;case EnumOperator.Minus:oper = new OperationSub();break;case EnumOperator.Multiply:oper = new OperationMul();break;case EnumOperator.Divide:oper = new OperationDiv();break;default:break;}return oper;}}

首先按数字的时候,添加一个函数NumberClick

        double currentValue = 0;   //第1个数 double numSum = 0;  //第2个数private EnumOperator currentOperator; //当前操作符  /// <summary>/// 按数字的时候/// </summary>/// <param name="strNumber"></param>private void NumberClick(string strNumber){label1.Text = label1.Text + strNumber;currentValue = Convert.ToDouble(label1.Text);label2.Text += strNumber;}   
View Code

然后给每个数字按钮弄一个点击事件,调用数字函数。

private void button7_Click(object sender, EventArgs e){NumberClick(button7.Text);}
View Code

定义一个函数DisOperator,实现显示框中输入的数字和运算符

 private void DisplayOperator(EnumOperator op){switch (op){case EnumOperator.None:label2.Text = label1.Text;label2.Text += "";break;case EnumOperator.Add:if (label1.Text != ""){label2.Text = label1.Text;}label2.Text += "+";break;case EnumOperator.Minus:if (label1.Text != ""){label2.Text = label1.Text;}label2.Text += "-";break;case EnumOperator.Multiply:label2.Text = label1.Text;label2.Text += "x";break;case EnumOperator.Divide:label2.Text = label1.Text;label2.Text += "";break;default:break;}}
View Code

根据运算符和两个数字的计算结果

调用简单工厂模式生成的类

Evaluate

private void Evaluate(){Oper oper;//根据不同的对象生成不同的类,多态!switch (currentOperator){case EnumOperator.None:break;case EnumOperator.Add:oper = OperationFactory.createOpeate(EnumOperator.Add);oper.NumberA = numSum;oper.NumnberB = currentValue;numSum = oper.GetResult();break;case EnumOperator.Minus:oper = OperationFactory.createOpeate(EnumOperator.Minus);oper.NumberA = numSum;oper.NumnberB = currentValue;numSum = oper.GetResult();break;case EnumOperator.Multiply:oper = OperationFactory.createOpeate(EnumOperator.Multiply);oper.NumberA = numSum;oper.NumnberB = currentValue;numSum = oper.GetResult();break;case EnumOperator.Divide:if (currentValue != 0){oper = OperationFactory.createOpeate(EnumOperator.Divide);oper.NumberA = numSum;oper.NumnberB = currentValue;numSum = oper.GetResult();}else{MessageBox.Show("除数不能为0哦,亲~", "出错了~");}break;}currentValue = 0;currentOperator = EnumOperator.None;}
View Code

再定义一个函数OperatorClick,调用DisOperator函数和Evaluate函数

private void OperatorClick(EnumOperator op){if (currentOperator != EnumOperator.None){//计算
                Evaluate();}else{//numSum = double.Parse(lblResult.Text);double.TryParse(label1.Text, out numSum);}DisplayOperator(op);label1.Text = "";currentOperator = op;}
View Code

在加减乘除按钮上双击,进入后台,调用OperatorClick()函数

        private void button12_Click(object sender, EventArgs e){OperatorClick(EnumOperator.Add);}private void button13_Click(object sender, EventArgs e){OperatorClick(EnumOperator.Minus);}private void button14_Click(object sender, EventArgs e){OperatorClick(EnumOperator.Multiply);}private void button15_Click(object sender, EventArgs e){OperatorClick(EnumOperator.Divide);}
View Code

在=按钮上双击,进入后台,编辑

private void button10_Click(object sender, EventArgs e){Evaluate();label1.Text = numSum.ToString();//防止重复按 = if (label1.Text.Length > 1 && label1.Text.Substring(label1.Text.Length - 1) != "="){label1.Text += "=";}}
View Code

在C按钮上双击,进入后台编辑

private void button16_Click(object sender, EventArgs e){currentOperator = EnumOperator.None;label1.Text = "";label2.Text = "";numSum = 0;}
View Code

 

ok,这就是简单版计算器的全部讲解以及代码了。

根据一个大佬的源码改进的,编程语言勉强入门,有不足的地方请大佬们指点。

转载于:https://www.cnblogs.com/wl192/p/9577846.html

http://www.lbrq.cn/news/834193.html

相关文章:

  • 广州网站建设推广公司哪家好/今日新闻网
  • 网站关键词怎么布局/网站免费下载安装
  • web网站测试/苏州百度推广分公司电话
  • wordpress会员网站/商务软文写作300
  • 团购汽车最便宜的网站建设/2021最新免费的推广引流软件
  • 备案网站资料上传教程/百度搜索量统计
  • 如何做移动支付网站/沈阳头条今日头条新闻最新消息
  • 网站能看出建设时间吗/微信小程序怎么制作自己的程序
  • windows.net做网站/今日热点新闻头条国内
  • 广州手机网站建设价格/semantic scholar
  • 找大学生做家教的网站/郑州seo网站关键词优化
  • 环境设计排版素材网站/最有效的线下推广方式
  • 网站设计抄袭/什么是互联网营销
  • 网站建设合同甲乙双方怎么确定/最快新闻资讯在哪看
  • 慈溪网站建设哪家好/湖南seo优化公司
  • python做软件的网站/海外营销推广服务
  • 阿里云有域名之后怎么建设网站/福州seo招聘
  • 购物网站的搜索框用代码怎么做/seo范畴有哪些
  • 网站建设设计 飞沐/中国培训网官网
  • 哪个网站可以免费做推广/线上推广费用
  • 网站安装步骤页面/网店怎么推广和宣传
  • 百度网站如何做运营/泉州网站关键词排名
  • 黄骅市在哪里/网站快速排名优化
  • 网站建设和建议/2022年新闻大事
  • 雄安建站服务/竞价如何屏蔽恶意点击
  • 公众号制作网页/百度爱采购关键词优化
  • wordpress上传后如何访问/合肥seo按天收费
  • 青海住房建设厅网站/百度收录什么意思
  • wordpress 博客搭建/免费使用seo软件
  • 电子商务微网站制作/合肥seo网络优化公司
  • 对于编码电机-520直流减速电机
  • python学智能算法(二十四)|SVM-最优化几何距离的理解
  • [论文阅读] 人工智能 + 软件工程 | 单会话方法论:一种以人类为中心的人工智能辅助软件开发协议
  • 前端下载文件并按GBK编码解析内容
  • 基于MATLAB的极限学习机ELM的数据分类预测方法应用
  • 深度学习前置知识