首页 / C# / C#入门之简单计算器的实现。
C#入门之简单计算器的实现。
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C#入门之简单计算器的实现。,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含7032字,纯文字阅读大概需要11分钟。
内容图文
在用C#学习的时候,师父让我先试着写一个计算器,就像任何电脑都自带的那种,想起来是觉得小case,但是实际上操作起来还是发现了不少问题的。下面的代码就是目前实现的情况,相关变量的意义也都有说明,在次就不再赘述。目前的想法是解决剩下的几个问题,后期再考虑一下优化的问题。
祭出源码:
1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text; 8 using System.Threading.Tasks; 9 using System.Windows.Forms; 10 11 namespace 计算器 12 { 13 public partial class Form1 : Form 14 { 15 static double a = 0;//显示器变量 16staticdouble b = 0;//存储值变量 17staticint p = 0;//判断当前为整数还是小数 18staticint l = 1;//小数位 19staticint y = 1;//qingkongwei 20staticdouble q = 0;//小数位的单位值 21staticdouble x = 0; 22char s=‘+‘;//运算符 23 24class array_calc 25 { 26publicdouble shuru(int m, int n) 27 { 28if (y == 0) 29 { 30 a = 0; 31if (n != 0) 32 { 33 a = a * 10 + m; 34int count = 0; 35 } 36else 37 { 38 q = Math.Pow(0.1, l); 39 a = a + (q * m); 40 l++; 41// MessageBox.Show("‘q是’" + q + ""); 42 } 43 } 44else 45if (n != 0) 46 { 47 a = a * 10 + m; 48int count = 0; 49 } 50else 51 { 52 q = Math.Pow(0.1, l); 53 a = a + (q * m); 54 l++; 55// MessageBox.Show("‘q是’" + q + ""); 56 }; 57 y = 1; 58return a; 59 60 } 61publicchar fuhao(char s) 62 { 63 b = a; 64 a = 0; 65 p = 0; 66 l = 1; 67// MessageBox.Show("‘b是’" + b + ""); 68return s; 69 } 70 71 } 72public Form1() 73 { 74 InitializeComponent(); 75 } 76 77privatevoid button12_Click(object sender, EventArgs e) 78 { 79 a = 0; 80 textBox1.Text = "0"; 81 b = 0; 82 p = 0; 83 l = 1; 84 85 } 86 87privatevoid toolTip1_Popup(object sender, PopupEventArgs e) 88 { 89 90 } 91 92privatevoid numericUpDown1_ValueChanged(object sender, EventArgs e) 93 { 94 95 } 96 97privatevoid textBox1_TextChanged(object sender, EventArgs e) 98 { 99100101 } 102103privatevoid label1_Click(object sender, EventArgs e) 104 { 105106 } 107108privatevoid button1_Click(object sender, EventArgs e) 109 { 110 array_calc n1 = new array_calc(); 111if(p==0) 112 textBox1.Text="" + n1.shuru(1, 1) + ""; 113else114 textBox1.Text = "" + n1.shuru(1, 0) + ""; 115 } 116117privatevoid button2_Click(object sender, EventArgs e) 118 { 119 array_calc n2 = new array_calc(); 120if (p == 0) 121 textBox1.Text = "" + n2.shuru(2, 1) + ""; 122else123 textBox1.Text = "" + n2.shuru(2, 0) + ""; 124 } 125126privatevoid Form1_Load(object sender, EventArgs e) 127 { 128129 } 130131privatevoid button21_Click(object sender, EventArgs e) 132 { 133 array_calc jia = new array_calc(); 134135 s = jia.fuhao(‘+‘); 136 textBox2.Text = "+"; 137 } 138139privatevoid button17_Click(object sender, EventArgs e) 140 { 141string result=string.Empty; 142switch (s) 143 { 144case‘+‘: 145 a = b + a; 146 result = "" + a.ToString() + ""; 147 s = ‘0‘; 148break; 149case‘-‘: 150 a = b - a; 151 result = "" + a.ToString() + ""; 152 s = ‘0‘; 153break; 154case‘/‘: 155if (a == 0) 156 result = "除数不能为0!"; 157else158 { 159 a = b / a; 160 result = "" + a.ToString() + ""; 161 } 162163 s = ‘0‘; 164break; 165case‘*‘: 166 a = b * a; 167//MessageBox.Show("‘b是’" + b + ""); 168//MessageBox.Show("‘a是’" + a + "");169 result = "" + a.ToString() + ""; 170171 s = ‘0‘; 172break; 173case‘%‘: 174 a = b % a; 175 result = "" + a.ToString() + ""; 176break; 177case‘0‘: 178 result = "" + a.ToString() + ""; 179break; 180default: 181break; 182 } 183this.textBox1.Text = result; 184185 y = 0; 186//l++; 187188//if (a == Math.Ceiling(a)) 189// p = 0; 190//else 191//{ 192// p = 1; 193// x = a; 194// while (x != Math.Ceiling(x)) 195// { 196// x = a * 10; 197// l++; 198// } 199200//}201202203 } 204205privatevoid button13_Click(object sender, EventArgs e) 206 { 207 array_calc jan = new array_calc(); 208209 s = jan.fuhao(‘-‘); 210 textBox2.Text = "-"; 211 } 212213privatevoid button14_Click(object sender, EventArgs e) 214 { 215 array_calc ceg = new array_calc(); 216 s = ceg.fuhao(‘*‘); 217 textBox2.Text = "*"; 218 } 219220privatevoid button15_Click(object sender, EventArgs e) 221 { 222 array_calc chu = new array_calc(); 223 s = chu.fuhao(‘/‘); 224 textBox2.Text = "/"; 225 } 226227privatevoid button3_Click(object sender, EventArgs e) 228 { 229 array_calc n3 = new array_calc(); 230if (p == 0) 231 textBox1.Text = "" + n3.shuru(3, 1) + ""; 232else233 textBox1.Text = "" + n3.shuru(3, 0) + ""; 234 } 235236privatevoid button4_Click(object sender, EventArgs e) 237 { 238 array_calc n4 = new array_calc(); 239if (p == 0) 240 textBox1.Text = "" + n4.shuru(4, 1) + ""; 241else242 textBox1.Text = "" + n4.shuru(4, 0) + ""; 243 } 244245privatevoid button5_Click(object sender, EventArgs e) 246 { 247 array_calc n5 = new array_calc(); 248if (p == 0) 249 textBox1.Text = "" + n5.shuru(5, 1) + ""; 250else251 textBox1.Text = "" + n5.shuru(5, 0) + ""; 252 } 253254privatevoid button6_Click(object sender, EventArgs e) 255 { 256 array_calc n6 = new array_calc(); 257if (p == 0) 258 textBox1.Text = "" + n6.shuru(6, 1) + ""; 259else260 textBox1.Text = "" + n6.shuru(6, 0) + ""; 261 } 262263privatevoid button7_Click(object sender, EventArgs e) 264 { 265 array_calc n7 = new array_calc(); 266if (p == 0) 267 textBox1.Text = "" + n7.shuru(7, 1) + ""; 268else269 textBox1.Text = "" + n7.shuru(7, 0) + ""; 270 } 271272privatevoid button8_Click(object sender, EventArgs e) 273 { 274 array_calc n8 = new array_calc(); 275if (p == 0) 276 textBox1.Text = "" + n8.shuru(8, 1) + ""; 277else278 textBox1.Text = "" + n8.shuru(8, 0) + ""; 279 } 280281privatevoid button9_Click(object sender, EventArgs e) 282 { 283 array_calc n9 = new array_calc(); 284if (p == 0) 285 textBox1.Text = "" + n9.shuru(9, 1) + ""; 286else287 textBox1.Text = "" + n9.shuru(9, 0) + ""; 288 } 289290privatevoid button23_Click(object sender, EventArgs e) 291 { 292 array_calc n0 = new array_calc(); 293if (p == 0) 294 textBox1.Text = "" + n0.shuru(0, 1) + ""; 295else296 textBox1.Text = "" + n0.shuru(0, 0) + ""; 297 } 298299privatevoid button11_Click(object sender, EventArgs e) 300 { 301 a = 0; 302 b = 0; 303 p = 0; 304 l = 1; 305 textBox1.Text = "0"; 306 textBox2.Text = ""; 307 } 308309privatevoid textBox2_TextChanged(object sender, EventArgs e) 310 { 311312 } 313314privatevoid button16_Click(object sender, EventArgs e) 315 { 316 a = 0 - a; 317 textBox1.Text =""+a+""; 318 } 319320privatevoid button18_Click(object sender, EventArgs e) 321 { 322 array_calc qyu = new array_calc(); 323 s = qyu.fuhao(‘%‘); 324 textBox2.Text = "%"; 325 y = 0; 326 } 327328privatevoid button19_Click(object sender, EventArgs e) 329 { 330 a = Math.Sqrt(a); 331 textBox1.Text = "" + a + ""; 332 textBox2.Text = "√"; 333 y = 0; 334 } 335336privatevoid button22_Click(object sender, EventArgs e) 337 { 338if (a == 0) 339 textBox1.Text = "分母不能为0!"; 340else341 { 342 a = 1 / a; 343 textBox1.Text = "" + a + ""; 344 textBox2.Text = "1/X"; 345 } 346 y = 0; 347348 } 349350privatevoid button20_Click(object sender, EventArgs e) 351 { 352 array_calc nn = new array_calc(); 353 p = 1; 354// textBox1.Text = "" + nn.shuru(1, 0) + " ";355 } 356 } 357 }
接下来想要解决的问题是:
符号重新输入的问题:例如:1*+1=
C键、栅格键的问题
感觉自己的代码并没有怎么用到类和方法,似乎还是函数的思维。这个思想观点的转变比代码本身还要重要。
原文:http://www.cnblogs.com/uestc-hujun/p/5080802.html
内容总结
以上是互联网集市为您收集整理的C#入门之简单计算器的实现。全部内容,希望文章能够帮你解决C#入门之简单计算器的实现。所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。