我正在C++上編寫一個簡單的程序,它讀取數字並輸出英文文本中的數字。它可以讀取0到9,999,999之間的數字。我將它分爲函數,函數,數十,數百,數千和數百萬個函數。For循環沒有按要求執行
我有一個for循環在經過僅僅從整個號碼到另一個字符串一些數字以百萬計的功能,但它只能執行一次,它不是複製數字:
`
string millionths(string num_i)
{
string num_m;
string num_l;
string num_ln="000000";
string num_ln5="00000";
string num_ln4="0000";
string num_ln3="000";
string num_ln2="00";
int it;
/*I just want the last 6 characters from num_i to be copied to num_ln
but the loop is only executing once and doesn't copy any value*/
for(it=0;it<6;it++);
{num_ln[it]=num_i[it+1];}
num_m=units(num_i[0]);
if(num_ln=="000000")
return num_m+" million";
else if(num_ln[0]=='0'&&num_ln[1]=='0'&&num_ln[2]=='0'&&num_ln[3]=='0'&&num_ln[4]=='0')
{num_l=units(num_ln[5]);}
else if(num_ln[0]=='0'&&num_ln[1]=='0'&&num_ln[2]=='0'&&num_ln[3]=='0')
{for(it=0;it<2;it++);
{num_ln2[it]=num_i[it+5];}
num_l=tenths(num_ln2);}
else if(num_ln[0]=='0'&&num_ln[1]=='0'&&num_ln[2]=='0')
{for(it=0;it<3;it++);
{num_ln3[it]=num_i[it+4];}
num_l=hundreths(num_ln3);}
else if(num_ln[0]=='0'&&num_ln[1]=='0')
{for(it=0;it<4;it++);
{num_ln4[it]=num_i[it+3];}
num_l=thousanths(num_ln4, 1);}
else if(num_ln[0]=='0')
{for(it=0;it<5;it++);
{num_ln5[it]=num_i[it+2];}
num_l=thousanths(num_ln5, 2);}
else
{num_l=thousanths(num_ln, 3);}
return num_m+" million "+num_l;
}
`
我真的很感謝你的幫忙。
該代碼的格式是可怕的。如果你修復它,你可能會自己找到錯誤。 – Radiodef 2014-10-11 22:49:49
「簡單」....... – 2014-10-12 00:01:45