作れません...

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

作れません...

#1

投稿記事 by destroy » 15年前

「誕生の月」と「現在の月」を入力し、誕生日まで何ヵ月あるかを表示するプログラムを作成する。尚、0以下または13以上が入力されたら「入力ミスです!」と表示して再入力を促し、1以上12以下が入力されるまで処理を繰り返すようにする。
プロトタイプ宣言は、
void error_message(void)
int get_month(void)
を用いる。


=実行結果の例=

<誕生の月>
月:11 (Enterを押す)
<現在の月>
月:5 (Enterを押す)
誕生日まであと6ヵ月ですね

<誕生の月>
月:0 (Enterを押す)
入力ミスです!
月:2 (Enterを押す)
<現在の月>
月:22 (Enterを押す)
入力ミスです!
月:12 (Enterを押す)
誕生日まであと2ヵ月ですね

と表示されるようにプログラムを作成したいのですが、まったく検討がつきません...
だれか教えてください!!よろしくお願いします!!

softya

Re:作れません...

#2

投稿記事 by softya » 15年前

「規約と注意事項」は読まれましたでしょうか?
今回の場合、次の3点にひっかかりますので、補足と対処をお願いします。

・質問は具体的にする。
・宿題の質問はOK!でも丸投げはX
・相互リンクすればマルチポストは○
http://detail.chiebukuro.yahoo.co.jp/qa ... 1333106123

初級者

Re:作れません...

#3

投稿記事 by 初級者 » 15年前

C言語のレベルを教えてください。
今回の問題を手で解けるかどうかを教えてください。

conio

Re:作れません...

#4

投稿記事 by conio » 15年前

---------------------------------------
【1】"0以下または13以上"の条件文
【2】再度 入力処理を繰り返す方法
【3】文字列の表示
【4】キーボードから値を読み込む方法
【5】ユーザー関数の定義・呼び出し
---------------------------------------

どれが分かっていて、どれが分からないのかを教えてください。

high_lows

Re:作れません...

#5

投稿記事 by high_lows » 15年前

//これでどうだ~!!

#include <stdio.h>

//関数プロトタイプ
void error_message(void);
int get_month(void);

//メイン関数
int main(){

int birth; //誕生の月
int now; //現在の月
int month; //あと何カ月か

//誕生の月を調べる
while(1){

printf("<誕生の月>\n");
birth = get_month();

if( !(birth>=1 && birth<=12) )
error_message();
else
break;

}

//現在の月を調べる
while(1){

printf("<現在の月>\n");
now = get_month();

if( !(now>=1 && now<=12) )
error_message();
else
break;

}

//あと何カ月かを調べる
month = now - birth;
if( month<0 )//年を繰り上げ
month = 12 + month;

//あと何カ月かを報告
printf("誕生日まであと%dヶ月ですね。\n" , month );

return 0;

}

//エラーを報告
void error_message(void){
printf("入力ミスです!\n");
}

//月を取得
int get_month(void){
int month;
printf("月:");
scanf("%d",&month);
return month;
}

閉鎖

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