本程序为c#编写,用于练习,因为其他语言没有做过这个练习
本程序用时25分钟
本程序界面如下
思路如下:
以a+b=c 为例:
a,b是键入数字,采用双储存的方式,先储存为string类型,再在计算答案前转换为double类型,储存方法为:
string += “数字或小数点”。
+号为运算模式,我先声明了一个int i = 0来储存是加法还是其他运算
=号直接为按钮,需要实现的功能是:
将string类型的a和b转换为double类型
用switch方法调用i中储存的运算方式
输出结果c
初始化各变量,进行下一步运算
程序本体
1.准备的变量如下:
boolean isUp = true;
//判断是a还是b
string upstr = "";
//a的string类型值
string downstr = "";
//b的string类型值
double updou, downdou,ans;
//a,b的double类型值以及输出结果
int fun = 0;
//储存计算方法
2.清空的方法及清空按钮:
方法:
void init()
{
textBox2.Text = "";
textBox1.Text = "";
upstr = "";
downstr = "";
isUp = true;
fun = 0;
}
键:
private void button17_Click(object sender, EventArgs e)
{
init();
}
3.将string类型的a和b转化为double的方法:
void setdou()
{
updou = Convert.ToDouble(upstr);
downdou = Convert.ToDouble(downstr);
}
4.输入数字的键(以4为例):
private void button4_Click(object sender, EventArgs e)
{
textBox1.Text += "4";
if (isUp) { upstr += "4"; }
else { downstr += "4"; }
}
5.输入运算符号(以+为例):
private void button10_Click(object sender, EventArgs e)
{
if (isUp)//防止键入多个运算符
{
textBox1.Text += "+";
isUp = false;
fun = 1;
}
}
6.=按钮
private void button16_Click(object sender, EventArgs e)
{
setdou();
switch (fun)
{
case 0:ans = 0;break;
case 1:ans = updou + downdou;break;
case 2:ans = updou - downdou;break;
case 3:ans = updou * downdou;break;
case 4:ans = updou / downdou;break;
}
textBox2.Text = ans.ToString();
upstr = "";
downstr = "";
isUp = true;
fun = 0;
}
心得:
在编程中为一个概念赋多个变量,有时可以简化算法