
switch文で曜日を表示するプログラムを作成したいのですが、
任意の月の1日を日曜日とし、入力された日にち(変数date)の曜日を変数dayとしました。
day=(date-1)%7
とし、day=0のとき日曜日、day=1のとき月曜日、・・・、day=6のとき土曜日とします。
dateに0以下の数が入力されたとき、default文で「その月は1日から始まります。」
dateに32以上の数が入力されたとき、default文で「その月は31日までです。」
といったエラーを表示させたいと思います。
1つのswitch文の中に2種類のdefault文をどうやって書いたらいいのかわかりません。
switch文以下のプログラムは、以下のように書いてみました。
day=(date-1)%7;
switch(day)
{
case 0:
printf("1月%d日は日曜日です。",date);
break;
case 1:
printf("1月%d日は月曜日です。",date);
break;
case 2:
printf("1月%d日は火曜日です。",date);
break;
(case 3~case 5も同様に書く。)
case 6:
printf("1月%d日は土曜日です。",date);
break;
default:
printf("1月は31日までです。"); /*dateに32以上の数が入力された場合のエラー表示*/
break;
default:
printf("1月は1日から始まります。"); /*dateに0以下の数が入力された場合のエラー表示*/
break;
}
しかし、1つのswitch文にdefault文は1つしか書けませんよね?
入力された日によってdefault文を使い分けるにはどうしたらよいのでしょうか。
No.2ベストアンサー
- 回答日時:
default内で処理するのなら以下の様にしますが、今回の場合はswitchの手前で判断しないとdefaultに該当する条件がありません。
例えば(32-1)%7=4となってしまいます。default:
if (date >= 32)
printf("1月は31日までです。"); /*dateに32以上の数が入力された場合のエラー表示*/
else
printf("1月は1日から始まります。"); /*dateに0以下の数が入力された場合のエラー表示*/
break;
No.4
- 回答日時:
「dateがマイナスの場合はともかくプラスの場合は」
は
「dateが0以下の場合はともかく1以上の場合は」
ですね・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コンソールアプリの入力時に改...
-
UWSCで変数をキー入力
-
コマンドプロンプトからのEOFの...
-
コンボボックスで日本語入力を...
-
漢字のソートについて
-
WindowsでEOF
-
数字以外が入力されたらエラー...
-
最早開始時間と最遅完了時刻を...
-
C言語 エラーの原因がわからな...
-
信頼区間の1.96や1.65ってどこ...
-
「Aに対するBの割合」と「Aに対...
-
For文の終了値を関数にしても問...
-
配列をnビットシフトする
-
数学 一次関数 関数 y=-3/4x+k(...
-
std::set<int> で、ある値が何...
-
Enterキーを押されたら次の処理...
-
sscanfとscanfの違いがよくわか...
-
main.c:7:43: warning: implici...
-
#define _CRT_SECURE_NO_WARNIN...
-
InvokeMemberメソッドとは何を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
数字以外が入力されたらエラー...
-
正負を反転させて出力するプロ...
-
プログラミング初心者です。 Py...
-
*をユーザーが入力した数字の数...
-
java初心者です。入力されたの...
-
コマンドプロンプトからのEOFの...
-
4桁の数字以外を入力したらエラ...
-
Eclipseコンソール表示を、リセ...
-
Excel VBAで、Application.Inpu...
-
"scanf"でエンターで改行させな...
-
cout関数を使っているのですが...
-
プログラミングの問題です 「金...
-
scanf関数について
-
Userformの入力順序をタブオー...
-
C言語でgetchar();が上手く使え...
-
プログラムの実行時に'<'でリダ...
-
C言語初心者です。ファイルの読...
-
scanf が無視されます
-
実行結果の順番がおかしいんで...
-
C言語scanf_sで何故か2回入力に...
おすすめ情報