web加减乘除法c#_C#的加减乘除的问题
已結貼√
問題點數:20?回復次數:3
C#的加減乘除的問題
、為什么四則運算沒有反應呢
using System;
using System.Collections.Generic;
using
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace calc
{
public partial class MainForm1 : Form
{
public MainForm1()
{
InitializeComponent();
}
bool blnClear = true;
double dblSec=0;
String Op1, Op2;
//預先輸入操作數
//小數點存在嗎?
int NumOps;
//操作數個數
String LastInput;
//指示上一次按鍵事件的類型
int OpFlag;
//指示未完成的操作
String TempReadout;
private void btn_Click(object sender, EventArgs e)
{
if (blnClear)
txtRest.Text = "";
Button b3 = (Button)sender;
txtRest.Text += b3.Text;
if (txtRest.Text == ".")
txtRest.Text = "0.";
dblSec = Convert.ToDouble(txtRest.Text);
blnClear = false;
}
private void MainForm1_Load(object sender, EventArgs e)
{
if (txtRest.Text == "")
{
txtRest.Text = "0.";
}
}
private void btnC_Click(object sender, EventArgs e)
{
txtRest.Text = "0.";
}
private void Key_KeyPress(object sender, KeyPressEventArgs e)
{
}
public void OperatorCal(int MyOperator)
{
//取得操作代號
int Index = MyOperator;
//取得文本框文本
TempReadout = txtRest.Text;
//設置文本框最后一次輸入類型
if (LastInput == "NUMS")
{
NumOps = NumOps + 1;
//將操作數加一
}
String Myop;
Myop = NumOps.ToString();
switch (NumOps)
{
case 0:
if (MyOperator == 3 && LastInput != "NEG")
{
txtRest.Text = "-" + txtRest.Text;
LastInput = "NEG";
}
//如果有一個操作數
break;
case 1:
Op1 = txtRest.Text;
if (MyOperator == 3 && LastInput != "NUMS" && OpFlag != 4)
{
txtRest.Text = "-";
LastInput = "NEG";
}
//如果有兩個操作數
break;
case 2:
//取得第二個操作數
Op2 = TempReadout;
//根據操作標記進行不同的操作
switch (OpFlag)
{
//如果是加法操作
case 1:
Op1 = (Double.Parse(Op1) + Double.Parse(Op2)).ToString();
//將兩個操作數相加然后復制給操作數1
//如果是減法
break;
case 3:
Op1 = (Double.Parse(Op1) - Double.Parse(Op2)).ToString();
//將兩個操作數相減然后復制給操作數1
//如果是乘法
break;
case 2:
Op1 = (Double.Parse(Op1) * Double.Parse(Op2)).ToString();
//將兩個操作數相乘然后復制給操作數1
//如果是除法
break;
case 0:
//首先判斷出書是否為0
if (Double.Parse(Op2) == 0)
{
//如果為0則顯示除數不能為0的提示框
MessageBox.Show("除數不能為0", "計算器");
}
else
{
Op1 = (Double.Parse(Op1) / Double.Parse(Op2)).ToString();
//將兩個操作數相除然后復制給操作數1
}
break;
//如果是等號操作
case 4:
//取得當前值
Op1 = Op2;
break;
}
txtRest.Text = Op1;
//則顯示計算結果
NumOps = 1;
//將操作數個數設置為一個
break;
}
if (LastInput != "NEG")
{
//如果最后一次輸入是負數
LastInput = "OPS";
//設置輸入類型
OpFlag = MyOperator;
//設置輸入操作類型
}
}
private void btnDiv_Click(object sender, EventArgs e)
{
OperatorCal(0);//除法
}
private void btnMul_Click(object sender, EventArgs e)
{
OperatorCal(2);//乘法
}
private void btnPlus_Click(object sender, EventArgs e)
{
OperatorCal(1);//加法
}
private void btnSub_Click(object sender, EventArgs e)
{
OperatorCal(3);//減法
}
private void btnEqu_Click(object sender, EventArgs e)
{
OperatorCal(4);//等號
}
}
}
[本帖最后由 武魂杰少 于 2015-6-7 10:12 編輯]
搜索更多相關主題的帖子:
public double
總結
以上是生活随笔為你收集整理的web加减乘除法c#_C#的加减乘除的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 摄影构图浅谈
- 下一篇: linux 脚本 if判断 o,shel