第2講 変数を理解しよう

第5話 TextBoxから値を取得

前和課題解答例
#pragma endregion
  private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
          int a,b,c; //まとめて変数を宣言。整数型や実数型などではまとめて宣言できる。

          //変数に整数を代入
          a=6;
          b=5;

          //aを表示
          label1->Text=a.ToString();
          //bを表示
          label3->Text=b.ToString();

          //和を計算
          c=a+b;
          //和を表示
          label9->Text=c.ToString();

          //差を計算
          c=a-b;
          //差を表示
          label10->Text=c.ToString();

          //積を計算
          c=a*b;
          //和を表示
          label11->Text=c.ToString();

          //商を計算
          c=a/b;
          //商を表示
          label12->Text=c.ToString();
        }
  };
}
実行結果
wet
大分見やすくなりました。
しかし、まだ課題があります。
aとbの値を変更するとき、いちいちプログラムソース(コード)をいじらなければなりません。
できれば、立ち上げたソフト上から値を取得してソフト上でいろいろな計算ができるようにしたいものです。
それができれば一応簡易計算ソフトができたことになります。
ソフト上で値を取得したいときに、利用するものとしてツールボックスにTextBoxがあります。
wergこれを使いForm1を次のように変更します。
erw
textBox3,4,5,6はlable7,8,9,10でも結構です。
ただ、textBoxの方が見栄えはいいかと思います。
(label3等は、プロパティのTextを使って『和』などに変更してください。
そして、コード(プログラムソース=ソースコード)を次のように変更してください。
#pragma endregion
  private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
          int a,b,c; //まとめて変数を宣言。整数型や実数型などではまとめて宣言できる。

          //変数に整数を代入
          
a=int::Parse(textBox1->Text);
          b=int::Parse(textBox2->Text);

          //和を計算
          c=a+b;
          //和を表示
          textBox3->Text=c.ToString();

          //差を計算
          c=a-b;
          //差を表示
          textBox4->Text=c.ToString();

          //積を計算
          c=a*b;
          //和を表示
          textBox5->Text=c.ToString();

          //商を計算
          c=a/b;
          //商を表示
          textBox6->Text=c.ToString();
        }
  };
}
ソフトを起動して実行ボタンを押すときは、必ずtextBox1とtextBox2には値を入れてください。
textBox1とtextBox2に値を入れないで、実行ボタンを押すとエラーします。
実行結果
e

解説
a=int::Parse(textBox1->Text);は変数aにtextBox1のTextの値を入れています。
この際に注意が必要です。
a=textBox1->Text;だとエラーします。
なぜエラーするかおわかりですよね。
aは整数型の変数で、数量としての整数しか収納できません。
しかし、Textプロパティには、数量としての整数は入れることができません。
Textプロパティに入っているものは整数であってもそれは文字扱いなのです。
すると、
a=textBox1->Text;だと整数しか入れることのできない箱に文字を入れる行為になってしまいます。
これは禁則に反するのでエラーするのです。
その問題を解決するのが、
int::Parse(textBox1->Text)なのです。
int::Parse()は、文字を数量としての整数に変更するためのツールです。
文字aを数量としての整数に変更するためには

int::Parse(
a) を使い
数量としての整数aを文字としての整数に変更するには、
a.ToString() を使うのです。
今回のソフトはtextBox1とtextBox2に値を入れ直せば、何回でも計算させることができます。
別の値を入れて実行ボタンを押してください。

今回のソフトを改良して、
次のような簡易計算ソフトを作ってみましょう。
age
尚、割り算が正確にできない問題は、第7話で解消します。
それまで気持ち悪いでしょうが我慢してください。
もし、我慢できない方はVC++講義第6話 実数型変数の学習をお読みください。

大変難しい問題ですが、皆さんプログラムコードを考えてください。
本講座名は『初心者のための世界で一番わかりやすいVC++入門基礎講座』となっていますが、
やはり、学習者が粘り強く試行錯誤をされることを前提にしています。
コンピュータの学習は、マンツーマンの手取り足取りの学習以外は苦労はつきものです。
なぜなら、無意識にちょっといじっただけでデフォルトの(最初の)設定と変わってしまい、
説明画面と同一とは限らないからです。
基本姿勢は、説明と違っていても自分の考えている通りにプログラムが動けばいいです。



第4話へ 第6話へ

025


vc++講義第1部へ
vb講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ

数学研究室に戻る