C++Switch文
いくつかの状況があり、状況に応じて異なるアクションを実行する必要がありますが、switch case宣言を利用します。 いくつかの基準がある場合、それらが満たされたときにいくつかの命令を実行する必要があります。 この例では、long ifを使用することができます。.else-if宣言またはswitch文。 複数の基準がある場合、long if…else-ifの難しさは、それが複雑になるということです。 スイッチケースは、実際にそのような状態を治療するためのきちんとした効果的な方法です。 Switch文を使用すると、等価性のためにmutableを一連の値と比較することができます。 すべての値は状況と呼ばれるため、それぞれの状況はすでにオンになっているmutableに対して検証されます。 Switch文は、後続のガイドラインの対象となります:
- この句は、任意の整数または列挙型の形式、またはswitch宣言内の整数または列挙型への唯一の変換メソッドを持つc型である必要があります。
- スイッチには、大文字と小文字の宣言の合計を含めることができます。 すべてのケースは、コロンと一致する値によって追跡されます。
- caseの定数フレーズは、スイッチの可変データと同じタイプのデータでなければならず、定数または数値でなければなりません。
- オンになっているmutableがcaseと等しい場合はいつでも、break宣言が検出されない限り、その前の式が実行される可能性があります。
- スイッチはブレーク宣言に遭遇するたびに終了し、スイッチ宣言の後にストリークに制御フェンスのストリーム。
- すべてのインスタンスでブレークは必要ありません。 ブレークが出現しない場合、ブレークが見つからない限り、コントロールストリームは将来のインスタンスを介して続行されます。
- デフォルトの選択肢はswitch宣言で指定することができ、スイッチの後に来る必要があります。 いずれのインスタンスもtrueではありませんが、デフォルトのシナリオを使用してジョブを完了できます。 デフォルトのシナリオでは、休憩は必要ありません。
例01:
最初の例から始めて、C++でのSwitch文の動作を見てみましょう。 このガイドの実装時には、Ubuntu20.04を使用していました。 ショートカットキー”Ctrl+Alt+T”を介してUbuntu20.04のコマンドコンソール端末を開きます。 これで端末が起動され、”という名前の新しいc++ファイルを作成しますtest.cc”以下のようにタッチクエリを使用します。

これでファイルが作成され、ホームフォルダで確認できます。 このファイルを編集用に開くには、nanoエディタを使用して開きます。 したがって、以下のようにnanoコマンドを使用して開きます。

これで、ファイルがNanoエディタで適切に開かれました。 あなたはそのままあなたのファイルに以下のコードを書く必要があります。 このコードには、ファイルの先頭にinput-output streamヘッダーが含まれています。 C++言語の状況を避けるために、名前空間を使用する必要があります。 Main関数は、その中でswitch文を使用するように初期化されています。 変数”num”を値”2″で初期化しました。 その後、その中の”num”変数を解析しながらswitch文を開始しました。 現在、switch文のケースが開始されています。 ここで使用しているケースは合計3つあります。 3つのケースはすべて整数のケースです。 いずれかのケースが変数”num”の値と一致する場合、その特定のケースのprintステートメントは遅滞なく実行されます。 他のすべてのケースは、ケースが満たされている間は無視されます。 Break文は、caseが満たされている間にswitch文のフローを中断するために使用されており、制御はswitch文の外にあります。 メインメソッドは、スイッチが終了すると閉じます。 「Ctrl+S」を押して、C++コードをシステムに保存します。 「Ctrl+X」を使用してNanoエディタを終了します。

まず、このファイルを実行可能にするためにc++コードをコンパイルしてみましょう。 このためには、LinuxオペレーティングシステムにC++コンパイラがインストールされ、構成されている必要があります。 あなたのシェルで以下のクエリを使用しようとしない場合は、すぐに実行してください。
これでコンパイラがインストールされ、以下のコマンドを書いてEnterキーを押してコンパイルします。

のコンパイル中にエラーは見つかりません。test.cc ファイル。 以下のクエリを使用してファイルの実行に移りましょう。 結果は、ケース2が変数”num”値2で満たされているため、端末の出力”Two”を示します。

例02:
ここでswitch文の動作を確認する別の例を見てみましょう。 以下のコードをファイルにコピーします。 今回は、switch文で渡される値”blue”を持つ文字列型変数”color”を使用しています。 スイッチでは、白の場合は「w」、黒の場合は「b」の2つのケースを使用しました。 このコードに新しいものが追加されました。 このケースは、switchステートメントに渡された値が、色が”青”であり、両方のケースと一致しないことがわかるように、その中に記載されているケースのいずれかを 今回はデフォルトのケースを実行する必要があります。 コードを保存して終了します。

以下のようにg++コンパイラを介してc++コードをコンパイルし、その後にファイルの名前を付けます。

ファイルの実行は、以下に示す出力コマンドを使用して行われます。 出力は、デフォルトのケースのprint文が以下のように実行されたことを示しています。

例03:
上記のような別の例を見てみましょう。 を開きます。test.cc nanoエディタを介してファイル。

開いたファイルに以下のコードをそのまま記述します。 Mainメソッドでは、整数”n”を初期化しました。 私たちは、”cout”フレーズを使用して学生のマークを追加するようにユーザーに求めてきました。 ステートメント”cin”は、ユーザーが入力した値を変数”n”に格納するために使用されています。 ユーザーが追加した値は、switch文でユーザーが追加した値と一致する相対的な大文字と小文字をチェックして実行するために使用されます。

最初にコードをコンパイルします。

実行時に、ユーザは40を入力し、ケース”40″が実行された。

ファイルを再度実行すると、useは値10を追加しましたが、これはどのケースにも一致しません。 したがって、デフォルトのケースが実行されています。

例04:
今回はswitch文を使用して電卓として機能しています。 そこで、文字型変数”op”、2つの浮動小数点型変数n1とn2を追加しました。 ユーザーが追加した演算子に応じて、switch文は特定の関連するケースを実行します。 相対的なケースでは、両方のオペランドに特定の演算子を適用することによって値が計算されます。

コードをコンパイルします。

ユーザーは、最初の実行時に”/”記号と二つの数字を追加し、除算が実行されました。

ユーザーは、2回目の実行時に「*」記号と2つの数字を追加し、乗算を実行しました。

ユーザーは、3回目の実行時に「&」記号と2つの数字を追加し、デフォルトのケースを実行しました。

結論:
この記事では、例でswitch文、そのケース、およびデフォルトケースについて正常に説明しました。 C++言語のswitch文に関するすべての問題に対応するのに役立つことを願っています。
Leave a Reply