お願いします

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

お願いします

#1

投稿記事 by ユーリ » 16年前

#include <stdio.h>

int main(void)
{
	int y,m,d,ze;

printf("何年かを入力して下さい");
scanf("%d",&y);
printf("何月かを入力して下さい");
scanf( "%d",&m);
printf("何日かを入力して下さい");
scanf( "%d",&d);

ze=(y+(y/4)-(y/100)+(y/400)+(13*m+8)/5+d)%7;
printf("年=%d 月=年%d 日年=%d",y,m,d,ze);  
switch(ze){
case 0:
printf("日曜日\n");
break;
case 1:
 printf("月曜日\n");
break;
case 2:
printf("火曜日\n");
break;
case 3:
printf("水曜日\n");
break;
case 4:
printf("木曜日\n");
break;
case 5:
printf("金曜日\n");
break;
case 6:
printf("土曜日\n");
break;

}

return 0;
}
ツェラーの公式をつかって何年の何月の何日が何曜日と表示するプログラムなんですが
うまくいきません。ご指導のほどお願いします。

b

Re:お願いします

#2

投稿記事 by b » 16年前

とりあえず、タイトルが「お願いします」はないんじゃないかな。

Mr.AA

Re:お願いします

#3

投稿記事 by Mr.AA » 16年前

「質問です」とか「お願いします」とか、一覧見てもそれがどの質問が何の質問なのかわからない。
もう少し質問の内容に合った適切なタイトルをつけてください。

フリオ

Re:お願いします

#4

投稿記事 by フリオ » 16年前

 
 人に見せるソースは、インデントのつけ方を考えた方がいいです。
 "解決しました"だけでなく、どう解決したのか書いてほしいです。
 "うまくいきません"だけでなく、どう"うまくいかない"のか書いてほしいです。

 ツェラーの公式について調べなおしてみてはどうでしょうか。
 

conio

Re:お願いします

#5

投稿記事 by conio » 16年前

タイトル以外に、質問も良く分かりません。
「プログラムがうまく行きません」だと、何がどう上手くいかないのかが不明です。

こちら側で実行して、何を聞きたいのかを推測しないといけません。
場合によっては、見当違いの回答が返って来る可能性もありますよ。

--------------------------------------------
①エラーが出て、エラーの対処が分からない
②実行できるものの、意図した結果にならない
③その他の問題が発生した
--------------------------------------------
上記のように具体的に述べたほうが良いと思います。
そして、preタグも使うべきです。


で、実行してみたんですが、セミコロンが全角、printf関数の後ろに全角の空白がありました。
恐らく、どこからかコピペしてそのまま実行したんじゃないですかね?
(自分も、試しに大学の講義の資料をコピペ・実行して失敗した事があります)

-------------------------------------------------------------------
int main(void)
{
	int y,m,d,ze;
	char* day[7] = {"日","月","火","水","木","金","土"};

	printf("何年かを入力して下さい");scanf("%d",&y);
	printf("何月かを入力して下さい");scanf( "%d",&m);
	printf("何日かを入力して下さい");scanf( "%d",&d);

	ze = (y+(y/4)-(y/100)+(y/400)+(13*m+8)/5+d)%7;
	printf("%3d年%3d月%3d日は\n",y,m,d);
	printf("%s曜日です。\n",day[ze]);

	return 0;
}
-------------------------------------------------------------------
こんな感じでいいんじゃないでしょうか。
switch文が冗長になってしまっていたので、少し変更してあります。

【追記】
ユーリさんのプログラムはprintf関数のところもおかしいです。

--------------------------------------------------------------------
printf("年=%d 月=年%d 日年=%d",y,m,d,ze);
--------------------------------------------------------------------
最後のzeに対応する書式指定文字がありません。

バグ

Re:お願いします

#6

投稿記事 by バグ » 16年前

ついでに私からもひとつ。
解決した場合も「解決しました。ありがとうございました」だけではなく、どこをどのように変更して解決したのかを書くべきです。
似たような事で困っている人の為にもなりますしね(o^-')b

box

Re:お願いします

#7

投稿記事 by box » 16年前

>conioさん

printf文ではなくて、printf関数です。
正確な用語を使う方が、伝わりやすいと思います。

conio

Re:お願いします

#8

投稿記事 by conio » 16年前

指摘ありがとうございます。
直しておきました(_ _)

ユーリ

Re:お願いします

#9

投稿記事 by ユーリ » 16年前

ありがとうございました。
スイッチ文の方で頑張ってみたらできました。
配列の方もチャレンジしてみます

閉鎖

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