cinとswitch 文をくみあわせてみよう\(^o^)/
ソーラー 「今までは自分の実行したいcaseの命令文の番号2を
次のプログラムのように冒頭でint a=2;とうちこんでいました。
その結果
switch(2)となり
case 2:の後に続く命令文が実行されていました。」
そのプログラムはこちらです
👇
#include <iostream>
using namespace std;
int main() {
int a=2;
switch (a){
case 1:
cout<<"おはようございます\n";
break;
case 2:
cout<<"こんにちは\n";
break;
case 3:
cout<<"こんばんは\n";
break;
default:
cout<<"24時間営業です\n";
break;
}
return 0;
}
ビルド実行結果
こんにちは
ソーラー「
そして
今回は最初に冒頭でint a;の変数aに
数値データを代入して
それに対応したcaseに対応する命令文を実行するのでなく
自分があとから自由に数値データをうちこんで
その数値データに対応したcaseの命令文を実行させたいんだ。」
マックス 「自分が打ち込んだ数値データか・・・
まあ当然か
そういや・・・
自由に数値データを代入するには
cinがあるじゃないか・・・」
ソーラー 「そうなんです。
cinをつかい
キーボードから打ち込まれた数値データを変数aにとりこみ
その数値データに対応したcase文を実行させるんです。
つまり、こちらであとから自由に実行する命令文を選べる・・・
ということは
ゲームプログラムでたとえるなら
ボタンAに数値データ1を対応
ボタンBに数値データ2を対応させておけば
このボタンA(数値データを選べば)を押せば右にあるく、
このボタンB(数値データ2を選べば)を押せば左にあるく。
ような
プログラムをつくることも可能になるわけなんです(^^)」
マックス 「おおっ でかしたソーラー
さえてるじゃんか」
ソーラー 「まあ、このことはif else文でもできるんですけどね。
ま、とりあえず
次のプログラムをみてみてよ」
#include <iostream>
using namespace std;
int main() {
int a;
cin >> a;
switch (a) {
case 1:
cout << "おはようございます\n";
break;
case 2:
cout << "こんにちは\n";
break;
case 3:
cout<<"こんばんは\n";
break;
default:
cout << "24時間営業です\n";
break;
}
return 0;
}
ソーラー
「ほらっ マックス かんたんだよっ
このプログラムでは
cin>>a;でとりこんだ数値データが
int a;に格納され
その数値データに対応したcaseの
命令文が実行されるんだよ。
このプログラムが実行されると
コマンドプロンプト画面で
アンダーバー
_
が表示された
数値データ入力待ち受け状態になるので
数値データ2を打ち込んでやると
変数aに数値データ2が代入されるので
switch(a)
は
switch(2)
となり
case 2:のあとにつづく
cout<<"こんにちは\n";
が実行されて
ビルド実行結果
こんにちは
がコマンドプロンプト画面に表示される。
ビルド実行結果が表示されるのに
しばらく時間がかかるね。
実行結果をまっている間が楽しみなんだよ~ん
また、この表示されたときが快感なんだよ~~~
1,2,3以外の数値データがうちこまれた場合は
default:の後に続く命令文
cout<<"24時間営業です\n";
が実行されて
24時間営業です
がコマンドプロンプト画面に表示されるよ。
cinを使ったswitch 文の仕組みはこんなところかな。」
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます