scanf関数とswitch 文をくみあわせてみよう\(^o^)/ 

アレサ 「・・・『牧神の午後への前奏曲』・・・


ふ~んん」


かちゃっ かちゃかちゃ かたっ ことことこと 


アレサはなにかを製作しているようです。


アレサ 「ふん、ふん ここをこうして・・」


アレサを見やるソーラー。


ソーラー「ふふ・・・アレサは 楽しそうに・・・」



ソーラー 「今までは自分の実行したいcaseの命令文の番号2を


次のプログラムのように冒頭でint a=2;とうちこんでいました。


その結果


switch (2)となり


case 2:の後に続く命令文が実行されていました。


#include <stdio.h>

int main(void){

int a=2;


switch (a){


case 1:

printf("おはようございます\n");

break;

case 2:

printf("こんにちは\n");

break;

case 3:

printf("こんばんは\n");

break;

default:

printf("24時間営業です\n");

break;

}

return 0;

}



コンパイル結果

こんにちは


そして


今回は最初に冒頭でint a;の変数aに


数値を代入して それに対応したcaseの命令文を実行するのでなく


自分があとからに数値をうちこんで


その数値に対応したcaseの命令文を実行させたいんだ。」


マックス 「自分が打ち込んだ数値か・・・


まあ当然か


そういや・・・


自由に数値を代入するには


仲間の


scanf関数がいるじゃないか・・・」


ソーラー 「そうなんです。


scanf関数をつかい数値を変数 aにとりこみ


その数値に対応したcase文を実行させるんです。


つまり、こちらであとから自由に実行する命令文を選べる・・・


ということは


ゲームプログラムでたとえるなら


ボタンAに数値1を対応


ボタンBに数値2を対応させておけば


このボタンA(数値1を選べば)を押せば右にあるく、


このボタンB(数値2を選べば)を押せば左にあるく。


ようなプログラムをつくることも可能になるわけなんです(^^)」


マックス 「おおっ でかしたソーラー


さえてるじゃんか」


ソーラー 「まあ、このことはif else文でもできるんですけどね。


ま、とりあえず


次のプログラムをみてみてよ」


#include <stdio.h>

int main(void){


int a;


scanf("%d",&a);


switch (a){


case 1:

printf("おはようございます\n");

break;

case 2:

printf("こんにちは\n");

break;

case 3:

printf("こんばんは\n");

break;

default:

printf("24時間営業です\n");

break;

}


return 0;

}


ソーラー

ほらっ マックス かんたんだよっ


scanf("%d",&a);でとりこんだ数値が


int a;に格納され


その数値に対応した


命令文が実行されるんだよ。


このプログラムはコンパイル後


コマンドプロンプト画面で


アンダーバー


_


が表示された


数値入力待ち受け状態になるので


数値2を打ち込んでやると


switch (2)


となり


case 2:のあとにつづく


printf("こんにちは\n");


が実行されて


コンパイル結果


こんにちは


がコマンドプロンプト画面に表示される。


コンパイル結果が表示されるのに


しばらく時間がかかるね。


実行結果をまっている間が楽しみなんだよ~ん


また、この表示されたときが快感なんだよ~~~


1,2,3以外の数値がうちこまれた場合は


default :の後に続く命令文


printf("24時間営業です\n");


が実行されて


24時間営業です 


がコマンドプロンプト画面に表示されるよ。


scanf関数を使ったswitch 文の仕組みはこんなところかな。


アレサ 、ここで なにか音楽を聞かせてよ」


アレサ「そうですか


では ええっと これ・・これ? これかな?


ありました \(^^)/


では



パッヘルベルのカノン


https://youtu.be/Q6ibumuZhZE


こちらの曲をどうぞお聞きください




  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます