No.2
- 回答日時:
どのような表示を行う予定なのでしょうか?
前回の質問のソースから考えて、入力した月・日に対して、
○月○日は、日曜日です。
と表示するのでしょうか?
それなら、入力した月・日を表示すれば問題ないと思いますが、もし別の出力であれば、どういった表示をしようとしてるのかが、解らないので回答のしようもありません。
この回答への補足
エラーの意味を聞いたときに自分で作ってみたものを書いたのですが、このようにやってみたいのです。
#include <stdio.h>
main()
{
int i,day,month;
int dates[]={31,28,31,30,31,30,31,31,30,31,30,31};
printf(" 月を入力してください → ");
scanf("%d",&month);
printf(" 日を入力してください → ");
scanf("%d",&day);
for(i=0;i<monthi-1;i++){
day=day+dates[i];
if(day%7=0){
printf("%d月%d日は、日曜日です。");
}
else if(day%7=1){
printf("%d月%d日は、月曜日です。");
}
else if(day%7=2){
printf("%d月%d日は、火曜日です。");
}
else if(day%7=3){
printf("%d月%d日は、水曜日です。");
}
else if(day%7=4){
printf("%d月%d日は、木曜日です。");
}
else if(day%7=5){
printf("%d月%d日は、金曜日です。");
}
else if(day%7=6){
printf("%d月%d日は、土曜日です。");
}
}
No.3
- 回答日時:
補足見ました。
前のままのソースですね(^^printf("%d月%d日は、日曜日です。",month,day);
でいいんじゃないんでしょうか?
要求した入力をそのまま出力しましょう。
算出するのは、曜日のみなので、計算結果の月・日を出力する必要はありません。
余分な処理はバグの素です。
この回答への補足
以前に書いた質問をコピーして貼り付けてしまったので、printf("%d月%d日は、日曜日です。",month,day);のmonth,dayを加えて補足に書くことを忘れれしまいました。すると、for文の次のday=day+dates[i]は省いてしまっていいのでしょうか。それとも新たに書くことがあるのでしょうか。
補足日時:2001/01/25 18:20No.4
- 回答日時:
あっ、すみません、良くソースを見ていませんでした。
入力した日数をそのまま、曜日算出用に足しこんでいるんですね。
入力したdayはそのままで、別の変数を用意し、dayの入力後にその変数に代入して入力した日を確保します。
で、printf分でその確保した日を表示します。
この回答への補足
代入ということは、つまり、冒頭のところで例えばaを用意してa=dayという形をとって最後のprintfでday→aにするということでしょうか
補足日時:2001/01/25 19:41No.5ベストアンサー
- 回答日時:
このソース、コンパイルエラー出ませんか?
for文の引数変数名が違っていたりします。
それを考慮に入れても、月入力で1を入れると
当然forループは回りません。
でも、1月は問題ないんですよね!?
あと、1月1日は、必ず月曜日ということでいいのでしょうか?
多分やりたいことは、1月1日から積算された日が何曜日になるかを
やりたいんだと思うのですが、そういう意図であれば、積算変数を
作ったほうが無難です。
このままのやり方だと、入力されたdayが、for文内で積算されて
表示するときにまた戻さなくてはなりません。
No.8
- 回答日時:
printf("%d月%d日は、日曜日です。
",month,hi);とやっているのでしょうか?
それとも
printf("%d月%d日は、日曜日です。",month,day);
とやっているのでしょうか?
補足で表示されているソースと質問されている変数が違っているので、
多分、解答している皆さんもどちらなのか迷っているのでは。
ちなみに、下のソースはコンパイルエラーがでます。
hi=dayと想定して、
曜日判定をしたら、加算されたhiを元に戻しましょう。
戻し方は、月と各月の日数がわかっているのですから
引き算するだけです。
加算しているのだから、その逆をやればいいのです。
あと、曜日は不変ですから、配列変数に入れると
if文はいらなくなりますよ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 列 A に同じ日が2つが必要です。 1 2023/03/28 07:25
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Excel(エクセル) エクセル関数について 2 2022/04/13 18:25
- Visual Basic(VBA) excel2016でリストからカレンダーに内容を反映させたいです 2 2022/10/27 15:32
- Visual Basic(VBA) マクロで設定時刻の入力がわかりません 2 2022/03/29 02:24
- Java Java、配列の問題を教えて欲しいです。 ・日、月、火、水、木、金、土 ・各曜日の英語 を2次元配列 2 2023/07/10 19:14
- Access(アクセス) Access DTPickerの初期表示月を変えたい 1 2022/08/02 08:55
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/01/10 09:15
- Excel(エクセル) エクセルについて 8 2023/02/11 07:36
- Access(アクセス) Accessフォーム 一部のレコードだけを抽出する方法について 1 2022/06/28 18:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
正負を反転させて出力するプロ...
-
double型が正常に認識されてい...
-
C言語 While文(ループ)内の...
-
数字以外が入力されたらエラー...
-
プログラムC言語の整数の約数に...
-
C言語 逆ピラミッドの作り方
-
2進数の1の数を数える問題
-
4桁の数字以外を入力したらエラ...
-
ダメだ・・・分からない。while...
-
入力値が1以下、かつ数字以外の...
-
VBでの日付入力値のフォーマッ...
-
c言語でひらがなのしりとりをで...
-
scanfが2回使えない・・・?;
-
Eclipseでコマンドラインを入力...
-
プログラム(C)
-
C言語でのカレンダー作成
-
キーボード入力の終了につきま...
-
C言語 for文をつかって記号を表...
-
C言語でつるかめ算をするにはど...
-
プログラミング初心者です。 Py...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
*をユーザーが入力した数字の数...
-
正負を反転させて出力するプロ...
-
数字以外が入力されたらエラー...
-
プログラミング初心者です。 Py...
-
double型が正常に認識されてい...
-
java初心者です。入力されたの...
-
Eclipseコンソール表示を、リセ...
-
scanfが2回使えない・・・?;
-
C言語scanf_sで何故か2回入力に...
-
if文の条件にscanf関数を使うと…?
-
プログラミングの問題です 「金...
-
Linuxで入力待ちなしkeyread関...
-
ワードで文字を入力する時の変...
-
cout関数を使っているのですが...
-
batプログラム上で文字列を入力...
-
Userformの入力順序をタブオー...
-
scanf が無視されます
-
C言語 逆ピラミッドの作り方
-
gets_sがうまく動かない
-
Excel VBAで、Application.Inpu...
おすすめ情報