アプリ版:「スタンプのみでお礼する」機能のリリースについて

c++言語で西暦と月を入力してその年月の日数を表示するプログラムを教えてください
#define CRT_SECURE_NO_DEPRECATE
#include <stdio.h>
int nisuu_chk(int,int);
int uru_chk(int,int);
void main(void)
{
int yy,mm;
char dsp[4]={28,29,30,31};
printf("年(西暦:4桁)を入力して下さい");
scanf("%d",&yy);
printf("月を入力して下さい");
scanf("%d",&mm);
printf("%d年%d月は%d日まであります",yy,mm,nisuu_chk(yy,mm));
}
ここから先がわかりません。
だれか、教えてください

A 回答 (6件)

>考えてもわかりませんので、教えてください。



int nisuu_chk(int nen,int tuki)
{
// 月が2月以外はその月の日数は決まっている。
// 1月なら31日、3月なら31日、4月なら30日・・・以下同様
if (tuki==1) return 31;
if (tuki==3) return 31;
if (tuki==4) return 30;
・・・以下同様
//最後に2月だけが残る。
//うるう年なら29日、そうでないなら28日になる。
if (uru_chk(nen,tuki)==1) return 29;//ここがうるう年
return 28;//ここはうるう年でないケース

}

int uru_chk(int nen,tuki)
{
//月はみない、年だけをみる。
//うるう年なら1を返す、そうでないなら0をかえす
//うるう年4年に1回ある。2000,2004のように4で割り切れる
//年をうるう年とする。(厳密には違うが・・・)
//4で割り切れるというのは、4で割ったあまりが0のこと
if (nen%4==0) return 1; //これがうるう年
return 0; //残りはそうでない年
}
    • good
    • 0
この回答へのお礼

できました。
ありがとうございます。

お礼日時:2008/09/14 15:08

#include <stdio.h>



int isleap(int y)
{
return !(y % 400) || (y % 100) && !(y % 4);
}

int days(int y, int m)
{
return 31 - ((m + (m < 8)) & 1) - (m == 2) * (2 - isleap(y));
}

int main(void)
{
int y, m;

scanf("%d %d", &y, &m);
printf("%d\n", days(y, m));
return 0;
}
    • good
    • 0

>int nisuu_chk(int nen,int tuki)


>{
>ここからわかりません

早っ!

この回答への補足

考えてもわかりませんので、教えてください。

補足日時:2008/09/13 22:41
    • good
    • 0

こんにちは。


前の投稿は締め切った方がいいですよ。

手順だけ載せますので後のコーディングは自力でどうぞ。

#include <stdio.h>

int nisuu_chk(int,int);
int uru_chk(int,int);

void main(void)
{
/* 年と月の入力 */
/* nisuu_chk()で日数を取得 */
/* 結果を出力 */
}

int nisuu_chk(int yy,int mm)
{
/* 各月の日数リストを宣言しておく */
/* 月に対応した日数を取得 */
/* もしうるう年の関連月なら調整 */
/* 日数を返す */
}

int uru_chk(int yy,int mm)
{
/* うるう年かどうかをチェック */
/* うるう年かどうかを返す */
}

ご参考までに。
    • good
    • 0

ここのサイトは期待した結果が得られないと思いますので、


参考URLのほうに投稿されてみてはいかがでしょうか?

参考URL:http://www23.atwiki.jp/homework/pages/4.html
    • good
    • 1

>ここから先がわかりません。


次は nisuu_chk() を実装しましょう。補足にどうぞ。

この回答への補足

int nisuu_chk(int nen,int tuki)
{
ここからわかりません

補足日時:2008/09/13 15:10
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!