简单的计算器制作
来源:互联网 发布:意大利语初学软件 编辑:程序博客网 时间:2024/04/29 04:47
今天上机的时候,因为老师的留得作业差不多做完了,就试着做了这样一个简单的计算器,刚开始的时候的代码是这个样子:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace Calculator
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
string str = null;//保存算术表达式的字符串
char a='0';
public double ShowResult(char a,string str)
{
string[] num= str.Split('a');//这个地方的错误,使我预计的分割下来的两个参数不能成功的分割,应该不用单引号括起来的
double result=0;
try
{
switch (a)
{
case '+':
result = Convert.ToDouble(num[0]) + Convert.ToDouble(num[1]);
break;
case '-':
result = Convert.ToDouble(num[0]) - Convert.ToDouble(num[1]);
break;
case '*':
result = Convert.ToDouble(num[0]) * Convert.ToDouble(num[1]);
break;
case '/':
result = Convert.ToDouble(num[0]) / Convert.ToDouble(num[1]);
break;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
return result;
}
private void btnOne_Click(object sender, EventArgs e)//将算术表达式中的字符添加到字符串里
{
str += btnOne.Text;
txtShow.Text = str;
}
private void btnTwo_Click(object sender, EventArgs e)
{
str += btnTwo.Text;
txtShow.Text = str;
}
private void btnThree_Click(object sender, EventArgs e)
{
str += btnThree.Text;
txtShow.Text = str;
}
private void btnFour_Click(object sender, EventArgs e)
{
str += btnFour.Text;
txtShow.Text = str;
}
private void btnFive_Click(object sender, EventArgs e)
{
str += btnFive.Text;
txtShow.Text = str;
}
private void btnSix_Click(object sender, EventArgs e)
{
str += btnSix.Text;
txtShow.Text = str;
}
private void btnSeven_Click(object sender, EventArgs e)
{
str += btnSeven.Text;
txtShow.Text = str;
}
private void btnEight_Click(object sender, EventArgs e)
{
str += btnEight.Text;
txtShow.Text = str;
}
private void btnNine_Click(object sender, EventArgs e)
{
str += btnNine.Text;
txtShow.Text = str;
}
private void btnZero_Click(object sender, EventArgs e)
{
str += btnZero.Text;
txtShow.Text = str;
}
private void btnAdd_Click(object sender, EventArgs e)
{
if (a != '0')
{
str = txtShow.Text;
}
else
{
a = '+';
str += btnAdd.Text;
}
txtShow.Text = str;
}
private void btnSub_Click(object sender, EventArgs e)
{
if (a != '0')
{
str = txtShow.Text;
}
else
{
a = '-';
str += btnSub.Text;
}
txtShow.Text = str;
}
private void btnMul_Click(object sender, EventArgs e)
{
if (a != '0')
{
str=txtShow.Text;
}
else
{
a = '*';
str += btnMul.Text;
}
txtShow.Text = str;
}
private void btnDiv_Click(object sender, EventArgs e)
{
if (a != '0')
{
str = txtShow.Text;
}
else //else即为a已经被赋值运算符了
{
a = '/';
str += btnDiv.Text;
}
txtShow.Text = str;
}
private void btnEqual_Click(object sender, EventArgs e)
{
double re;
re=ShowResult(a,str);
txtShow.Text = Convert.ToString(re);
str = null;//在这部分里,我把str赋值为null这样子的话就不能够使算下来的结果再次进行加减,所以这句话后来我改成了
//str= Convert.ToString(re);
//之后我又加上了a='0',这样做也同样是为了起一次的结果能够再次进行运算,也就是a能够继续被赋值其他预算符
}
private void btnAc_Click(object sender, EventArgs e)
{
str = null;
txtShow.Text = null;
}
private void btnSpot_Click(object sender, EventArgs e)
{
str += btnSpot.Text;
txtShow.Text = str;
}
}
}
经过修改后,这个计算器已经能够进行简单的操作了,不过它与一般我们用的计算机相比还是有一些不方便。一般计算机,当我们写入1+2以后,如果再写入+3就会自动把1+2计算出来,然后再+3,但我做的必须是1+2=以后才能够再+3的。呵呵,不足之处,请多多指教了
- 简单的计算器制作
- 简单的计算器制作
- 制作一个简单的计算器
- flex 制作的简单计算器
- java---简单计算器的制作
- Android制作的简单的计算器
- VC6.0的MFC简单计算器制作
- 制作一个简单的计算器布局
- 用Java swing制作简单的计算器
- Python制作一个简单的计算器
- jquery制作简单计算器
- jsp制作简单计算器
- JavaSwing制作简单计算器
- JavaScript: 制作简单计算器
- java学习—— 制作简单的计算器
- Qt4学习(1)——制作简单的计算器界面
- VS2012中使用MFC制作简单的计算器
- 留念 C语言第一课简单的计算器制作
- 快捷篇
- 本空间签到专帖~!
- struts的RequestProcessor类
- struts的乱码问题
- SSH项目终于做完了,心里那个高兴呀!
- 简单的计算器制作
- 一台电脑可开多个飞信
- 控制台下菱形的代码
- 初来乍到
- 红绿灯
- http://student.csdn.net/?208084
- 既然选择了远方,便只顾风雨兼程
- 鼠标滑过高亮
- 天道酬勤