質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VB

VB(ビジュアルベーシック)はマイクロソフトによってつくられたオブジェクト指向プログラミング言語のひとつで、同社のQuickBASICが拡張されたものです。VB6の進化版といわれています。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

Q&A

1回答

1422閲覧

計算がうまくいかない。

yamamoto_

総合スコア4

VB

VB(ビジュアルベーシック)はマイクロソフトによってつくられたオブジェクト指向プログラミング言語のひとつで、同社のQuickBASICが拡張されたものです。VB6の進化版といわれています。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

0グッド

0クリップ

投稿2019/11/04 08:41

単純な計算ができる電卓を練習で作ろうと試みているのですがわけがわからなくなりました。
足し算の段階でつまずいており、最初に入力した数値をope,二番目に入力した数値をnum,答えをansにしたつもりでしたが、計算してくれないのですがどこからやり直すべきでしょうか。

Partial Class Form1
Public Property BeforeIn As String

Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged On Error Resume Next '----------<< 変数宣言 >>---------- ' 今回押されたボタンの数字以外の値を保存する変数 Dim ope() As Integer = Nothing ' 今回押されたボタンの値を保存する変数 Dim beforeIn As Integer = "AC" ' 演算結果を保存する変数 Dim ans As Long = 0 ' 今回入力された数値を保存する変数 Dim num As Long = 0 End Sub Private Sub Button0_Click(sender As Object, e As EventArgs) Handles Button0.Click If BeforeIn >= "0" And BeforeIn <= "9" Then ' 直前の押されたのが数字ボタンのとき ' かつ、9桁未満の数値が入力されているとき If TextBox1.Text.Length < 9 Then TextBox1.Text &= "0" End If Else ' 直前の押されたのが数字以外のボタンのとき TextBox1.Text = "0" End If BeforeIn = "0" End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click If BeforeIn >= "0" And BeforeIn <= "9" Then ' 直前の押されたのが数字ボタンのとき ' かつ、9桁未満の数値が入力されているとき If TextBox1.Text.Length < 9 Then TextBox1.Text &= "1" End If Else ' 直前の押されたのが数字以外のボタンのとき TextBox1.Text = "1" End If BeforeIn = "1" End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click If BeforeIn >= "0" And BeforeIn <= "9" Then ' 直前の押されたのが数字ボタンのとき ' かつ、9桁未満の数値が入力されているとき If TextBox1.Text.Length < 9 Then TextBox1.Text &= "2" End If Else ' 直前の押されたのが数字以外のボタンのとき TextBox1.Text = "2" End If BeforeIn = "2" End Sub Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click If BeforeIn >= "0" And BeforeIn <= "9" Then ' 直前の押されたのが数字ボタンのとき ' かつ、9桁未満の数値が入力されているとき If TextBox1.Text.Length < 9 Then TextBox1.Text &= "3" End If Else ' 直前の押されたのが数字以外のボタンのとき TextBox1.Text = "3" End If BeforeIn = "3" End Sub Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click If BeforeIn >= "0" And BeforeIn <= "9" Then ' 直前の押されたのが数字ボタンのとき ' かつ、9桁未満の数値が入力されているとき If TextBox1.Text.Length < 9 Then TextBox1.Text &= "4" End If Else ' 直前の押されたのが数字以外のボタンのとき TextBox1.Text = "4" End If BeforeIn = "4" End Sub Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click If BeforeIn >= "0" And BeforeIn <= "9" Then ' 直前の押されたのが数字ボタンのとき ' かつ、9桁未満の数値が入力されているとき If TextBox1.Text.Length < 9 Then TextBox1.Text &= "5" End If Else ' 直前の押されたのが数字以外のボタンのとき TextBox1.Text = "5" End If BeforeIn = "5" End Sub Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click If BeforeIn >= "0" And BeforeIn <= "9" Then ' 直前の押されたのが数字ボタンのとき ' かつ、9桁未満の数値が入力されているとき If TextBox1.Text.Length < 9 Then TextBox1.Text &= "6" End If Else ' 直前の押されたのが数字以外のボタンのとき TextBox1.Text = "6" End If BeforeIn = "6" End Sub Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click If BeforeIn >= "0" And BeforeIn <= "9" Then ' 直前の押されたのが数字ボタンのとき ' かつ、9桁未満の数値が入力されているとき If TextBox1.Text.Length < 9 Then TextBox1.Text &= "7" End If Else ' 直前の押されたのが数字以外のボタンのとき TextBox1.Text = "7" End If BeforeIn = "7" End Sub Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click If BeforeIn >= "0" And BeforeIn <= "9" Then ' 直前の押されたのが数字ボタンのとき ' かつ、9桁未満の数値が入力されているとき If TextBox1.Text.Length < 9 Then TextBox1.Text &= "8" End If Else ' 直前の押されたのが数字以外のボタンのとき TextBox1.Text = "8" End If BeforeIn = "8" End Sub Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click If BeforeIn >= "0" And BeforeIn <= "9" Then ' 直前の押されたのが数字ボタンのとき ' かつ、9桁未満の数値が入力されているとき If TextBox1.Text.Length < 9 Then TextBox1.Text &= "9" End If Else ' 直前の押されたのが数字以外のボタンのとき TextBox1.Text = "9" End If BeforeIn = "9" End Sub Private Sub Clear_Click(sender As Object, e As EventArgs) Handles Clear.Click TextBox1.Text = "" End Sub Private Sub Puls_Click(sender As Object, e As EventArgs) Handles Puls.Click ' +ボタンクリック処理 Dim ope As String Dim ans As String Dim num As String If BeforeIn >= "0" And BeforeIn <= "9" Then ' 最初の入力数値をopeに保管 ope = CInt(TextBox1.Text) Else ' opeに保管されている ' +ボタンクリック前の数値と加算 num = CInt(TextBox1.Text) ans = CInt(TextBox1.Text) ans = ope + num TextBox1.Text = ans End If BeforeIn = "+" End Sub Private Sub kotae_Click(sender As Object, e As EventArgs) Handles kotae.Click ' =ボタンクリック処理 Dim ope As String Dim ans As String Dim num As String If BeforeIn >= "0" And BeforeIn <= "9" Then ans = CInt(TextBox1.Text) End If ' 演算子を判定して処理を振分 Select Case ans Case "+" ans = ope + num Case "" ans = ope - num Case "*" ans = ope * num Case "/" ans = ope / num End Select TextBox1.Text = ans End Sub

End Class

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

Pulsボタンやkotaeボタンが押された処理でそれぞれope等の変数を定義しています。
変数のスコープについて学習してください。

投稿2019/11/04 09:00

編集2019/11/04 09:05
YAmaGNZ

総合スコア10222

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問