【C++入門】条件分岐を使って数字を英単語に変換するプログラムの書き方
数字を単語に変換するプログラムとは
0から9までの1桁の数字 d を受け取り、それに対応する英単語に変換するプログラムを考えてみましょう。例えば、d = 9 が入力された場合、出力は "Nine" になります。また、0〜9の範囲外の値が入力された場合には、範囲外であることを示す適切なメッセージを返すようにします。
例えば、入力が d = 3 であれば、出力は "Three" となります。
解決のためのアルゴリズム
この問題は、条件分岐(if-else文)を使うことで簡単に解決できます。手順は以下のとおりです。
- solve() という関数を定義し、引数として数字 d を受け取ります。
- d が 0 未満、または 9 より大きい場合は "Beyond range of 0 - 9" を返します。
- それ以外の場合は、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文で一つずつ書くことで、条件評価の流れをしっかり理解することができます。
-
C++プログラムから外部アプリケーション(メモ帳など)を起動する方法
この記事では、C++プログラムを使ってメモ帳(Notepad)などのサードパーティ製アプリケーションを起動する方法を解説します。実装は非常にシンプルで、コマンドプロンプトで使うコマンドをそのままC++から呼び出すだけで実現できます。ポイントとなるのは、標準ライブラリの system() 関数です。この関数の引数にアプリケーション名(コマンド)を文字列として渡すと、OSがそのコマンドを実行し、対応するアプリケーションが起動します。サンプルコード#include <iostream> using namespace std; int main() { cout <<
-
摂氏を華氏に変換する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() {