初心者ぬまよの一流エンジニアへの道

初心者ぬまよの一流エンジニアへの道

どーもぬまよです! 初心者が電子工作やゲーム開発を通して一流エンジニアに成長していく様を、初心者目線でブログにしています。

【C言語 #4】入力した数字を使う

どーもぬまよです。


C言語 #2」と「C言語 #3」では整数や実数を表示するやり方を勉強しました。
ただこう思いませんでしたか?
「これができて意味ある?」って(笑)
「xに入力されているのは3です。」とか「xとyの和は5です。」とかって表示されてもねえ、、、。
電卓みたいに数字を入力して計算結果を出してくれるみたいな方が使い勝手がいいわけです!
他にも自分の身長を入力したら理想的な彼氏の身長を教えてくれるとかね。


ということで数字を入力できるようにしましょう!
下のコードをみてください。

#include <stdio.h>

int main(void) {
    
    //整数型のxを用意
    int x;

    //文字を表示
    printf("整数を入力してください:");
    //整数を入力させる
    scanf("%d", &x);
    
    //文字を表示
    printf("あなたは%dと入力しましたね?\nお見通しですよ?\n", x);
    
    return 0;
}

さあ今回重要になってくるのは「scanf」です!
今までは「int x = 3」という感じであらかじめ書いておいてたんですが今回は入力した数字を代入するので最初は何も代入しません。
そして「scanf("%d", &x)」と書くと「x」に入力した整数が代入されます。「&」をつけるのをお忘れなく。なんでつくかはそういうものだと今は思いましょう。
整数のときは「scanf」の「" "」の中身は「%d」としてください!
「printf」でも整数を表すのは「%d」でしたもんね。
ということで実行した結果がこちら!

整数を入力してください:

というように入力を求められます。
適当に4と入力してあげましょう。
するとこうなります。

整数を入力してください:4
あなたは4と入力しましたね?
お見通しですよ?

というようになります!
今更ですがコードは上から順番に進んでいくので、最初に「printf("整数を入力してください:")」が実行されます。
そして「scanf("%d", &x)」が来るので入力待ちですね。
「scanf」を使って入力が終わると勝手に改行されます。なので「\n」は書かなくて大丈夫です。
そして入力が終わると「printf("あなたは%dと入力しましたね?\nお見通しですよ?\n", x)」が実行されます。
「x」には入力した4が入っているので上の実行結果のように表示されます。


ふう、、、。 これで整数は入力できるようになりました!
実数の入力もやっちゃいましょう!
下のコードをみてねー。

#include <stdio.h>

int main(void) {
    
    //実数型のxを用意
    double x;

    //文字を表示
    printf("実数を入力してください:");
    //実数を入力させる
    scanf("%lf", &x);
    
    //文字を表示
    printf("あなたは%fと入力しましたね?\n何度やっても結果は同じです。\n", x);
    
    return 0;
}

整数の時との違いは、まず入力した実数を入れるためのものが必要なので「int x」ではなく「double x」にしてください。
そして「scanf」の「" "」の中には「%lf」と書いてください。

ん?

整数の時は「printf」の時と一緒の「%d」だったのに実数は「printf」の時と一緒の「%f」じゃないんかい。
ややこしい。誰やこれ決めたん。絶対適当に決めたやろ。
あと最後の「printf」のところは「%f」にしておかないと「x」がdouble型なのでエラーになります。
さて、ややこしい気持ちは置いといて実行結果をみてみましょう。

実数を入力してください:

適当に実数の6.0って入力しましょうかね。
ここで整数の6って入力しても勝手にdouble型に変更してくれるので問題ないです。

実数を入力してください:6.0
あなたは6.000000と入力しましたね?
何度やっても結果は同じです。

となるわけですね。


さあ、これを使ってちょっとお遊びをしましょうか。
どうやら女性は彼氏との身長差は15cmが一番いいというデータがあるそうです。
なのでこんなの作ってみました。

#include <stdio.h>

int main(void) {
    
    //整数型のxを用意
    int x;

    //文字を表示
    printf("あなたの身長を整数で入力してください:");
    //身長を入力させる
    scanf("%d", &x);
    
    //彼氏の理想の身長を表示
    printf("あなたの彼氏の理想の身長は%dcmです。\n", x + 15);
}

これを実行してみると

あなたの身長を整数で入力してください:160
あなたの彼氏の理想の身長は175cmです。

はい、いつでも理想の彼氏の身長を教えてくれます。
どうぞ役立ててください。


今回はここまでー。じゃーねー。