スポンサードリンク
HOME > C言語コンソール > cinオブジェクト 基本編

C言語 コンソール cinオブジェクト 基本編

C言語でキーボードからの入力を行う場合には、scanf関数などがありましたが、

C++言語でも新しくキーボードからの入力を行う方法が追加されました。

早速、使い方を見ていきましょう。



例1 キーボードから数値を受け取る(10進数)

ファイル名:main.cpp
#include <iostream>

void main(void) {
   int a;
   std::cout << "10進数を入力して下さい\n";
   std::cin >> a;
   std::cout << "変数aの値=" << a;
   std::cout << '\n';

}


実行結果


 ※ "10進数を入力して下さい" の後、キーボードから入力を受け付けるまで
    アプリケーションが停止しますので、好きな数値を入力して
    Enterキーを押して下さい。
    ここでは 5 と入力しています。

 ※ 続行するには何かキーを押してください... と言う記述は
    Visual C++2008特有のモノで、アプリケーションが終了した事を表しています。

解説

はじめに、C++言語の入力方法を使うので、

ソースファイルの拡張子を.cではなく、.cppにします。

次に#include <iostream>と言うインクルード宣言が必要になります。

そして、肝心の入力方法ですが、次のようになります。

std::cin >> ここに「入力されたデータを保存する変数名」を書く;

 このC++言語式の入力方法の#include <iostream>の部分や

std::coutの部分、また、>>の部分等を詳しく知りたい人は別ページで解説してるので、

ぜひ参考にして下さい。 入出力ストリームについて  std名前空間について

このページでは文字や文字列、数値の入力方法についてのみ解説しています。

std::cin >> a;

この例の場合は、入力した内容が変数aに代入されます。



例2 キーボードから1文字を受け取る

ファイル名:main.cpp
#include <iostream>

void main(void) {
   char cc;
   std::cout << "1文字を入力してください\n";
   std::cin >> cc;
   std::cout << "変数ccの値=" << cc;
   std::cout << '\n';

}


実行結果


 ※ 半角英数字のみ対応しています。
 ※ 2文字以上の入力には対応していません。

解説

1文字をキーボードから入力し、それを表示する簡単なプログラムです。

std::cin >> cc;

文字として入力する場合でも、変数名を書くだけです。

入力された内容を自動的に判別して変数に格納してくれます。



例3 キーボードから文字列を受け取る

ファイル名:main.cpp
#include <iostream>

void main(void) {
   char cc[80];
   std::cout << "文字列を入力してください\n";
   std::cin >> cc;
   std::cout << "変数ccの値=" << cc;
   std::cout << '\n';

}


実行結果


 ※ 日本語入力にも対応しています。
 ※ 日本語入力モードにするには、ALT + 半角/全角キーを押します。
   (WinXPの場合)
 ※ 半角79文字(全角なら39文字)未満の文字数に対応しています。
   (最後に文字列終端文字'\n'が入るため)

解説

文字列をキーボードから入力し、それを表示する簡単なプログラムです。

std::cin >> cc;

文字列として入力する場合は、配列変数名を書きます。

代入する配列変数の先頭要素[0]から順番に1文字ずつ代入されます。

そして、自動で最後にヌル終端文字列が追加されます。

この例では、cppgengoと言う入力文字列がcc[0]からcc[7]まで1文字ずつ代入され、

cc[8]には'\0'(ヌル終端文字列)が入ります。

代入する配列変数の大きさは、十分に確保しておかなくてはなりません。

ここでは、要素数を80としていますが、

この値はコンソール上で表示できる1行の最大文字数です。

それぞれのプログラム内容によって安全な要素数を指定する事が大切です。



例4 キーボードから数値を受け取る(16進数)

ファイル名:main.cpp
#include <iostream>

void main(void) {
   int a;

   // 16進数で入力させる設定ON
   std::cin.setf( std::ios::hex, std::ios::basefield );
   // 16進数で出力させる設定ON
   std::cout.setf( std::ios::hex, std::ios::basefield );
   // アルファベット表記を大文字にする設定ON
   std::cout.setf( std::ios::uppercase );

   std::cout << "16進数を入力して下さい\n";
   std::cin >> a;
   std::cout << "変数aの値=" << a;
   std::cout << '\n';
}


実行結果


 ※ 16進数以外は対応していません。

解説

16進数をキーボードから入力し、それを表示するプログラムです。

std::cin >> a; 

16進数として入力、出力させる場合は、多少設定が必要になります。

それ以外は10進数で入力するプログラムと変わりません。

設定しているプログラムが3行ありますが、現時点では触れない事にします。



例5 変数の値を表示する(8進数)

ファイル名:main.cpp
#include <iostream>

void main(void) {
   int a;

   // 8進数で入力させる設定ON
   std::cin.setf( std::ios::oct, std::ios::basefield );
   // 8進数で出力させる設定ON
   std::cout.setf( std::ios::oct, std::ios::basefield );

   std::cout << "8進数を入力して下さい\n";
   std::cin >> a;
   std::cout << "変数aの値=" << a;
   std::cout << '\n';
}


実行結果


 ※ 8進数以外は対応していません。

解説

8進数をキーボードから入力し、それを表示するプログラムです。

std::cin >> a; 

8進数として入力、出力させる場合は、多少設定が必要になります。

それ以外は10進数で入力するプログラムと変わりません。

設定しているプログラムが3行ありますが、現時点では触れない事にします。



例6 キーボードから小数値を受け取る

ファイル名:main.cpp
#include <iostream>

void main(void) {
   float f;
   double d;

   std::cout << "小数を入力して下さい\n";
   std::cin >> f;
   std::cout << "変数fの値=" << f;
   std::cout << '\n';

   std::cout << "小数を入力して下さい\n";
   std::cin >> d;
   std::cout << "変数dの値=" << d;
   std::cout << '\n';
}


実行結果


解説

小数をキーボードから入力し、それを表示するプログラムです。

std::cin >> f; 
std::cin >> d; 

小数として入力する場合でも、変数名を書くだけです。

入力された内容を自動的に判別して変数に格納してくれます。

それ以外は10進数で入力するプログラムと変わりません。



スポンサードリンク







HOME

言語解説編
プログラミング用語・知識

C言語

C++言語

Java

C#

Visual Basic.NET

アプリケーション編
C言語による
コンソールプログラミング




Copyright (C) プログラミングランド All Rights Reserved