数字を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;
}
あなたが '20'を入力した場合、何も出力しますか? – Tas
このコードはコンパイルされません。あなたは 'else if(..){..}'を入れる必要があります。 –
ifをelseの両方に追加し、string tens []のすべての英数字を出力します。 – Haris