イム読み取り問題C++で解くと、以下を理解しないために追加:行27で文字列はローマ数字
を私が考えるものに変更したときの兆候は後ろ向きですがより大きいと少ないように思えます彼らはプログラムが実行される必要があります。 <>標識がある理由をお知らせください。
行47で始まる文字列関数では、どの文字列を選択するのかはどのように分かりますか?私が1930年を入力すれば、プログラムは900のために何とか9つのカンマを越えて「CM」という次の文字列を選ぶことが分かり、30の場合も3つのカンマを超えて「XXX」を選択する必要があることが分かります。 ..しかし、私は確信していない?あなたは今年、行27で1930
#include <iostream>
#include <string>
using namespace std;
//function prototype
string toRomanLiterals(int);
int main()
//program displays Arabic Years as Roman Years
{
//declare integer as number
int integernumber;
//declare a character
char choice;
//do while loop to continue by y or no
do
{
//do while loop to read integer from user
//read integer number between 1 and 3000 only
do
{
cout << "Enter a number between 1000 and 3000: ";
cin >> integernumber;
}
while (integernumber < 1000 || integernumber > 3000);
if (integernumber > 1000 || integernumber < 3000)
{
//calling toRomanLiterals function
string output= toRomanLiterals(integernumber);
cout << output<<endl;
}
//continue to ask until user wishes to stop
cout << "Would you like to continue? [y/n]" << endl;
cin >> choice;
}
while (choice != 'n');
return 0;
}
//string toRomanLitrals takes the integer number and converts to a given
//number to a Roman number if it is between 1000 and 3000
string toRomanLiterals(int number)
{
string roman;
int th,h,t,o;
//string array for numbers 1 to 9
string ones[] =
{"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"};
//string array for numbers 10 to 90
string tens[] =
{"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"};
//string array for numbers 100 to 900
string hundreds[] =
{"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"};
//string array for numbers 1000 to 3000
string thousands[] = {"", "M", "MM", "MMM"};
if (number <= 3000)
{
//get number of thousands
th = number/1000;
number = number % 1000;
//get number of hundreds
h = number/100;
number = number % 100;
//get number of tens
t = number/10;
o = number % 10;
//concatenate all string values of thousands, hundreds, tens, zeros
//concatenate all symbols
roman += thousands[th].append(hundreds[h])
.append(tens[t]).append(ones[o]);
}
return roman;
}
「後方」とはどういう意味ですか?あなたは各文の最初の文字を適切に大文字にすることができますか?アポストロフィはどこにありますか? –