C# 一步一步完成一个简单的计算器 第二步---实现单目运算
来源:互联网 发布:epub转pdf mac 编辑:程序博客网 时间:2024/04/30 12:57
这系列的上一章,实现了计算器的界面
链接: http://blog.csdn.net/yangdan3611925/article/details/49451303
现在这篇文章是实现计算器的基本操作,按下数字按钮(Button)使数字添加到编辑框(TextBox),实现单目运算 (取反 开平方根 取倒数 退位键 CE键)
正文开始:
首先让我们 对程序进行初始化操作:
双击程序窗口(注意不要点击 Button TextBox 等) ,VS 应该会跳转到写代码的界面 如下图
在里面写上 ,可 copy 上去
Rtext.Enabled = false; //作用: 禁止人为手动修改 Ctext.Enabled = false; //如上 Rtext.Text = ""; //初始化 显示 Ctext.Text = "0"; //如上这样写上去
现在是让 数字按钮 按下后,能使数字添加到 编辑框(TextBox)中.
选中一个 一个数字按钮,然后在属性 那里找到事件 ,然后再寻找到 Click ,并在它对应的编辑框中写下 NumBtn_Click 按下回车键 ,如下图
回车键按下后,应该会跳转到写代码的界面 ,下图就是 实现数字按钮 按下 的事件的地方
在中写上 下面代码. (作用基本写在注释里面)
string numStr= (sender as Button).Text; //sender 是触发这个事件的成员 , //我们是一个按钮按下这个事件触发,所以要 将其转换为 Button 类型, //再看按钮的Test值 是我们要添加并显示的数字,我们就直接取出来 if (Ctext.Text == "0") // 如果为零的话,说明这是初始值 overload Ctext.Text = numStr; else Ctext.Text += numStr;
接下了 是让其他的数字按钮可以触发 这个事件( NumBtn_Click )
选中其他的数字按钮->属性框->事件->Click ,在下拉框中选择 NumBtn_Click .所以的 数字按钮都重复这个操作 具体如下图
现在可以按下 F5 ,看看效果
我们现在可以使用数字键了,
接下来要实现 小数点的按钮 (Spot_Btn)
同样,双击 Spot_Btn这按钮,会跳转到代码界面 (" private void Spot_Btn_Click(object sender, EventArgs e) " ) 这个方法
在里面写上
string str = (sender as Button).Text; // 这个str 其实就是 "." 一个英文字符'点' if (Ctext.Text.IndexOf(str) == -1) // IndexOf 是 在字符串中寻找某个字符 , 如何不存在返回 -1 { // 程序不可能有多个小数点(只能有一个), // 所以 只有 Ctext.Text.IndexOf(str) == -1 时,才向Ctext添加 '.' Ctext.Text += str; }
现在我们可以输入小数点了
//----------
现在我们实现单目运算 (取反 开平方根 取倒数 退位键 CE键)
先来 取反 ( ± )
双击 Opp_Btn 按钮
在代码中写上
string str = Ctext.Text; //取出显示的文本(输入的数字) double val = double.Parse(str); //通过 double.Parse() 将 string类型 转换为 double leix val = -val; //取反 Ctext.Text = val.ToString(); //将取反后的值 重新显示出去( 赋值给Ctext.Text )
开平方根
双击 Sqrt_Btn ,在代码中写
string str = Ctext.Text; //取出显示的文本(输入的数字) double val = double.Parse(str); //通过 double.Parse() 将 string类型 转换为 double leix if (val<0) //负数开不了平方根 MessageBox.Show("负数不可开平方根!", "错误!"); val = Math.Sqrt(val); //调用库函数 计算 平方根 Ctext.Text = val.ToString(); //重新显示出去( 赋值给Ctext.Text )
取倒数
和上面两个相似,双击对应的按钮.写上代码
string str = Ctext.Text; //取出显示的文本(输入的数字) double val = double.Parse(str); //通过 double.Parse() 将 string类型 转换为 double leix if (val == 0.0) MessageBox.Show("零不可做分母!", "错误!"); else val = 1 / val; //取倒数 Ctext.Text = val.ToString(); //重新显示出去( 赋值给Ctext.Text )
退位键
不多说,如上,在对应的区域写上
string str = Ctext.Text; //取出显示的文本(输入的数字) if (str.Length==1) //如果显示的一个数字,将他变成0 str = "0"; else //其他的 取前面的 n-1 个字符 str = str.Substring(0, str.Length - 1); Ctext.Text = str;
CE键
同上,写上代码
Ctext.Text = "0";
OK这一部分就写完了,可以测试下
到当前进度的代码下载在下面链接中
链接:http://pan.baidu.com/s/1dDEyp25 密码:1n4b
- C# 一步一步完成一个简单的计算器 第二步---实现单目运算
- C# 一步一步完成一个简单的计算器 第三步---实现双目运算
- C# 一步一步完成一个简单的计算器 第一步---搭建计算器界面
- 实现一个简单的计算器
- 一步一步实现一个简单的OS(HelloWorld)
- 使用JS完成一个简单的计算器功能
- c#实现简单计算器
- C#实现简单的加减乘除计算器
- C#基础之计算器的简单实现
- C#实现桌面应用程序简单的计算器
- 简单计算器实现整数运算
- C#实现的一个小小计算器
- 一个简单的计算器界面实现
- 一个简单的Java计算器实现
- 一个能够实现简单功能的计算器
- C语言实现一个简单的计算器
- jsp实现一个简单的计算器
- 用JSP实现一个简单的计算器
- 求三个数的最大最小值
- 欢迎使用CSDN-markdown编辑器
- 使用函数找出指定范围内的完数
- 负margin的经典利用之用绝对定位来居中
- JDBC-Statement
- C# 一步一步完成一个简单的计算器 第二步---实现单目运算
- LightOJ - 1047 Neighbor House(DP)
- 我的ACM训练历程
- 【线性代数公开课MIT Linear Algebra】 第十三课 复习课
- JDBC-ResultSet之滚动结果集-光标与元数据
- Retrofit 2.0 文件上传类型错误
- Android(6)RadioButton
- 并不记得今天是第几天了
- 一道题(1)