ページ 1 / 1
エラーになるのですが
Posted: 2009年12月15日(火) 20:33
by 初心者
if (month == 2)
days = 28;
else if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)
days = 31;
else if (month == 4 || month == 6 || month == 9 || month == 11)
days = 30;
この場合わけやるとエラーになります。なぜですか?
Re:エラーになるのですが
Posted: 2009年12月15日(火) 20:51
by non
先ほどの「お願いします!」さんとは、別の方なのでしょうか?
「初心者」というハンドルネームは、他の方が既に使われています。
お願いするという立場なら、もう少し規約を読んで常識をわきまえてはいかがでしょうか。
プログラムは全部を添付して下さい。
エラーが出る場合は、何というエラーか記述して下さい。
Re:エラーになるのですが
Posted: 2009年12月15日(火) 21:03
by C言語
#include <stdio.h>
int main(void)
{
int month, days;
puts("月を入力してください:");
scanf("%d",&month);
//
if (month ==2)
days == 28;
else if (month ==1 || month ==3 || month ==5 || month ==7
|| month ==8 || month ==10 || month ==12)
days == 31;
else if (month ==4 || month ==6 || month ==9 || month ==11)
days == 30;
printf("%d月は%d日あります。\n", month, days);
return(0);
}
//
解答例が1月は1049568日あります。になってしまいます。
Re:エラーになるのですが
Posted: 2009年12月15日(火) 21:18
by デラ初心者
switch文にすれば良いんじゃないですか?
Re:エラーになるのですが
Posted: 2009年12月15日(火) 21:19
by non
先ほどの「初心者」さんと同じ方でしょうか?
「C言語」というハンドルネームの方もおられますが・・・
まぁ、それはそうとして、規約は読みましたか?
添付するときのルールがありますよ。
最初に添付してあるものと、今回添付してあるものでは、違います。
判断に困ります。
BCCでコンパイルしましたが、エラーは出ません。(警告はありますが)
あなたの環境は何ですか?
Re:エラーになるのですが
Posted: 2009年12月15日(火) 21:56
by デラ初心者
先ほどの「初心者」さんと同じ方でしょうか?
「C言語」というハンドルネームの方もおられますが・・・
自分は別人です
名前の通り初心者です
自分のコンパイラは
MicrosoftVisualC++2008です
Re:エラーになるのですが
Posted: 2009年12月15日(火) 22:06
by box
> if (month ==2)
> days == 28;
days に 28 を代入するときの等号は2個必要ですか?
Re:エラーになるのですが
Posted: 2009年12月15日(火) 22:18
by Dixq (管理人)
> デラ初心者さん
きっとnonさんはトピ主に言っているのだと思いますよ^^;
後、初心者さん、C言語さん、お願いします!さんは同じ方ですね。
明らかに回答の質問に対して答えているのに名前を変えるのは何故なのでしょうか・・。
投稿の仕方がちょっと酷いようです。
よく規約を読んで投稿して下さい。
Re:エラーになるのですが
Posted: 2009年12月15日(火) 22:18
by non
>先ほどの「初心者」さんと同じ方でしょうか?
>デラ初心者さん
間に、デラ初心者さんのメッセージが入っちゃいましたが、
デラ初心者さんに、お尋ねしたわけではありません。
Re:エラーになるのですが
Posted: 2009年12月15日(火) 22:20
by たかぎ
> この場合わけやるとエラーになります。なぜですか?
文法が間違っているから。
Re:エラーになるのですが
Posted: 2009年12月16日(水) 08:41
by デラ初心者
そうですか~
少々邪魔したようですね
申し訳ありません
Re:エラーになるのですが
Posted: 2009年12月16日(水) 13:18
by Naohiro19
== はif文の比較を行うため必要ですが
daysに代入するときは== ではなく=です。
No:44157のプログラムはランタイムエラーを引き起こします。
Re:エラーになるのですが
Posted: 2009年12月16日(水) 19:28
by デラ初心者
自分ならこの様に書きます
switch(month){
case 2:
days =28;
break;
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days =31;
break;
これじゃ1~12以外が押されたら困りますが・・・