cinをつかって実数値を用意した変数に入力してみます

#include <iostream>


using namespace std;


int main() {


int a;


cout << "整数値を入力してください\n";


cin >> a;


cout << a<<"\n";


return 0;


}


コンパイル結果


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

1(と入力すると)

1(が表示されます)

続行するには何か数値を入力してください . . .




ソーラー「ついに私たちはコマンドプロンプト画面から


用意した変数aへの数値入力に成功したんです!」


マックス「やったな ソーラー


この偉業を成し遂げるとは・・・


いままでは


エディタ画面上で


あらかじめ数値も変数に入力しておく必要があったからな( ̄ー ̄)ニヤリ


cin >> a;


か・・・


もろ変数aに


数値1を入力しているな・・・


ソーラー「さらに


数値1でなく


実数値1.0も


cinを用いて


コマンドプロンプト画面から入力することができるんです。」



マックス「なにいぃぃぃ


お前・・・


さすがに自由すぎるぞ


C++言語はrevolutionするのか


するのか?」


ソーラー「そう これはrevolutionなんだ🐹


それでは いきます


実数値1.0を


cinを用いて


コマンドプロンプト画面から入力するプログラムは


以下のようになります。


#include <iostream>


using namespace std;


int main() {


float a;


cout << "実数値を入力してください\n";


cin >> a;


cout << a<<"\n";


return 0;


}


ビルド実行結果

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

1.0(と入力すると)

1(と表示されます)


ソーラー「このプログラムでは


実数値1.0をコマンドプロンプト画面から


用意したfloat型の変数aに格納しています。


変数aが実数値を格納できるよう


float型の変数宣言


float a;


を実行して


実数値を格納できる変数aを作製しているのです。


そうすればコマンドプロンプト画面から


実数値1.0を入力したとしても


ちゃんと


float型の変数aに格納できるんだ。


もし


int a;


と変数宣言をおこなっていたなら


int型の変数aが作製されることになります


int型の変数aには


整数値しか格納できないので


コマンドプロンプト画面から1.0


を入力しても


数値の型変換が起こり


実数値1.0の


小数点以下の部分は切り捨てられて


整数値部分の1しか


int型の変数aには格納されないんだね。


例えば


実数値7.77を


コマンドプロンプト画面から


int型の変数aに代入したなら


整数値部分の7だけが


int型の変数aに格納されることになります。


#include <iostream>


using namespace std;


int main() {


int a;


cout << "実数値を入力してください\n";


cin >> a;


cout << a << "\n";


return 0;


}


ビルド実行結果

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

7.77(と入力すると)

7(と表示されます)


マックス「さっきのプログラムで→


#include <iostream>


using namespace std;


int main() {


float a;


cout << "実数値を入力してください\n";


cin >> a;


cout << a<<"\n";


return 0;


}


ビルド実行結果

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

1.0(と入力すると)

1(と表示されます)


マックス「→実数値1.0を入力すると


1が表示されているが


実数値1.0はfloat型の変数aに格納されているのになんで


cout << a<<"\n";


の実行結果が


1


と整数値の1が表示されているんだ?」


ソーラー「そこはいい質問を・・


確かに


実数値1.0はfloat型の変数aに格納されています。


つまり


実数を格納する形式でちゃんとメモリに格納されています。


実数値をメモリに格納する様式と


整数値をメモリに格納する様式は


ちがうのだったね。



C++言語では


1.00000や

5.50000


などの実数値を


コマンドプロンプト画面に表示する際は


1

5.5

のように

切り捨てても数値に変化のない0は


表示されないような仕組みになっているんだ


だから


実数値1.0が


float型の変数aに格納されたとしても


cout << a<<"\n";


の実行結果は


1



実数値1.0の


整数値部分の1だけが


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


















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

作者を応援しよう!

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

応援したユーザー

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

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る