特集PC技術

納得C言語

 

[第15回]演習問題Ⅳ 第1問

第14回まで学習した内容を使い、演習問題を行います!


1 社員給与表を作ってみよう

下の表をscanf( )を使って構造体に格納して表示させてみよう
ただし、社員番号の入力で0を入力したら入力を終了し、データを表示させるようにします

3ヶ月分の社員給与表

結果のようになればOK!!

結果

社員情報の入力と表示

演習問題Ⅳ 第1問のヒント


1 社員給与表を作ってみよう

1.文字を入力させるところ以外は第14回の練習問題Ⅲの(1)と似ているので、作ったプログラムを思い出してみよう
2.構造体の型宣言で文字列をポインタで宣言すると実行中にエラーが生じるので、文字配列で宣言します
3.入力終了判定は社員番号入力後がいいでしょう。そうすることで無駄な入力を省くことができます



演習問題Ⅳ 第1問の解答


演習問題Ⅳ 第2問

第14回まで学習した内容を使い、演習問題を行います!


2 社員の平均給与

(1)で格納したデータで1人あたりの4月~6月の給与の平均を求める自作関数を作ってみよう。
結果のようになればOK!!

結果

社員の平均給与を求める


演習問題Ⅳ 第2問のヒント


2 社員の平均給与

1.自作関数で入力したデータの構造体を使いたい時は参照渡しを使って関数に渡します
2.自作関数で構造体を読み出す時は、ポインタを用いているのでアロー演算子を使います


演習問題Ⅳ 第2問の解答


演習問題Ⅳ 第3問

第14回まで学習した内容を使い、演習問題を行います!


3 役職ごとの平均給与

(1)で格納したデータで、役職ごとの給与の平均を求める自作関数を作ってみよう(やや難)

結果

役職ごとの平均給与


演習問題Ⅳ 第3問のヒント


3 役職ごとの平均給与

1.自作関数で入力したデータの構造体を使いたい時は参照渡しを使って関数に渡します
2.役職ごとの平均を求めるには、全ての役職名を抜き出す必要があります。抜き出した役職名を基に平均を出していきます。抜き出す方法は各自出来る方法を用いるといいでしょう。さらにどの役職に何人いるかというのも出しておく必要があります。


演習問題Ⅳ 第3問の解答


あとがき

C言語の学習の方は順調でしょうか?
今回はC言語で最も難しいと言われているポインタと構造体の学習を行いました。
ポインタや構造体は理解するのに時間がかかりますが、使いこなすことが出来ると本当に便利です。

正直、今回の学習ではポインタや構造体の全てを語りきることが出来ませんでした。
この学習を終えて、ポインタや構造体をもう少し詳しく知りたいと思った時にさらに深いところまで調べるといいでしょう。
今よりさらなる壁が立ちはだかりますが、それを乗り越えた時には間違いなくC言語の知識を身に付けたと実感しますよ。

さて、次回はいよいよ最終回です。
ここまでたどり着いたあなたならもう怖いものなしでしょう。

コメントの投稿


画像の中に見える文字を入力してください。

トラックバックURL

http://www.isl.ne.jp/cgi-bin/mt/mt-tb.cgi/1103

pagetopこのページの先頭へ戻る