4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Swift 4 電卓機能の連続計算(同じ四則計算のみ)

Last updated at Posted at 2018-08-07

#Swift4 電卓アプリの連続計算(同じ四則計算のみ)

Swiftで電卓アプリの連続計算を行う簡易的な方法の紹介をします。

連続計算では、2回目以降演算子が押されるごとに計算を行い表示させる必要がある。また、1回目に計算した結果を保存しておいて、2回目に行う計算に利用する必要がある。今回は、number1に計算結果、number2に入力した数値を入れて計算する方法を紹介します。

####足し算の連続計算の方法

ViewController.swift
   //足し算
 @IBAction func plus1() {
        if ope==1 {
            number1=number2+number1
            label.text1 = String(number1)
        }
        number2 = number1
        number1 = 0
        ope = 1
 }
ViewController.swift
    //イコールの足し算
   if ope == 1 {
            number1 = number1+number2
            label.text1 = String(number1)
   }

上記コードの解説
プラスが押された時にもし2回目が押されたら、1回目の数値と2回目の数値の足し算を行い合計値を表示させるプログラムである。1回目のプラスが押された時は、if文を通さないが、2回目に押された場合は、1回目の計算を行い、計算を表示させる必要がある。

####引き算の連続計算の方法

ViewController.swift
   //引き算
 @IBAction func minus1() {
        if ope==2 {
            number1=number2-number1
            label1.text = String(number1)
        }
        number2 = number1
        number1 = 0
        ope = 2

 }
ViewController.swift
    //イコールの引き算
        else if ope == 2{
            number1 = number2-number1
            label1.text = String(number1)
        }

上記コードの解説
コードの内容は、プラスの時の処理とほとんど変わらないが、opeの数値を2に変えて、演算子をマイナスに変更する必要がある。特にマイナスの場合は、プラスとは違ってnumber2-number1にしないと計算が逆になって間違った答え出してしまうため注意が必要です。

##まとめ
足し算の結果をnumber1に移行させてnumber2に移し変えてnumber1を初期化する。2回目に四則演算子が押された時は合計値を計算しLabelに表示させています。現時点では、同じ演算子のみでしか連続計算をやり続けることはできない。(ただしこのif文の処理をelse ifでつなげれば簡単にすべての演算子で連続計算できるように変更もできます)かけ算と割り算も同様な手順で行うことが可能です。下記のGithubのリンクを貼ってあるので全コードをダウンロードできます。
GithubダウンロードURL

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?