質問

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
イマコ

質問

#1

投稿記事 by イマコ » 2年前

西暦年を入力し、下記のように元号に換算して出力するプログラム e-b-1.c を作成せよ。
• 入力された数が 1988 以下の数の場合は再入力を要求する
• 入力された数が 1989~2018 の場合は『Heisei XX nen.』(平成 XX 年) を計算・表示する
• 入力された数が 2019 以上の場合は『Reiwa XX nen.』(令和 XX 年) を計算・表示する (平成 31 年については考慮しない)
• 余力があれば、計算された元号が 1 年の場合に『1 nen』ではなく『Gan nen』(元年) と表 示できればなお良い
e-b-1.c の実行例
Enter year >> 1988
Enter year >> -1000
Enter year >> 2015
Heisei 27 nen.

この問題のやり方がわかりません 教えていただけると幸いです

box
記事: 2002
登録日時: 13年前

Re: 質問

#2

投稿記事 by box » 2年前

• 入力された数が 1988 以下の数の場合は再入力を要求する
まずは、この仕様をみたすinputYear関数を作ることを考えましょうか。
inputYear関数では、do ~ while ループか何かを使って、
誤った入力をしている間は再入力を促し、1989以上の整数値を入力したら
その値を呼び出し元に返すとよいでしょう。
引数の有無、戻り値をどうするか、考えてみましょう。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。

返信

“C言語何でも質問掲示板” へ戻る