C++
 Computer >> コンピューター >  >> プログラミング >> C++

【C++入門】条件分岐を使って数字を英単語に変換するプログラムの書き方

数字を単語に変換するプログラムとは

0から9までの1桁の数字 d を受け取り、それに対応する英単語に変換するプログラムを考えてみましょう。例えば、d = 9 が入力された場合、出力は "Nine" になります。また、0〜9の範囲外の値が入力された場合には、範囲外であることを示す適切なメッセージを返すようにします。

例えば、入力が d = 3 であれば、出力は "Three" となります。

解決のためのアルゴリズム

この問題は、条件分岐(if-else文)を使うことで簡単に解決できます。手順は以下のとおりです。

  1. solve() という関数を定義し、引数として数字 d を受け取ります。
  2. d が 0 未満、または 9 より大きい場合は "Beyond range of 0 - 9" を返します。
  3. それ以外の場合は、d の値に応じて対応する英単語を返します。
  • d が 0 のとき → "Zero"
  • d が 1 のとき → "One"
  • d が 2 のとき → "Two"
  • d が 3 のとき → "Three"
  • d が 4 のとき → "Four"
  • d が 5 のとき → "Five"
  • d が 6 のとき → "Six"
  • d が 7 のとき → "Seven"
  • d が 8 のとき → "Eight"
  • d が 9 のとき → "Nine"

実装例

それでは、実際のC++コードを見てみましょう。

#include <iostream>
using namespace std;

void solve(int d){
    if(d < 0 || d > 9){
        cout << "Beyond range of 0 - 9";
    }else if(d == 0){
        cout << "Zero";
    }else if(d == 1){
        cout << "One";
    }else if(d == 2){
        cout << "Two";
    }else if(d == 3){
        cout << "Three";
    }else if(d == 4){
        cout << "Four";
    }else if(d == 5){
        cout << "Five";
    }else if(d == 6){
        cout << "Six";
    }else if(d == 7){
        cout << "Seven";
    }else if(d == 8){
        cout << "Eight";
    }else if(d == 9){
        cout << "Nine";
    }
}

int main(){
    int d;
    cin >> d;
    solve(d);
}

実行結果

入力:

3

出力:

Three

コードの解説

このプログラムのポイントは以下の2点です。

  • まず、d が 0 未満または 9 より大きいかどうかを論理OR演算子(||)でチェックし、範囲外であればエラーメッセージを表示して処理を終えます。
  • 範囲内であれば、else if 文が上から順に評価され、最初に一致した条件に対応する英単語が出力されます。

なお、このような多数の条件分岐は、switch 文や配列を使うことでより簡潔に記述できます。例えば、文字列の配列 words[] = {"Zero", "One", ..., "Nine"} を用意しておけば、words[d] を参照するだけで同じ処理を実現できます。ただし、条件分岐の基本を学ぶ段階では、if-else文で一つずつ書くことで、条件評価の流れをしっかり理解することができます。

  1. C++プログラムから外部アプリケーション(メモ帳など)を起動する方法

    この記事では、C++プログラムを使ってメモ帳(Notepad)などのサードパーティ製アプリケーションを起動する方法を解説します。実装は非常にシンプルで、コマンドプロンプトで使うコマンドをそのままC++から呼び出すだけで実現できます。ポイントとなるのは、標準ライブラリの system() 関数です。この関数の引数にアプリケーション名(コマンド)を文字列として渡すと、OSがそのコマンドを実行し、対応するアプリケーションが起動します。サンプルコード#include <iostream> using namespace std; int main() { cout <<

  2. 摂氏を華氏に変換するC++プログラム

    この記事では、C++を使って摂氏(℃)の温度を華氏(℉)に変換するプログラムを紹介します。摂氏から華氏への変換は、次のシンプルな数式で行えます。 F = (9 × C ÷ 5) + 32 ここで、Cは摂氏温度、Fは華氏温度を表します。例えば、摂氏37度は華氏98.6度に相当し、これは人間の平熱に近い値です。 アルゴリズム 処理の流れは以下の通りです。 開始  摂氏温度Cを入力する  F = (9C/5) + 32 を計算する  結果Fを返す 終了 サンプルコード #include<iostream> using namespace std; int main() {