問 2(提出プログラム名:ex1202a.c)
このプログラム(ex1202a.c)をダウンロードし,その中の関数 write_symbols を完成させなさい.
関数 write_symbols は,指定されたファイルへ
x 個の +,y 個の #,z 個の @
を追加で書き込むものとする.
ただし,3 種類の記号を書き込んだ後(末尾)には改行も書き込むものとする.
なお,この関数の引数は次の 4 つである:
fp:書き込み対象のファイルを参照しているファイルポインタ
x:書き込む + の個数
y:書き込む # の個数
z : 書き込む @ の個数
この問題では,x, y, z はいずれも 0 以上の整数であると仮定してプログラムを作ってよい.
【注意】
関数 main の内容は一切書き換えないこと.
- 【プログラムの実行結果】(その1)※赤字は実行時にキーボードから入力する内容
出力先のファイルの名前を入力してください:data.txt 3 つの整数(+ の個数,# の個数,@ の個数)を入力してください:3 5 2 3 個の +, 5 個の #, 2 個の @ を data.txt に追加しました.⏎【実行例1でdata.txtに書き込まれる内容;事前にdata.txtは存在していなかった場合】
※行末に改行を書き込むのを忘れないこと.
+++#####@@⏎
- 【プログラムの実行結果】(その2)※赤字は実行時にキーボードから入力する内容
出力先のファイルの名前を入力してください:data.txt 3 つの整数(+ の個数,# の個数,@ の個数)を入力してください:1 3 1 1 個の +, 3 個の #, 1 個の @ を data.txt に追加しました.⏎【実行例1の続きで実行例2を行った後のdata.txtの内容】
+++#####@@⏎ +###@⏎
【過去にあったミス(実際に減点となり,やり直しを命じられた例)】
■ 書き込まれるファイルの内容が上の例と違う(きちんと確認していない).
■ 書き込まれる文字列の末尾に改行を書き忘れている.
■ 記号と記号の間に不要な空白が入ってしまっている.
■ 注意書きを見落としていて main 関数の中身を書き換えてしまっている.
■ インデントに不備がある(VSCode 上でインデントを自動で揃える作業をやっていない).
← [ 問 1 (ex1201a.c) ]
ミスが無いことを確認したら次の問題へ → [ 問 3 (ex1203a.c) ]