前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C#的简单应用——使用VS2017写一个简易计算器

C#的简单应用——使用VS2017写一个简易计算器

原创
作者头像
神无月
发布2018-05-11 20:49:40
5K2
发布2018-05-11 20:49:40
举报
文章被收录于专栏:小文博客小文博客

准备工作

所需工具

  • Visual Studio 2017
  • 一个机智的大脑

项目开始V1.0

主体窗口

  • 打开软件,创建Windows应用程序项目,创建如下简易计算器。(17个Button     1个Textbox)
  • 设置Textbox属性只读(readonly=true)

代码部分

代码语言:javascript
复制
//在代码通用段定义公共变量用来接收操作数、运算结果以及判断输入的是否为小数,代码如下。

double num1, num2, reasult;//num1,num2用于保存操作数,reasult用于保存运算结果
bool decimalFlag = false;//decimaFlag判断是否为小数,默认为false(不是小数)
 
代码语言:javascript
复制
//编写一个名为“NumClick”的方法,单击数字按钮时,调用NumClick方法,将输入的数字追加到文本框中。

public void NumClick(int myNumber)
 {
 if (decimalFlag)//输入小数
 {
 textBox1.Text = textBox1.Text + myNumber; 
 }
 else//输入整数
 {
 if(textBox1.Text == "0.")//如果是整数的第一个数
 textBox1.Text = myNumber + ".";
 else
 textBox1.Text = textBox1.Text.Substring(0, textBox1.Text.Length - 1) + myNumber + "."; 
 }
 }
 
代码语言:javascript
复制
//编写窗体载入事件,初始化计算器。


5private void Form1_Load(object sender, EventArgs e)
 {
 textBox1.Text = "0."; //计算器屏幕初始显示值
 textBox1.TextAlign = HorizontalAlignment.Right;//计算器屏幕文字输出向右对齐
 }
 
代码语言:javascript
复制
//编写数字【0】到【9】单击事件代码(引用NumClick()方法)

private void button1_Click(object sender, EventArgs e)
 {
 NumClick(1);
 }
 
private void button2_Click(object sender, EventArgs e)
 {
 NumClick(2);
 }
 
private void button3_Click(object sender, EventArgs e)
 {
 NumClick(3);
 }
/*此处省略部分代码···*/
private void button10_Click(object sender, EventArgs e)
 {
 NumClick(0); 
 }
 
代码语言:javascript
复制
//编写小数点按钮【.】的单击事件代码。

private void button11_Click(object sender, EventArgs e)
 {
 decimalFlag = true; 
 }
 
代码语言:javascript
复制
//编写复位按钮【C】的单击事件代码。

private void button12_Click(object sender, EventArgs e)
{
 num1 = 0;
 num2 = 0;//初始化操作数
 decimalFlag = false;
 textBox1.Text = "0.";//初始化计算器屏幕
 }
 
代码语言:javascript
复制
//编写【+】、【-】、【*】、【/】按钮的单击事件代码。

private void button13_Click(object sender, EventArgs e)
 {
 myOperator = "add";//保存运算符 加号
 num1 = double.Parse(textBox1.Text);//保存操作数1
 textBox1.Text = "0.";//初始化计算器屏幕,待输入操作数2
 decimalFlag = false;
 }
 
 private void button14_Click(object sender, EventArgs e)
 {
 myOperator = "sub";//保存运算符 减号
 num1 = double.Parse(textBox1.Text);
 textBox1.Text = "0.";
 decimalFlag = false;
 }
 
 private void button15_Click(object sender, EventArgs e)
 {
 myOperator = "mul";//保存运算符 乘号
 num1 = double.Parse(textBox1.Text);
 textBox1.Text = "0.";
 decimalFlag = false;
 }
 
 private void button16_Click(object sender, EventArgs e)
 {
 myOperator = "div";//保存运算符 除号
 num1 = double.Parse(textBox1.Text);
 textBox1.Text = "0.";
 decimalFlag = false;
 }
 
代码语言:javascript
复制
//最后编写【=】按钮的单击事件代码。

private void button17_Click(object sender, EventArgs e)
 {
 num2 = double.Parse(textBox1.Text);//保存操作数2
 switch(myOperator)//用switch进行响应的分支操作
 {
 case "add"://加号
 reasult = num1 + num2;
 textBox1.Text = reasult.ToString();
 break;
 case "sub"://减号
 reasult = num1 - num2;
 textBox1.Text = reasult.ToString();
 break;
 case "mul"://乘号
 reasult = num1 * num2;
 textBox1.Text = reasult.ToString();
 break;
 case "div"://除号
 if(num2 == 0)//除数为0报错
 {
 textBox1.Text = "除数不能为“0”!";
 }
 else {
 reasult = num1 / num2;
 textBox1.Text = reasult.ToString();
 }
 break;
 }
 }
 

至此,一个简易的计算器1.0就完成了。编译运行,程序成品为程序文件夹/bin/Debug/目录下的exe文件,你也可以直接下载

成品预览

计算器V1.0下载

成品下载 源码下载

升级改进V2.0

升级记录

  1. 新增 右边运算记录
  2. 修复 一次运算结束后,按数字键会出错的问题
  3. 修复 多次点击等号,一直输出的问题
  4. 打开程序部分按钮禁止点击

成品预览

计算器V2.0下载

成品下载 源码下载

如果大家有什么好的建议可以在评论区留言!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 准备工作
    • 所需工具
    • 项目开始V1.0
      • 主体窗口
        • 代码部分
          • 成品预览
            • 计算器V1.0下载
            • 升级改进V2.0
              • 升级记录
                • 成品预览
                  • 计算器V2.0下载
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档