目次に戻る


このエントリーをはてなブックマークに追加


条件分岐

例えば、「大人か中学生か小学生以下で、表示する料金が変わるプログラムを作って」と言われたとします。


...


うるせぇ、自分でつk


そんな時に扱うのが「条件式」です。

C++でもJavaでも基本はifを使ってコードを書きます。
それでは早速コードを見ていきましょう。

                   #include<iostream>
                   using namespace std;

                   int main(){
                        int fee;
                        cout<<"小学生以下なら 0 ,中学生以下なら 1 を入力して、大人ならそれ以外の数字を入力:";
                        cin >>fee;

                         if( fee == 0 ){
                           cout<< "料金は¥500です。" << endl;

                         }else if ( fee == 1 ){
                           cout<< "料金は¥1,000です。" << endl;

                         }else{
                           cout<< "料金は¥2,000です。" << endl;
                         }

                         return 0;
                    }
                

if文はこんな感じに使う。

if ( 条件文1 ){
  処理 1
} else if ( 条件文2 ){
  処理 2
} else {
  処理 3
}

「条件文1 を満たせば、処理1 を行って、条件文2 を満たせば、処理2 を行って、それ以外なら、処理3 を行う」

ちなみに else if は何個置いても構わない。
また、いずれかの条件を満たして処理が行われれば、もうそのあとのelse if だとか else は無視される
つまり処理1と処理2 両方が実行されることはない。

あ、あとさりげなく「cin」を使ったがこれは cout の逆で「入力」のための命令。



四則演算で扱う + や - の演算子、そして今回出てきた条件式で扱う == や > は演算子と呼ぶ。
そして比較したり、演算する 変数や数字 のことを オペランドと呼ぶ。
覚えておこう!

以下は、条件式で扱う様々な演算子である。

演算子 意味
== 等号。ひとつしか書かずによくエラーを起こしやすい。
!= 非等号。≠の意味。
< 見た通り。右側が大きい場合。
> 見た通り。左側が大きい場合。
<= ≦と同じ。
>= ≧と同じ。



また条件は「3以上、もしくは-3以下の時」のように複数書くことができる。
その場合 if ( num >= 3 || num <= -3)のように書く。

|| を 論理演算でいう OR(または) 、 && を 論理演算でいうAND(かつ) としている。

スポンサーリンク



ネスト

if文はネスト構造にすることができます。ネストというのは構文の中に、また構文を入れ込むこと。
例えばこんなコード。

                    #include<iostream>
                    using namespace std;

                    int main(){
                        int num;

                        cout<<"数字を入力 : ";
                        cin >>num;

                        if( num >= 0 ){
                            if( num > 10 ){
                                cout<< "numは正かつ10より大きいです。" << endl;

                            }else{
                                cout<< "numは正で10以下です。" << endl;
                            }
                        }else{
                            cout<< "numは負の値です。" << endl;
                        }

                        return 0;
                    }
                

このようにif文の中にさらにif文を入れて複雑な条件分岐をさせることが可能です。これをネストといいます。
ただネストしすぎるとソースコードが汚く、わかりにくくなるので気を付けよう。


次回は、6, 繰り返し?ループ?【for文, while文】

スポンサーリンク






このエントリーをはてなブックマークに追加