10
標準関数 ゲームの面白さの一つに、フィードバックってあると思うわけよ

プログラミング指導 第四章 標準入出力関数 - マルチメディア研究同好会

Embed Size (px)

Citation preview

Page 1: プログラミング指導 第四章 標準入出力関数 - マルチメディア研究同好会

標準関数 ゲームの面白さの一つに、フィードバックってあると思うわけよ

Page 2: プログラミング指導 第四章 標準入出力関数 - マルチメディア研究同好会

関数について

今まで、printfは結構つかいましたよね?実はそのprintfが関数であったりします。

今回は、授業でもよく使う「printf」と「scanf_s」について書きたいと思います。

※scanf_sはVisual Studioのオリジナルの関数です。普通はscanfです。 ただし、Visual Studio2012以降はscanfだとエラーになるので注意してください。

数学で言うところの関数と同じです。

例えば「Y=ax」はxに数値を入れると、a*xという処理をして、yという結果が返ってきます。

printfも同じで、

カッコ内に文字を入れると、なんらかの処理をして、文字を表示するという結果を返します。

ひとことではない

関数という概念の説明をしましたが、今は理解できなくてもOKです。

コレについては「関数の作り方」の章で詳しく説明します。

今回の章で学んで欲しい事は

1. printf、scanf_sが関数であること。

2. printf、scanf_sの使い方。

この二つを理解して欲しいと思ってます。関数がどうのこうのは、また後に。

printfにある謎の「f」は「function」つまり「関数」という意味から…だと思うヨ

Page 3: プログラミング指導 第四章 標準入出力関数 - マルチメディア研究同好会

printfについて 「Print」って「印刷」だよね?

Page 4: プログラミング指導 第四章 標準入出力関数 - マルチメディア研究同好会

printfの使い方。

今まで、散々つかってきたので説明は特に必要ないかと思いますが

ここでまとめて置こうと思います。

1. printf(“ 文字列 ”);

2. printf(“%d”,整数型の変数); //つまりint

3. printf(“%f”,浮動小数点型の変数); //つまりfloat

これまでやってきたのは、この三つですね。

もう少し使い方があるので紹介していきます。

Page 5: プログラミング指導 第四章 標準入出力関数 - マルチメディア研究同好会

やってみようか。うん。

#include "stdio.h"

int main()

{

int a=1;

float c=1.23;

printf("a=%d , c=%f¥n",a,c); //a、cの順で表示

printf("c=%f , a=%d¥n¥n",c,a); //c、aの順で表示

printf("c=%.2f¥n",c); //小数点第二位まで表示

printf("c=%.4f¥n",c); //小数点第四位まで表示

return 0;

}

では右のコードを打ち込んでいきましょう!

わ、私だって本気をだせば、変数が二つだろうと、百個だろうと、表示できるもん。

あ、あと、表示する桁数だって変えられるもん。

ってことです。はい。

ひとこと

printfやfloat、擬人化しようぜ

Page 6: プログラミング指導 第四章 標準入出力関数 - マルチメディア研究同好会

Printfを詳しく

intやfloatの他にも変数の種類があり、それに対応した「%~」があるわけですが(変換指定文字)

それについては、詳しくはやりません。ゲームに必要ないからです。

ていうかprintfはゲームでは、ほとんど使わないと思います。

だって、左上に文字が出るの固定なんだよ?

文字を表示させる位置を指定できないのはキビシイ……

「¥n」はエスケープシーケンスといい、色々な種類があります。

他にも左詰の表示仕方、表示する桁数の変更など、色々なことができるのですが、

まぁ知らなくて良いですね。使わないですし

気になるという方はコチラから。http://www9.plala.or.jp/sgwr-t/c/sec05.html

もしくは「変換指定文字」や「エスケープシーケンス」で検索してみてね。

Page 7: プログラミング指導 第四章 標準入出力関数 - マルチメディア研究同好会

scanf_sについて あんね、ちょっとゲームっぽくなる。チロッとだけね

Page 8: プログラミング指導 第四章 標準入出力関数 - マルチメディア研究同好会

scanf_sについて

scanf_sはキーボードからの入力を受け取れるのだ! まぁよく分からないよね。とりあえずGO!

#include "stdio.h"

int main()

{

int a;

printf("キーボードから数字を入力してください。¥n");

scanf_s("%d",&a); //キーボードからの入力をaに代入

printf("あなたは %d をキーボードで打ちましたね?¥n",a);

return 0;

}

ひとこと

scanf_sは普通のC言語だと

「scanf」と書きます。

_sは、visual studio独自の書き方なので気をつけてくださいね。

Page 9: プログラミング指導 第四章 標準入出力関数 - マルチメディア研究同好会

解説

何度か実行してみればわかるけど、

プレイヤーが打った数字が「a」に代入されているのだ!!

わかるか!?わかるかこの素晴らしさを!!

これで君は「選択肢」が作れるようになった気がするだろぉおおおう!?

まだだ、落ち着け。まだ「気がする」だけだ。よく考えろ?

1を入力したら~をする。

2を入力したら~をする……

この「~したら~する」っていうのが、まだできィない!

まぁ待て、心配することぁない。安心しろ、次だ。次の章でifというのをやる。

そしたらできる!!君にだってできるんだぁああああ!!!!!

Page 10: プログラミング指導 第四章 標準入出力関数 - マルチメディア研究同好会

まとめ

目的 1. printf、scanf_sが関数であること。

2. printf、scanf_sの使い方。

これらを理解すること。

Printf 文字やら変数やらを表示する関数

Printf(“文字”);

scanf_s キーボードからの入力を受け取る関数

scanf_s(“%~”,&変数);

皆さん、目的は達成できましたでしょうか?

さぁそれでは、第四章の課題をやってください!

ここで得た知識をいかにして活用し、課題をクリアできるか。

それを考えて問題を解くことで、より知識は定着するでしょう!