KONOTI

この世界で得た知識・情報まとめ

【C++】cinとcoutの複数入出力についてわかりやすく解説

  • 作成日:2024/10/08

C++言語の複数の変数を入出力する方法について解説します。 ちなみに、cin(シーイン)、cout(シーアウト)はC++ので入出力を扱うもので、 C言語でいうscanf,printfと同じような動作をします。

複数の入出力

以下のようにすることで、変数a,bにキーボードから入力した値をそれぞれ格納できます。

C++
#include <iostream>

using namespace std;
                                        
int main() {
                                                                                
    double a;
    double b;     

    //入力                                    
    cin >> a  >> b;
                                        
    //出力                                    
    cout << a  << "\n" << b;
                                            
    return 0;
}

例えば、コンソールで11と入力しenter押下、その後22と入力してenter押下すると以下のように出力されます。

実行結果

11
22

この例ではenterが区切りとなっていますが、数値以外の入力ならばそれが区切りになります。

例えば、「11空白22」または「11,22」の後にenter押下でも、 同様の結果になります。変数a,bには11と22が格納されます。

もっと詳しく

今度は変数と文字列の入力を例に、より詳しく見ていきましょう。

C++
#include <iostream>

using namespace std;
                                        
int main() {
                                                                                
    double a;
    double b;     
    char moji;

    //入力                                    
    cin >> a >> moji  >> b;
                                        
    //出力                                    
    cout << a  << "\n" moji  << "\n" << b;
                                            
    return 0;
}

例えば、コンソールで「11+22」と入力しenter押下すると以下のように出力されます。

実行結果

11
+
22

わかりやすく書くと、enter押下時したら、コンピュータはまず入力されたもの(11+22)のうち、 最初の数値の部分までを変数aに入れます。どこまで数値と見なすかは文字が出現するまでです。

次に文字を変数mojiに入れます。今回はchar型なのでコンピュータは1文字だけを文字と見なします。

最後に残りの部分を変数bに入れます。

ちなみに、もし変数mojiがstring型にすると+22を文字列と見なし変数mojiに入れます。よって、bには値を入れません。

省略しない書き方

先ほどの例は以下のように、 cinやcoutを1つずつ書いても同じ結果になります。

C++
#include <iostream>

using namespace std;
                                        
int main() {
                                                                                
    double a;
    double b;     
    char moji;

    //入力                                    
    cin >> a;
    cin >> moji;
    cin >> b;
                                        
    //出力                                    
    cout << a;
    cout << "\n";
    cout  << moji; 
    cout  << "\n";
    cout << b;
                                            
    return 0;
}

この書き方のほうが手間ですが、各変数の入力値をチェックしたい場合などは 1つ目のcinの後に判定処理を入れれば良いのです。 用途に応じて使い分けましょう。

この記事のシェアはこちらから

当サイトについて

当サイト(KONOTI)は、日常生活において運営者が得た情報をご紹介するサイトです。 ジャンルに多少の偏りはありますが、基本的には様々な情報を取り扱っていく予定です。

Contact

当サイトへのご連絡は以下よりお願いします。

PAGE TOP ▲

© Copyright 2024 KONOTI