電卓で計算するたびカウントするには?

解決


ヤッシー  2005-06-07 16:08:49  No: 122331  IP: [192.*.*.*]

前回とは内容が変わるので作り直しました。
電卓で、計算するたびにカウントされて、計算回数が10回を超えるとクリアを押さない限り動作しなくなる様にしたいのですが、誰か教えてください。

例  
1+2+3+4+5+6+7+8+9+10までならば計算できる。
1+2+3+4+5+6+7+8+9+10+11になるとクリア押すまで動作をしなくなる。

編集 削除
いな  2005-06-07 16:27:10  No: 122332  IP: [192.*.*.*]

え?カウンターの作り方っていわれても
ん〜、

例えば、+、−、×、÷ が押下されたら、
Cnt = Cnt + 1
=や、クリアが押下されたら、
Cnt = 0、

Cntが10以上ならば動作しなくなる、

なぁ〜んてコテコテなアドバイスをしたら、総突込み貰いそう。

#ガッさん辺りに...

編集 削除
ヤッシー  2005-06-07 16:38:55  No: 122333  IP: [192.*.*.*]

えーと・・・
For カウンター変数 = x to y
    何らかの処理
Next カウンター変数
みたいな感じでいいのですか?
御免なさい;;

編集 削除
いな  2005-06-07 16:52:27  No: 122334  IP: [192.*.*.*]

それだと、電卓のソースコードを知らない
私たちとしては、
それでできるかも知れないけど、もっと簡単にできない?

何をされたときの、回数(カウント)を取得したいの?
例えば、

フォームにボタン2つ用意して

--
Public ICount As Integer
Private Sub Command1_Click()
    ICount = ICount + 1
End Sub

Private Sub Command2_Click()
    MsgBox "あなたはCommand1ボタンを" & ICount & "回クリックしました。"
End Sub

--を貼り付けてください。
ここでいうカウンタとは、
ボタンの押された回数を取得する為に設けられた、ICount
のことを言っており、
四則演算の基礎の基礎、変数に格納された数値を +1する。
でできます。

編集 削除
ヤッシー  2005-06-07 17:13:54  No: 122335  IP: [192.*.*.*]

変数が↓です。 
Private cal As Integer
    '1:演算終了
    '2:加法
    '3:減法
    '4:乗法
    '5:除法
    Private a As Long

↓が足し算の時のソースコードです。
    Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click
        For cal = 0 To 10
            cal = cal + (cal > 5) * 5
            Select Case cal

                Case 0, 1
                    cal = 2
                    a = Val(TextBox1.Text)
                    TextBox1.Text = Trim(Str(a))
                Case 2
                    cal = 2
                    a = a + Val(TextBox1.Text)
                    TextBox1.Text = Trim(Str(a))
                Case 3
                    cal = 2
                    a = a - Val(TextBox1.Text)
                    TextBox1.Text = Trim(Str(a))
                Case 4
                    cal = 2
                    a = a * Val(TextBox1.Text)
                    TextBox1.Text = Trim(Str(a))
                Case 5
                    If Val(TextBox1.Text) = "0" Then
                        cal = 1
                        TextBox1.Text = "Error"
                    Else
                        cal = 2
                        a = a / Val(TextBox1.Text)
                        For cal = 1 To 10
                            cal = cal + 1
                        Next
                    End If
            End Select      
        Next cal
    End Sub
自分は(+  −  *  /)を押したときにカウントを取ってほしいと思っています。

編集 削除
ガッ  2005-06-07 18:02:48  No: 122336  IP: [192.*.*.*]

ノ<学校でPenProを拾ってきたガッです。
ちょとホクホクなのでレスしてみたいと思いますた。

> いなさん
> なぁ〜んてコテコテなアドバイスをしたら、総突込み貰いそう。

> #ガッさん辺りに...
(´Д`;)<私もそれ以外に書きようがないです罠w
            …でも電卓って時期が遅いよーな希ガス。


> ヤッシーさん
> Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click
>     For cal = 0 To 10
>         cal = cal + (cal > 5) * 5
>         ...
>     Next cal
> End Sub
これでは、変数calが
cal cal=cal+(cal>5)*5
0   0
1   1
2   2
...
4   4
5   0
となってしまうような…
意味のあるコードではありませんねぇ。
既に構想は練られているなので、もっと吟味しましょうとしか言い様がありません。
ノシ<でわ

編集 削除
通ってみた  2005-06-07 20:21:13  No: 122337  IP: [192.*.*.*]

数字のボタンを配列にして、

cnt = cnt + 1

を追加。
演算ボタンを配列にして、

If cnt > 10 then
    Exit Sub
End If

クリアボタン押したら

cnt = 0

でいいんぢゃないの?

編集 削除
通ってみた  2005-06-07 20:22:26  No: 122338  IP: [192.*.*.*]

ちがったorz

演算のトコで

cnt = cnt + 1

だった

編集 削除
ヤッシー  2005-06-08 08:50:52  No: 122339  IP: [192.*.*.*]

返事遅れてごめんなさい。
ガッさん、通ってみたさん、いなさんありがとうございました。
無事に作ることが出来ました^^

編集 削除