c#简单开发(一)

简易计算器开发

开发目标

  1. 开发环境:vs2015
  2. 使用预制的按钮进行数值的输入
  3. 可以进行四则运算
  4. 不进行等号计算的情况下自动的进行连算
  5. 在得出等号或连算的结果后,下一次从预制按钮获取的数值输入会进行覆盖而非在数值结果的基础上进行加算

开发代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
//储存第一位数
float temp1 = -1;
//连续计算标记
int index = 0;
//存储符号位
string ch = "";
//结果标记
bool isresult = false;
//运算方式标记
int pos = 0;
public Form1()
{
InitializeComponent();
}
private void addNum(int num)
{
//当前标记如果为计算出的结果 则在接收下一次数值按键时进行覆盖操作
if(!isresult)
textBox1.Text = textBox1.Text + num.ToString();
else
{
textBox1.Text = num.ToString();
isresult = false;
}
}
private void button1_Click(object sender, EventArgs e)
{
addNum(1);
}
private void button2_Click(object sender, EventArgs e)
{
addNum(2);
}
private void button3_Click(object sender, EventArgs e)
{
addNum(3);
}
private void button4_Click(object sender, EventArgs e)
{
addNum(4);
}
private void button5_Click(object sender, EventArgs e)
{
addNum(5);
}
private void button6_Click(object sender, EventArgs e)
{
addNum(6);
}
private void button7_Click(object sender, EventArgs e)
{
addNum(7);
}
private void button8_Click(object sender, EventArgs e)
{
addNum(8);
}
private void button9_Click(object sender, EventArgs e)
{
addNum(9);
}
private void button10_Click(object sender, EventArgs e)
{
addNum(0);
}
private void sum_Click(object sender, EventArgs e)
{
if (textBox1.Text != "")
{
pos = 4;
click();
ch = "+";
}
}
private void min_Click(object sender, EventArgs e)
{
if (textBox1.Text != "")
{
pos = 3;
click();
ch = "-";
}
}
private void cheng_Click(object sender, EventArgs e)
{
if (textBox1.Text != "")
{
pos = 2;
click();
ch = "*";
}
}
private void chu_Click(object sender, EventArgs e)
{
if (textBox1.Text != "")
{
pos = 1;
click();
ch = "/";
}
}
private void equal_Click(object sender, EventArgs e)
{
calc();
}
private void clear_Click(object sender, EventArgs e)
{
textBox1.Text = "";
temp1 = 0;
pos = 0;
index = 0;
isresult = false;
ch = "";
}
//用来处理等于计算
private void calc()
{
float temp2 = Convert.ToSingle(textBox1.Text);
switch (pos)
{
case 1:
textBox1.Text = (temp1 / temp2).ToString();
break;
case 2:
textBox1.Text = (temp1 * temp2).ToString();
break;
case 3:
textBox1.Text = (temp1 - temp2).ToString();
break;
case 4:
textBox1.Text = (temp1 + temp2).ToString();
break;
}
isresult = true;
index = 0;
}
//用来处理连续计算
private void click()
{
if (index == 0)
{
temp1 = Convert.ToSingle(textBox1.Text);
index++;
textBox1.Text = "";
}
else
{
selectCh(ch);
textBox1.Text = temp1.ToString();
isresult = true;
}
}
//根据传入符号进行连续计算
private void selectCh(string ch1)
{
switch (ch1)
{
case "+":
temp1 += Convert.ToSingle(textBox1.Text);
break;
case "-":
temp1 -= Convert.ToSingle(textBox1.Text);
break;
case "*":
temp1 *= Convert.ToSingle(textBox1.Text);
break;
case "/":
temp1 /= Convert.ToSingle(textBox1.Text);
break;
}
}
}
}

运行效果

1.使用等号计算


等号计算

2.连续计算


连续计算

×

纯属好玩

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

文章目录
  1. 1. 开发目标
  2. 2. 开发代码
  3. 3. 运行效果