基礎課題5-3

下のようなフォームを持つプログラムを作って下さい。

主なコンポーネントの Name プロパティは、次のようにして下さい。

コンポーネント Name
ボタン「計算と判定」 ButtonMain

「パソコン本体の値段」と「ディスプレイの値段」を入力してから「計算と判定」ボタンを押すと、合計金額を表示し、合計金額が300000以下なら「買える。」そうでなければ「買えない。」と表示するプログラムを作ります。
まず、ButtonMain を押したときの処理(イベントハンドラ)を、以下のように書いて下さい。

次に、上に書いた「Keisan」と「Hantei」モジュールを、自分で次のように書きます。


最後に、「Keisan」と「Hantei」というモジュールを自分でつくったことを C++Builder に知らせるために、コードエディタの上の方で宣言をします。下図の、枠で囲った2行を追加して下さい。
5-7 モジュール(7)
―モジュールを作ろう―


☆ 総目次へ ★ 第5章目次 ★ 前節へ ★ 次節へ ☆

☆ 『Delphi入門』 5-7モジュール(7)-モジュールを作ろう- ☆

これまで何度も目にしてきた、モジュールの中の

という部分は、Delphi が自動的につくってくれました。この部分は、関数の基本的な書式になり、自分で書くこともできます。  

基礎課題5-3 解答
関数の基本形

    

このうち[ ]で囲まれた部分は省略可能です。

戻り値の型
 関数には戻り値を返すものと返さないものがあります。C++Builderでは、Delphiと違い、値を返しても返さなくても関数の書式は同じです。値を返さない関数は、戻り値の型にvoidと書くといいです。voidとは「何もない」というような意味になります。
C++Builderのイベントハンドラにvoidがついてるのは、値を返さない関数だからです。


値を返す場合は、voidの代わりに返す値の型を書きます。。例えばint型の整数を返すのであれば、voidの代わりにintとなります。

__fastcall
 __fastcallは、おまじないのようなもので、深く考えなくてもよい。イベントハンドラには付けなくてはならないが、自分で作る関数には付けても付けなくても問題はありません。
__fastcallC++Builderによる拡張で、標準のC++にはないものになります。

クラス名
 変数と同様、関数にもスコープがあります。その関数がForm1のメンバであるときには、ここに「TForm1::」などと記述します。グローバルな関数には付ける必要はありません。

関数名
 関数名には、好きに名前を付けてかまわないが、使える文字には変数と同じ制限があります。処理内容に合わせて分りやすい名前を付けましょう。

(型 引数名, 型 引数名,・・・)
 引数は、関数に渡されるデータのことです。引数は変数の宣言と同じく、「(int aint b)」のように型と引数の名前の名前をペアにして、「,」で並べます。引数の数はいくつでもよく、引数がなくても問題ありません。引数がないときでも、「()」は必要になります。引数がないことを明示したいなら、「(void)」と書いてもいいでしょう。

return
 戻り値がvoid以外の関数では、必ずreturnを使って値を返さなければならない。例えばint型の整数を返す関数の場合、「return 10;」と記述すると、関数は10を返し、関数を抜ける。
                    Delphiとの相違点                    
☆ 『Delphi入門』 5-7モジュール(7)-モジュールを作ろう- ☆

☆ 総目次へ ★ 第5章目次 ★ 前節へ ★ 次節へ ☆