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));
}
ここから先がわかりません。
だれか、教えてください
No.5ベストアンサー
- 回答日時:
>考えてもわかりませんので、教えてください。
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; //残りはそうでない年
}
No.6
- 回答日時:
#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;
}
No.4
- 回答日時:
>int nisuu_chk(int nen,int tuki)
>{
>ここからわかりません
早っ!
No.3
- 回答日時:
こんにちは。
前の投稿は締め切った方がいいですよ。
手順だけ載せますので後のコーディングは自力でどうぞ。
#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)
{
/* うるう年かどうかをチェック */
/* うるう年かどうかを返す */
}
ご参考までに。
No.2
- 回答日時:
ここのサイトは期待した結果が得られないと思いますので、
参考URLのほうに投稿されてみてはいかがでしょうか?
参考URL:http://www23.atwiki.jp/homework/pages/4.html
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語配列の結合についてです。 なぜうまくいかないのでしょうか。 #include <stdio.h 4 2022/05/30 22:42
- C言語・C++・C# 宣言する関数の形が決まっている状態で、 str1とstr2の文字列をこの順に引っ付けてstrに保存し 2 2022/05/30 18:21
- C言語・C++・C# c言語でユーザ関数を利用して入力された文字列を反転させるプログラムを作りたいです。 3 2023/01/29 19:47
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
- C言語・C++・C# 至急教えてください!プログラミングの問題です。 割られる整数と割る整数を受け取って、商と余りを出力す 3 2022/07/05 10:23
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- C言語・C++・C# 質問です 下記のコードを分かりやすく解説お願いします 初心者です #include ‹stdio.h 3 2022/05/26 22:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語での引数の省略方法
-
「指定されたキャストは有効で...
-
#define _CRT_SECURE_NO_WARNIN...
-
複数桁10進数の*桁目だけを抽出...
-
(int *)の意味
-
卒業研究でよく分からないとこ...
-
ラップ関数とはどんなものですか?
-
if と配列の組み合わせ
-
C言語初心者です、、、お助けく...
-
【C++】関数ポインタの使い方
-
アスタリスクで正方形
-
インライン展開されているか確...
-
構造体の勉強中です 合計点の高...
-
異なる文字列のマッチングを、D...
-
数字列を3桁ごとにカンマで区切...
-
C言語 配列と関数の練習問題
-
C言語で三目並べをするプログラ...
-
入力を待たずにstdinの監視をし...
-
ファイルから読みこむ方法
-
課題でつまってます・・・
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「指定されたキャストは有効で...
-
C言語での引数の省略方法
-
複数桁10進数の*桁目だけを抽出...
-
#define _CRT_SECURE_NO_WARNIN...
-
ラップ関数とはどんなものですか?
-
卒業研究でよく分からないとこ...
-
【C++】関数ポインタの使い方
-
実数の整数部,小数部の取得
-
std::set<int> で、ある値が何...
-
C言語 エラーの原因がわからな...
-
c言語
-
system関数がうまくいかない
-
C++でvectorにテキストファイル...
-
acceptをalarmでタイムアウトさ...
-
if と配列の組み合わせ
-
return 1L
-
「{ } で囲むだけ」は正しい?
-
(マルチスレッド)_beginthrea...
-
PowerShellがうまくいかない
-
このプログラミング誰か教えて...
おすすめ情報