cinをつかって今度は半角英数字をコマンドプロンプト画面から用意したchar型の変数に代入してみます
ソーラー「それではおまちかね。
cinをつかって
今度は半角英数字を
コマンドプロンプト画面から用意したchar型の変数に代入してみます。」
マックス「半角英数字っていうのは
a
b
c
d
+
*
1
2
などの1バイト文字のことだったな」
#include <iostream>
using namespace std;
int main() {
char a;
cout << "半角英数字を入力してください\n";
cin >> a;
cout << a<<"\n";
return 0;
}
ビルド実行結果
半角英数字を入力してください
c(と入力すると)
c(が表示されます)
続行するには何か数値を入力してください . . .
または
コマンドプロンプト画面から1を入力すると
半角英数字を入力してください
1(と入力すると)
1(が表示されます)
続行するには何か数値を入力してください . . .
となります
solarplexussより
マックス「ついに
半角英数字までコマンドプロンプト画面から入力することが
できるようになったか」
ソーラー「ここでは
コマンドプロンプト画面から入力された半角英数字を
格納するために
aのchar型の変数宣言
char a;
を行い
変数aを用意しているんだ。
後は
cin >> a;
を実行すれば
コマンドプロンプト画面から
変数aに半角英数字が代入できるようになるんだね。
ここで
char型の変数aに半角英数字が格納されるというところが
ポイントなんだ。
もともと
char型の変数には半角英数字1文字しか格納できないので
コマンドプロンプト画面からは
半角英数字1文字しか入力を行うことができないんだ。
今のプログラムで
コマンドプロンプト画面から
全角文字である
ひらがな
お
を
入力するとどうなるかためしてみると・・・
#include <iostream>
using namespace std;
int main() {
char a;
cout << "半角英数字を入力してください\n";
cin >> a;
cout << a<<"\n";
return 0;
}
ビルド実行結果
半角英数字を入力してください
お(と入力すると)
(何も表示されません)
続行するには何か数値を入力してください . . .
ソーラー「半角英数字(1バイト文字)しか格納できない
char型の変数aに
全角文字(2バイト文字)
お
を格納しようとしても
格納できないのが
このコンパイル結果をみてもわかるね。」
マックス「char型の変数は確か
半角英数字1文字と
-128から127までの数値
を格納できるんだったよな・・・
ということは
数値
12
も
char型の変数aに格納できるはずだから
コマンドプロンプト画面から
12を入力すると
char型の変数aに12が格納され
cout << a<<"\n";
により
12がコマンドプロンプト画面に表示されるんじゃないか?」
ソーラー「それでは実際に試してみましょう
#include <iostream>
using namespace std;
int main() {
char a;
cout << "半角英数字を入力してください\n";
cin >> a;
cout << a<<"\n";
return 0;
}
ビルド実行結果
半角英数字を入力してください
12(と入力すると)
1 (が表示されます)
続行するには何か数値を入力してください . . .
マックス「なぜか
変数aには1しか格納されていないようだな?」
ソーラー「この場合は
コマンドプロンプト画面から入力された
12は
1バイト文字の1
と
1バイト文字の2
が入力されたと
コンピュータに認識されているんだ。
そして
最初の
1バイト文字の1しか
変数aに格納されないため
cout << a<<"\n";
の実行結果は
1
になるんだよ。」
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます