2016-07-24 4 views
0

数字を1-99から英語に変換しようとしていますが、ここで何が欠けているのか正直に分かりません。私が20のような数字を入力すると、それは20のように出力されません。どんな助けもありがとう!C++で数値を英語(1-99)に変換する

まずは、あなたがこのようstring ones[]string tens[]であなたのパラメータ間のコンマを置く必要があります::)

#include <iostream> 
#include <string> 
#include <cstdlib> 

using namespace std; 


int main() 
{ 
    cout << "In this program we will convert integers to English" << endl; 

    int Number, leftDigit, rightDigit, yes; 
    yes = 1; 

    string ones[] = {" Zero" 
        " One " 
        " Two " 
        " Three " 
        " Four " 
        " Five " 
        " Six " 
        " Seven " 
        " Eight " 
        " Nine " 
        " Ten " 
        " Eleven " 
        " Twelve " 
        " Thirteen" 
        " Fourteen " 
        " Fifteen " 
        " Sixteen " 
        " Seventeen " 
        " Eighteen " 
        " Nineteen " }; 

    string tens[] = {" Twenty " 
        " Thirty " 
        " Fourty " 
        " Fifty " 
        " Sixty " 
        " Seventy " 
        " Eighty " 
        " Ninety "}; 
do{ 
    cout << "Enter any integer value: " << endl; 
    cin >> Number; 

    if (Number <= 0 || Number >= 100) 
    { 
     cout << "The number is not between 1 and 99" << endl; 
    } 
    else (Number >= 1 && Number <= 19) 
    { 
     cout << "The number you have entered is: " << ones[Number] << endl; 
    } 
    else (Number >= 20 && Number <= 99) 
    { 
     leftDigit = Number/10; 
     rightDigit = Number % 10; 

     cout << "The number you have entered is: " << tens[leftDigit - 2 ] << " " << ones[rightDigit] << endl; 
    } 
    } while (yes == 1); 

    return 0; 
} 
+0

あなたが '20'を入力した場合、何も出力しますか? – Tas

+2

このコードはコンパイルされません。あなたは 'else if(..){..}'を入れる必要があります。 –

+0

ifをelseの両方に追加し、string tens []のすべての英数字を出力します。 – Haris

答えて

4

は、あなたのコード内の二つの問題を持っている

string tens[] = { " Twenty ", 
     " Thirty ", 
     " Fourty ", 
     " Fifty ", 
     " Sixty ", 
     " Seventy ", 
     " Eighty ", 
     " Ninety " }; 

セカンドelseifを追加する必要があります。

これらの2つの問題を修正した後、あなたのコードの
// .. 
else if (Number >= 1 && Number <= 19) 
       { 
        cout << "The number you have entered is: " << ones[Number] << endl; 
       } 
// .. 

結果

enter image description here

+0

素晴らしい!それがそれを解決しました。ありがとうFirstStep :) – Haris

+0

私たちが手伝ってくれてうれしいです:) –

+1

@ハリスどのようにして、あなたは20までの数字を入力するたびに、それを得ることができました。プログラムをコンパイルできなかった場合は、決して数字「20」を入力できませんでした。 – Steve

関連する問題