次の実行例のように任意個数の入力後、入力データの表示を行い、
希望の入力データの個数を表示するプログラムです。(赤の文字が入力)
まず『iarray.txt』のファイルが存在しないときの実行例です。
●入力は、数字以外の入力で終わる繰り返しです。(入力促進メッセージの左端番号は、入力に使うキーで連番です。)
●表示は、入力した順番で表示します。
0:DATA>5 1:DATA>2 2:DATA>6 3:DATA>5 4:DATA>end 0:5 1:2 2:6 3:5 数えたい値>5 5の値は、2個ありました。
●最後に、すべてのデータをファイル『iarray.txt』に保存します。
例えば、上記例のような入力を行った場合、右のように開くことができるファイルを作ります。
上記のような実行の後(ファイル『iarray.txt』がある状態で)、再び実行した時の実行結果は次のよう
にします。
ファイルから読み取って以前のデータを表示後に、キー入力して表示します。
そして
すべてのデータをファイル『iarray.txt』に保存して終了します。
0:5 1:2 2:6 3:5 4:DATA>4 5:DATA>5 6:DATA>2 7:DATA>end 0:5 1:2 2:6 3:5 4:4 5:5 6:2 数えたい値>2 2の値は、2個ありました。
次のように、複数入力の関数実行後に、その出力関数が実行できて、再びキー入力可能なプログラムが出来上がった後のプログラミング検討です。
以下で、私が進める思考のステップを示します。
参考にしてください。
この段階でキー入力データの個数計数プログラムをmainに書いてもよいのですが、
作品全体の仕様から、その他の必要な関数を先に定義します。
(ファイル操作が可能になると、
キー入力をしなくても、
ファイルのデータで、メインのプログラム実験が可能になります。)
関数化は、グローバル変数を利用する時、再利用できるような機能に分割して作ります。
「キー入力追加」、「データ全表示」と作ったわけですが、この仕様で必要な残りの機能は、
『ファイルからのデータ読み込み』と『全データをファイルに保存』することです。
以下にそれぞれの関数名を決めます。
関数名はグローバルスコープなので、一度名前を付けると同じ名前の関数を作れなくなります。
よって十分に検討して決めるべきものです。
●ファイルからデータ読み込む処理の関数名を決めます→load_ia
loadします_ int型の配列(array)へ・・・の意味で名づけました。
●すべてのデータをファイルに保存する関数名を決めます→save_ia
saveします_ int型の配列(array)のすべてを・・・の意味で名づけました。
←上記(赤)の指示で編集した後に クリックください。
(考える練習です。わからない場合は答えクリックください。)
上のコードを、実際にプログラム開発ができる環境で、実行させ確認後に、上記を変更するのがよいでしょう。
←答えを見て、学習してから作るのもよいでしょう
。
プログラミング初心者で、たくさんコードを書いてから、動かなくて困る人がいますが、 動く範囲で少し書いては、実行してその部分だけ検証し、動いたら次を考えて書くように進めることが大事です 。