第10講 関数の学習
第4話 Windows上の展開
今までC++をコマンドライン上に展開してきましたが、
Windowsフォームアプリケーションに戻り、Windowsのソフトを作りながら関数の勉強を続けましょう。
最初に問題です。
第10講第1話でコマンドライン上に展開した
をWindowsソフトにしてください。
Form1上にlabel1置き、そこに1学期の成績、2学期の成績、3学期の成績、1年間の合計、1年間の平均を出力してください。
ビルドして実行ボタンを押すと
のようにスクロールできるようにするために、
Form1を右クリックしてプロパティを出して、
AutoScrollをTrueにして下さい。
さて、今回の学習内容は関数の学習ですから是非関数を利用しましょう。
関数System::Void button1_Click(System::Object^ sender, System::EventArgs^
e)は、C++の場合のmainに相当するものだとお考えください。
(正確に言うと、mainは別の場所にあります。ソリューションエクスプローラをクリックすると、次のようなWindowが開きます。
l.cpp(lはソリューション名、あなたがつけたソリューション名に変更して読んでください。)をクリックしてください。
とint mainがあることがわかります。
ですが、今のところ関数System::Void button1_Click(System::Object^ sender,
System::EventArgs^ e)がmainに相当するものだと考えて頂いて結構です))
そして、C++のように使う関数を冒頭で宣言する必要はありません。
ですが、乱数を使いますので、プログラム冒頭でstdlib.hファイルをインクルードしておく必要があります。
また、配列をグローバルに使うため配列の宣言も冒頭部で行ってください。
したがって、冒頭部は次のようにしておくとよいでしょう。
#pragma once
#include<stdlib.h>
char a[40][5];
char b[40][5];
char c[40][5];
namespace l {
・
・
・
本当は冒頭にString^ w;もいれて、文字を収納するグローバル変数を用意したいのですが、
これはエラーになります。
もともとC言語にはString^がなかったことが原因だと思われます。
したがって、もし関数を利用して1学期の成績、2学期の成績、3学期の成績、1年間の合計、1年間の平均を出力する場合には、
各関数で1度label1に表示させ、関数System::Void button1_Click(System::Object^
sender, System::EventArgs^ e)の
なかで、label1の内容を再収納させ、関数System::Void button1_Click(System::Object^
sender, System::EventArgs^ e)内でデータを蓄積させるようにしましょう。
例えば、
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^
e) {
String^ wr=L"";
String^ v;
gakki1();
v=label1->Text;
wr=wr+v;
・
・
・
}
void gakki1(void){
char i;
char j;
String^ w=L"";
・
・
・
label1->Text=w;
}
などです。では皆さん頑張ってソフト作りに励んでみましょう。
もちろん、1回でうまくいくことはありませんから粘り強い試行錯誤が必要です。
第3話へ 第5話へ
初心者のためのJava 入門 基礎から応用まで
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第1部
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第2部
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第3部
vb講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすい vb 入門 vba 入門 基礎から応用まで 第1部
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ