开发工具:
文件大小: 1mb
下载次数: 0
上传时间: 2009-12-30
详细说明: 看了就知道!来看看吧! /* 计算器算法 当每次安1~9的数字按键,调用一个anniu方法, 在aniu方法 用是否输入运算符来判断是否是输入的是 第一个第二个值,中间在判断是否是小数的数值算法。 普通值的算法是 a=a*10+i; i为传入的参数的值 小数值的算法是 a=a+i/s; s=s*10; s为小数的位数,1为无10为1位,100为2位。 运算符号方法的算法 调用fh这个方法 判断当前是否有输入过运算符 如果无则给运算字符串赋值为传入的值,并置空小数位 有则调js计算的方法,并并置空小数位,在给运算字符串赋值为传入的值。 计算的方法 由于数不能为0所以 首先判断是否为处号除数不能为0 如果是则不计算跳出 否则计算相应的符号计算并显示 */ namespace WindowsApplication1 { public partial class Form1 : Form { String Fh="";//用于存储符号运算符 double a, b, c;//a为第一个接收的值,b为第二个值,c为计算结果 long s = 1;//初始小数的位数 publ ic Form1() { InitializeComponent(); } public void anniu(double i)//按钮的方法 { if (Fh.Equals(""))//是否当前有运算符 { if (s == 1)//判断是否有小数点 { a = a * 10 + i;//计算无小数的值 } else { a = a + i / s;//计算有小数的值 s = s * 10;//计算下一个小数的位置 } textBox1.Text = a.ToString();//显示计算的结果 } else //当前有运算符的方法 { if (!(c == 0)) { b = 0; c = 0; }//当有计算结果就清除B的值 if (s == 1)//判断是否有小数点 { b = b * 10 + i;//计算无小数的值 } else { if (i == 0)//判断在小数位后添加0 { s = s * 10;//计算下一个小数的位置 } else { b = b + i / s;//计算有小数的值 s = s * 10;//计算下一个小数的位置 } } textBox1.Text = b.ToString();//显示计算的结果 } } public void js() {//数学计算的方法 if (Fh=="/")//判断是否除数等于0 { if (b == 0) //是则不计算 { textBox1.Text = "被除数不能为0";//显示被除数不能为0 return;//返回 } else { c = a / b; } } else//如果不是出发计算则执行其他计算 { if (Fh.Equals("+")) { c = a + b; } if (Fh.Equals("-")) { c = a - b; } if (Fh.Equals("*")) { c = a * b; } if (Fh.Equals("%")) { c = a % b; } } textBox1.Text = c.ToString(); //显示计算结果 a = c;//将结果给第一个变量作为 } public void fh(string str) //接收运算符的方法 { if (Fh.Equals(""))//当前是否已经有运算符 { Fh = str; s = 1;//没有则接收运算符,小数点失效 } else { js(); s = 1; Fh = str;//有则计算当前的值,小数点失效 } } private void button1_Click(object sender, EventArgs e)//监听按钮1的单击事件 { anniu(1);//调用按钮方法 } private void button2_Click(object sender, EventArgs e) { anniu(2); } private void button3_Click(object sender, EventArgs e) { anniu(3); } private void button4_Click(object sender, EventArgs e) { anniu(4); } private void button5_Click(object sender, EventArgs e) { anniu(5); } private void button7_Click(object sender, EventArgs e) { anniu(6); } private void button6_Click(object sender, EventArgs e) { anniu(7); } private void button8_Click(object sender, EventArgs e) { anniu(8); } private void button9_Click(object sender, EventArgs e) { anniu(9); } private void button10_Click(object sender, EventArgs e) { if (!textBox1.Text.Equals("0")) { anniu(0); } } private void button11_Click(object sender, EventArgs e)//监听运算符按钮的事件 { fh("+");//调用运算符的方法 } private void button12_Click(object sender, EventArgs e) { fh("-"); } private void button14_Click(object sender, EventArgs e)//清空按钮 { textBox1.Text = "0";//清空TEXTBOX的显示值 a = 0; b = 0; c = 0; s = 1; Fh = "";//初始化所有值 } private void button13_Click(object sender, EventArgs e)//等于按钮 { js();//调用计算方法 } private void button16_Click(object sender, EventArgs e) { fh("/"); } private void button17_Click(object sender, EventArgs e) { fh("%"); } private void button15_Click(object sender, EventArgs e) { fh("*"); } private void button19_Click(object sender, EventArgs e)//正负号 { if (Fh.Equals("")) { a = -a; textBox1.Text = a.ToString(); } else { b = -b; textBox1.Text = b.ToString(); }//初始当前值的正负号 } private void button18_Click(object sender, EventArgs e)//小数点 { if (s == 1) { s = 10; }//如果之前有过使用小数点则跳过当前小数点按钮的方法,否则初始小数点的 } ...展开收缩
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.