第10講 プログラムソースを複数のファイルに分割して、プログラムをわかりやすくする
第3話 各ファイルのコード内容
では、各ファイルに次のようなコードを書き込んでください。
main.cppのコード
#include"main.h"
int main()
{
f(); //花子さんの挨拶を担当する社員
g(); //太郎さんの挨拶を担当する社員
return 0;
}
(これは全角が入っていませんのでコピペできます。
以下のコードも同様です。)
f.cppのコード
#include"main.h"
void f() {
printf("太郎さん、こんにちは!\n"); //コンソール画面に表示
}
g.cppのコード
#include"main.h"
void g() {
printf("花子さん、こんにちは!\n"); //コンソール画面に表示
}
f.hのコード
void f(); //花子さんの挨拶を担当する社員
g.hのコード
void g(); //太郎さんの挨拶を担当する社員
main.hのコード
#include<stdio.h>
#include"f.h"
#include"g.h"
さて、すべてのファイルに上述のコードが入りましたら、
Ctrl+F5をしてみましょう。
第10講第1話と同じになりました。
どうして同じ結果になるのでしょうか。
コンピュータは、最初に社長main()の入っているファイルmain.cppを読み込むに行きます。
1行目が#include"main.h"ですから、
main.hの内容
#include<stdio.h>
#include"f.h"
#include"g.h"
が読み込まれます。
さらに、
#include"f.h"によってf.hの内容
void f(); //花子さんの挨拶を担当する社員
が読み込まれ、
コンピュータは社長main()以外に、
社員f()がいることを理解します。
同様にして、
#include"g.h"によってg.hの内容
void g(); //太郎さんの挨拶を担当する社員
が読み込まれ、コンピュータは
もう1人の社員g()がいることをつかみます。
結局、この会社で働く人は、
社長main()と社員f()と社員g()の3人であることをコンピュータは知ることになるのです。
次に、コンピュータは、
int main()
{
f(); //花子さんの挨拶を担当する社員
g(); //太郎さんの挨拶を担当する社員
return 0;
}
を読み込みます。
社員f()の仕事内容を理解するためにコンピュータはf.cppを読み込んで、
f()の仕事内容をつかみます。
同様に、 社員g()の仕事内容を理解するためにコンピュータはg.cppを読み込んで、
g()の仕事内容をつかみます。
以上を通して、会社で働くメンバーと仕事の内容のすべてをコンピュータは理解できますので、
が実現するわけです。
コードが巨大になると、社員f()の内容などがどこにあるのか、
わからなくなり、何回もスクロールして探し出さなければなりませんが、
の当てはまっているところをクリックするだけで、
そのコードが
のように出てくるわけです。
あるいは、の当てはまるところをクリックしても同様です。
ゲームに戻る前にもう一つ説明しなければならないことがあります。
分割する前に戻すために、
前話で新たに付け加えたすべてのファイルいったん削除します。
それぞれのファイルで右クリックして削除→
削除と進んで削除します。
すべてが削除されると上のようになります。
そして、コピペで、
main.cppのコードを次のようにしてください。
#include<stdio.h>
void f(); //データ作成社員
void g(); //データ表示社員
int a[3][4];
int main()
{
f(); //データ作成社員
g(); //データ表示社員
return 0;
}
void f() { //データ作成社員
int i, j;
for (i = 0; i < 3; i++) {
for (j = 0; j < 4; j++) {
a[i][j] = 4 * i + j + 1;
}
}
}
void g() { //データ表示社員
int i, j;
for (i = 0; i < 3; i++) {
for (j = 0; j < 4; j++) {
if (a[i][j] < 10)printf("0%d ", a[i][j]);
if (a[i][j] >= 10)printf("%d ", a[i][j]);
}
printf("\n");
}
}
(これは全角が入っていませんのでコピペできます。)
これの実行画面は
です。
それで、前回と同様にしてプログラムソースを複数のファイルに分割してください。
1人の社員に対して1つのファイルとします。
同手順でやればうまくいくはずですが・・・
第2話へ 第4話へ
初心者のための excel 2016 マクロ VBA 入門講義 基礎から応用まで
vc++ c言語 c++ 入門 初心者 基礎から応用まで
eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門
数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための]世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
本サイトトップ