問 3(提出プログラム名:ex0403.c)
ある提案について,複数の人たちに賛成か反対かを投票してもらったとする.
以下の実行例に示すかたちで投票結果を集計するプログラムを作成しなさい.
ただし,必ず do – while 文を使うこと(while 文ではない点に注意).
なお,1 つの投票は 1 つの整数で表現されるものとし,賛成ならば 1,反対ならば 0 とする.
そして,-1 が入力されたら投票は終了とする.
ここでは,-1, 0, 1 以外の整数が入力されることは無いものと仮定してプログラムを作ってよい.
提出するソースファイル(ソースプログラム)のファイル名は ex0403.c としなさい.
【ヒント】
この問題の場合,入力された値が「-1 ではない」限り処理を繰り返すことになります.
- 【プログラムの実行結果】(その1)※赤字は実行時にキーボードから入力する内容
-1 が入力されたら「終了しました」と出力(末尾で改行)するのを忘れないこと!
投票してください:1 賛成ですね⏎ 投票してください:0 反対ですね⏎ 投票してください:1 賛成ですね⏎ 投票してください:1 賛成ですね⏎ 投票してください:0 反対ですね⏎ 投票してください:1 賛成ですね⏎ 投票してください:-1 終了しました⏎ 賛成 4 票,反対 2 票⏎最後の反対票数を出力させる際には末尾の改行を忘れないこと!
- 【プログラムの実行結果】(その2)※赤字は実行時にキーボードから入力する内容
投票してください:-1 終了しました⏎ 賛成 0 票,反対 0 票⏎
【過去にあったミス(実際に減点となり,やり直しを命じられた例)】
■ 実行の画面出力が上の例と違う(きちんと確認していない).
(例1)賛成と反対の集計結果が逆になっている.
(例2)「賛成ですね」,「反対ですね」,「終了しました」が表示されていない.
■ 賛成票や反対票を数えるための変数を使うにあたって初期化(最初に 0 にしておくこと)を忘れている.
■ インデントに不備がある(VSCode 上でインデントを自動で揃える作業をやっていない).
以上の 3 問は明日(5/2)の 16時までに提出を済ませてください.
(ex0401.c ~ ex0403.c を Moodle から提出してください.)
くれぐれも各問題で記載されている注意事項や「過去にあったミス」を見落とさないようにしてください.なお,コンパイルエラーや無限ループが含まれる場合は総合評価を 0 点とします.
提出後に間違いに気付いた場合,〆切前であれば差し替え(上書き)は可能です.
← [ 問 1 (ex0401.c) ]
← [ 問 2 (ex0402.c) ]
次のページ以降に問 4 ~問 9 があります.
問 4 以降を明日の16時までに早期提出した場合は加点の対象とします
(一部のみを早期提出してもよいです).
※なお,明らかに間違っている(まともに動かない)プログラムを早期提出するのは絶対にやめてください.不正に加点を得ようとした行為と見なして減点とします.
次の問題へ → [ 問4 (ex0404.c) ]