みのむし君、ゴリ君アニメを作る時、色々な関数や構文が出てきましたね。
はい。main関数にprintf関数、for文やif文などがありました。演算子も勉強しました。
そうですね。今日から5回の講座で、その時勉強したif 文ともう一つ新しく覚える関数を使って、3つのクイズを作ろうと思います。
printf関数は、黒い画面に文字を表示(出力)するために使う関数でしたよね。このscanf関数は、キーボードから入力する文字を受け止めるために使う関数なんです。
ということは、文字を打ち込んだら、黒い画面にその文字が表示されるってことですか?
そうです。この5回の講座では、黒い画面に問題を出して、見ている人が答えを打ち込む。すると、その返事が返ってくるというプログラムを作ります。
今日は、その第一弾として、「数字を奇数と偶数に振り分ける問題」を作ります。みのむし君、奇数と偶数って、ゴリ君アニメでも出てきましたね。覚えていますか?
1、3、5コマという奇数のコマ数の時と、2、4、6コマという偶数のコマの時で、振り分けて、ゴリ君の顔を変えました。
好きな数字、例えば135を入力し、エンターキーで確定すると、その数字を奇数か偶数か判別して、実行画面③のように、表示します。
そうよ。もし、24と入れると、答えは、「あなたの数字は偶数です」と表示されます。じゃあ、みのむし君。実行画面①の質問を表示するためには、どうしますか?
printf ("あなたの数字を入れて?¥n"); とプログラミングします。
大正解!問題は、次ですね。ここで、数字を入力するための関数scanf関数を使います。使い方は、こうです。
aには、キーボードから打ち込んだ数字が入ります。aには、どんな数字が打ち込まれるのかわからないので、「aは10進数の整数ですよ」という書式%dを指定し、数字が入る準備をします。%d以外にも、%oや%s、%c、%f など色々ありますが、今回は、まず、%dだけを覚えましょう。aの前には、&が付いていることも忘れないでね。
そうです、みのむし君。それともう一つ。実は、みのむし君の先輩たちは、「scanf_s」の所は「scanf」で覚えていたの。今までは、そうだったのよ。でも、VisualStudio2017では、scanf と打つと、
このように、プログラムは、ちゃんと動くんだけど、警告が出ます。これからは、「scanf_s」に変えていこうという動きがあるわ。だから、これから覚えるみのむし君たちは、始めから、「scanf_s」で覚えることにしましょう。
ところで、みのむし君、ここで、if 文を使って、入力された数字が奇数か偶数かを判別しますが、どうするかわかりますか?
入力したaを2で割った余りが1の時は、奇数だから、「あなたの数字は奇数です」と表示され、それ以外の時、つまり偶数の時は、「あなたの数字は偶数です」と表示されるってことですね。なるほど。
いいですね。では、VisualStudio2017を開いて、プログラミングしましょう。
ファイルのつくり方は、ココを見てくださいね。
https://ameblo.jp/tobidasutanpopo/entry-12331350474.html
はい、できました!自分が打った数字に反応してくれることが、面白いですね。
それが、コンピュータが判断してくれることなんですよ。色々覚えることもたくさんありますが、がんばりましょうね。では、今日は、ここまでです。次回は、答えが色々出てくる問題を作ります。お楽しみに。
前回は、第11回 ゴリ君アニメ⑤ for文の復習 でした。ぜひご覧ください。
https://ameblo.jp/tobidasutanpopo/entry-12335509177.html
次回は、第13回 5回でクイズを作ろう② です。
https://ameblo.jp/tobidasutanpopo/entry-12336406762.html