细算起来,学习C#快有一周的时间了吧,简单做了个计算器的小例子。不足之处,还希望大家多多指导。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsCalculator
{
public partial class Form1 : Form
{
//构造器
public Form1()
{
InitializeComponent();
this.initializeValues();
}
//定义缓存变量
public int resultValue;
public int currentValue;
private Operation cachedOperation;
// 做初始化工作
public void initializeValues()
{
this.resultValue = 0;
this.currentValue = 0;
this.cachedOperation = Operation.None;
}
// 显示当前正在输入的值
public void DisplayCurrentValue()
{
this.textBox1.Text = this.currentValue.ToString();
}
// 显示已有结果
public void DisplayResultValue()
{
this.textBox1.Text = this.resultValue.ToString();
}
// 数字键点击事件处理器
private void NumberButton_Click(object sender, EventArgs e)
{
Button btn = sender as Button;
if (!btn.Text.ToString().Equals("."))
{
this.currentValue = this.currentValue * 10 + int.Parse(btn.Text);
}
else
{
this.currentValue = this.currentValue + int.Parse(btn.Text.ToString());
}
this.DisplayCurrentValue();
}
//操作符
private void OperatorButton_Click(object sender, EventArgs e)
{
this.CalculateCore();
if (sender == buttonAdd)
{
this.cachedOperation = Operation.Add;
}
if (sender == buttonSub)
{
this.cachedOperation = Operation.Sub;
}
if (sender == buttonMul)
{
this.cachedOperation = Operation.Mul;
}
if (sender == buttonDiv)
{
this.cachedOperation = Operation.Div;
}
}
//result
private void buttonResult_Click(object sender, EventArgs e)
{
CalculateCore();
}
// 运算核心
private void CalculateCore()
{
switch (this.cachedOperation)
{
case Operation.Add:
this.resultValue += this.currentValue;
break;
case Operation.Sub:
this.resultValue -= this.currentValue;
break;
case Operation.Mul:
this.resultValue *= this.currentValue;
break;
case Operation.Div:
if (this.currentValue != 0)
{
this.resultValue /= this.currentValue;
}
else
{
MessageBox.Show("Zero Error!");
}
break;
case Operation.None:
default:
this.resultValue = this.currentValue;
break;
}
this.currentValue = 0;
this.DisplayResultValue();
}
// 运算类型
enum Operation
{
Add,
Sub,
Mul,
Div,
None
}
private void buttonClear_Click(object sender, EventArgs e)
{
this.initializeValues();
this.DisplayResultValue();
}
}
}
程序说明:
1.将0-9数字键名称改为:NumberButton;
2.将+、-、*、/运算符键名称改为:OperatorButton;
分享到:
相关推荐
《多功能科学计算器源码解析与应用》 在计算机科学领域,计算器软件是不可或缺的一部分,尤其对于程序员、学生和科研人员而言。本篇文章将深入探讨一个名为"多功能科学计算器"的源码,它不仅具备基本的四则运算功能...
【描述】"源码07 多功能计算器源码07 多功能计算器源码07 多功能计算器源码07 多功能计算器源码07 多功能计算器"虽然重复,但暗示了这个项目是一个完整的源代码实现,可能包含多个类、方法和界面元素,用于构建一个...
"多功能计算器 具有log 平方 多进制 等各种运算" 描述进一步详细介绍了计算器的功能。"log"指的是对数运算,这是数学中常见的一种操作,通常用于解决指数问题。"平方"是指平方运算,可以方便地进行快速幂次计算。"多...
在本项目中,我们讨论的是一个使用C#编程语言实现的计算器源码。C#是一种由微软开发的面向对象的编程语言,广泛应用于Windows桌面应用、游戏开发、Web应用以及移动应用等领域。这个计算器源码提供了对基本算术运算的...
总结起来,C#多功能数学计算器源码是一个综合性的学习资源,它涵盖了C#的基础语法、面向对象编程、数学运算、用户界面设计以及异常处理等多个方面。通过研究和理解这个源码,开发者不仅可以提升C#编程技能,还能...
6. **国际化与本地化**:作为一款全球化的应用,计算器源码中可能包含了多语言支持的实现,这涉及到资源文件管理和动态加载。 7. **测试与调试**:源码中可能包含单元测试和集成测试,用于验证计算器功能的正确性和...
总的来说,"Android实战项目复杂的科学计算器源码实例"涵盖了Android开发中的多个重要知识点,包括UI设计、事件处理、数值计算和错误处理。通过学习和分析这个源码,开发者可以提升其在Android应用开发方面的技能,...
【简易多功能计算器源码】是一个基于Visual Basic(VB)开发的计算器程序,它不仅具备了基本的四则运算,还提供了更多高级功能,如数据阶乘计算和圆的计算等。这个计算器的设计目标是简化用户操作,提供一个直观且...
在本压缩包“Android 计算器源码.zip”中,我们主要关注的是“Android 计算器”的源代码。这个源代码可以帮助我们深入理解Android应用程序的开发,特别是关于UI设计、事件处理以及数学计算逻辑等方面的知识。让我们...
总的来说,这个"Windows自带计算器源码"项目是一个很好的VB.NET编程教学案例,它涵盖了用户界面设计、事件处理、数据运算、错误处理等多个方面的知识。对于初学者来说,通过阅读和理解源码,可以深入学习VB.NET语言...
【标题】:“C#多功能数学计算器附完整源码”指的是一个使用C#编程语言开发的软件项目,这个项目实现了一个具备多种计算功能的数学计算器。它不仅能够进行基本的加减乘除运算,还可能包括更复杂的数学操作,如求...
【Android科学计算器源码解析】 Android科学计算器源码是一个典型的移动应用开发实例,它涉及到许多Android平台的基础知识和高级特性。下面将详细讲解这个源码中的关键知识点。 1. **用户界面(UI)设计** - ...
【Android科学计算器源码修改版】是一个针对Android平台的计算器应用,它在原版基础上进行了界面美化和功能优化。此项目对于想要学习Android应用开发、尤其是计算器应用开发的程序员来说,是一个很好的参考和实践...
总的来说,【超级混合计算器源码】涵盖了C#基础语法、数据结构(栈)、算法(逆波兰表示法)、数学运算(阶乘、平方)、以及异常处理等多个知识点。通过学习和理解这个项目,开发者不仅可以提升C#编程技能,还能深入...
首先,我们要了解多功能计算器的基本概念。它通常包含多种计算模式,如科学计算、统计计算、复数运算等。这样的计算器设计要求开发者具备扎实的编程基础,以及对数学和逻辑的理解。在“创新实验计算器20121020”中,...
这里我们关注的是一款名为"android之计算器源码"的应用,它提供了计算器的功能实现,我们可以从中学到很多关于Android应用开发的知识。 首先,`GridLayoutTest`可能是指在布局设计中使用了GridLayout。GridLayout是...
基于MFC进行多功能计算器的设计,使程序分为计算器及转换器两个部分。 1.其中计算器分为三种模式: (1)标准计算器(包括对浮点数及整数进行加减乘除运算、求平方、开根号、取模等功能) (2)科学计算器(包括对...
这份"android安卓计算器源码.zip"提供的就是一个完整的计算器应用程序的源代码,非常适合初学者或者有经验的开发者作为学习和参考。 首先,源码结构通常包括以下几个关键部分: 1. **资源文件** (res/): 这里包含...
微信小程序简易计算器源码是一个适合初学者的项目,旨在帮助新手快速掌握微信小程序的基本开发技能。这个项目实现了基本的加法、减法、乘法和除法运算,提供了直观的用户界面,用户可以通过点击按钮进行计算操作。接...