Ex2. 電卓を作ろう

過去のブログのアーカイブ
この記事は前身のブログのアーカイブを引き継いだものです. 画像が正しく表示できないなど,コンテンツの表示に問題がある恐れがあります.

計算をするメソッドを書く

計算する流れも似たような感じです。なのでまとめて書いちゃいましょう!
calc7またボタンを複数選択して、Clickイベントを実装していきます。
肝心な計算をするところなので、慎重にコードを書いていきたいと思います。
なお、ここで紹介しているコードをつなげていけばいいだけです。

計算する数字を用意する

何と何を計算するのか、数字を用意します。
計算相手の数字はResultに入った数字で、それと今入力されている数字を使います。
今入力されている数字は文字型なので、double型(高精度浮動小数点数型)に変換してあげましょう。

double num1 = Result;
double num2 = double.Parse(Input_str);
 計算する

押された演算子に応じて、計算方法を分けてあげましょう。
演算子が押されていないパターンもあるので注意が必要です。

// 四則計算
if (Operator == "+")
    Result = num1 + num2;
if (Operator == "-")
    Result = num1 - num2;
if (Operator == "*")
    Result = num1 * num2;
if (Operator == "/")
    Result = num1 / num2;
// 演算子を押されていなかった場合、入力されている文字をそのまま結果扱いにする
if (Operator == null)
    Result = num2;

num1とnum2を計算して、それをResult変数に入れてあげるだけでOKです。

計算結果を画面に表示する

このコードはもうそのまんま。表示すればいいだけです。

// 画面に計算結果を表示する
textBox1.Text = Result.ToString();
後処理もお忘れなく

計算した後に、押された演算子を保存することや、入力された数字をリセットしておくことを忘れずにしなければいけません。
ということでそのコードも書いちゃいましょう。

// 今入力されている数字をリセットする
Input_str = "";
// 演算子をOperator変数に入れる
Button btn = (Button)sender;
Operator = btn.Text;
if (Operator == "=")
    Operator = "";
計算の部分は完成!

これで計算の部分は完成です。演算子のボタンのイベントの内容がこのようになっていればOKです。

double num1 = Result;
double num2 = double.Parse(Input_str);
// 四則計算
if (Operator == "+")
    Result = num1 + num2;
if (Operator == "-")
    Result = num1 - num2;
if (Operator == "*")
    Result = num1 * num2;
if (Operator == "/")
    Result = num1 / num2;
// 演算子を押されていなかった場合、入力されている文字をそのまま結果扱いにする
if (Operator == null)
    Result = num2;
// 画面に計算結果を表示する
textBox1.Text = Result.ToString();
// 今入力されている数字をリセットする
Input_str = "";
// 演算子をOperator変数に入れる
Button btn = (Button)sender;
Operator = btn.Text;
if (Operator == "=")
    Operator = "";

ちなみにこのコード、バグがあります。バグ修正は次のページでやっていきます。
次のページに続きます。