Red de conocimiento informático - Problemas con los teléfonos móviles - Código fuente de moneda correcto

Código fuente de moneda correcto

La primera vez que escribí un código tan abultado, estaba confundido:

# include & ltiostream & gt

# include & ltstring& gt

# include & ltsstream & gt

# include & ltcstdlib & gt

# include & ltctime & gt

Usar espacio de nombres std

String chs (cadena constante & in)

{

typedef unsigned size_t;

String chs[] = { "cero", "uno", "dos", "tres" ,"cuatro","cinco","seis","siete","ocho","nueve"};

Número de cadena[] =

{

"Diez", "Cien", "Mil", "Diez Mil",

"Diez", "Cien", "Mil", "Miles de millones"”,

“Diez”, “Cien”, “Mil”, “Trillón”,

“Diez”, “Cien”, “Mil”, “Jing”,

"Diez" , "Cien", "Mil", "Oye",

"Diez", "Cien", "Mil", "Ocho",

"Diez", "Cien" , "Mil", "Mao",

"Diez", "Cien", "Mil", "Gou",

"Diez" ", "cien", "mil ", "espada",

"十", "cien", "mil", "正",

"十", "百" ", "Miles", " Zai",

"Diez", "Cientos", "Miles", "Bao"

};

Valor de cadena (pulg);

Valor de cadena;

if(value.find(' . '))== cadena::npos)

{

if(valor tamaño()% 4 = = 2 & amp; & amp valor[0] == '1 ')

{

borrar(0, 1);

valor .append(" ten ");

}

Temperatura de cadena;

for (size_t I = 0; i & ltvalue . tamaño(); ++i)

{

if (i!= 0 & amp& amp i!= valor . tamaño ()&&temporary!=CHS[static_cast<int>(valor [i]-'0')])

{

string temp1(VALUE, VALUE.size() - 2, 2);

if( temp1! = cadena("cero"))

valor append(dígitos[valor . tamaño()-I-1]);

}

if( temp! = CHS[static _ cast & lt; int & gt(valor[i] - '0')])

{

valor . <int>(valor[I]-' 0 '));

If(temp == cadena ("cero"))

temp = CHS[static _ cast & lt ; int & gt(valor[I]-' 0 ')]

}

}

}

Otros

{

Cadena decimal(valor.begin(), valor.begin() + valor.find(' .

')));

Puntuación de cadena (value.begin() + value.find(' . ')) + 1, valor

if( decimal end()); tamaño() = = 2 & amp; & ampdecimal[0] == '1 ')

{

decimal.erase(0, 1);

valor .append(" diez ");

}

Temperatura de cadena;

for(size_t I = 0;i<decimal .size();+ +i)

{

if (i!= 0 &&i!= decimal .size()&&trabajador temporal!= CHS[static_cast<int>(valor[i] - ' 0')])

{

string temp1(VALUE, VALUE.size() - 2 , 2);

if(temp1!= string( "cero"))

valor . append(digits[decimal . size()-I-1]);

p>

}

if(temp). != CHS[static_cast<int>(decimal[i] - '0')])

{

valor . decimal [I]--0 '));

If(temp == cadena ("cero " ))

temp = CHS[static_cast<int>(decimal[I]- ' 0 ')];

}

}

cadena temp1(VALUE, VALUE.size() - 2, 2); p>If(temp1 == "cero ")

VALUE.erase( VALUE.size() - 2, 2);

Valor += "punto";

for(size_t I = 0;i<fraction.size();+ +i)

{

valor append(CHS[static _ cast & lt; int &. gt(fracción [I]-' 0 '));

}

}

Valor de retorno;

}

Cadena chRmb (cadena constante y entrada de amplificador)

{

typedef unsigned size_t;

Cadena chs[] = { "zero", " uno", "dos", "tres", "cuatro" ","五","地","七","八","九"};

Número de cadena[] =

{

"Recibir", "Cien", "Mil", "Diez Mil",

"Shi", "Cien", "Mil", "Miles de millones",

"Shi", "cien", "mil", "billones",

"sí", "blanco", "dinero", "respeto",

"tomar", "cien", "Mil", "Oye",

"Shi", "Cien", "Mil", "Diez",

"Historia", "Blanco", "Qian", "Mao",

"Conectar", "Cien", "Mil", "Deshacerse",

" Shi", "Cien", "Mil", "Liu",

"Sí", "Blanco", "Qian", "Zheng",

"Recibir", " Cien", "Mil", "Zai",

"Recibir", "Cien", "Mil", "Informe"

"

};

String frac[] = { "ángulo", "minutos", "millas", "milímetros" };

Valor de cadena ( in);

Valor de cadena;

if(value.find(' . '))== cadena::npos)

{

if(valor . tamaño()% 4 == 2 & & valor[0] == '1 ')

{

valor.erase (0, 1) ;

valor . append(" Recoger ");

}

Temperatura de cadena

for (size_t I = 0; i & ltvalue . ;int>(valor[i]-'0')])

{

string temp1(VALUE, VALUE.size() - 2, 2);

if(temp1!= cadena("cero"))

valor append(dígitos[valor . tamaño ()-I-1]);

}

if(temp!= CHS[static_cast<int>(value[i]-'0') ])

{

value . & lt; int & gt(valor [I]-' 0 '));

If(temp == cadena ("cero"))

temp = CHS[static_cast< int>(valor[I]-' 0 ')];

}

}

}

Otros

{

Cadena decimal(value.begin( ), value.begin() + value.find(' . ')));

Puntuación de cadena (value.begin( ) + valor.find(' . '))+ 1, valor . end());

if(decimal . tamaño()% 4 = = 2 & amp; & ampdecimal[0] == '1 ')

{

decimal.erase(0, 1);

valor .append(" Recoger ");

}

Temperatura de cadena;

p>

for(size_t I = 0; i & ltdecimal . size(); ++i)

{

si (yo! = 0 &&i! = decimal .tamaño()&temporal! =cadena(CHS[static_cast<int>(valor[i] - '0 ')))

{

cadena temp1(VALOR, VALOR.tamaño () - 2, 2) ;

if(temp1!= cadena("cero"))

valor append(dígitos[decimal . size()-I-1] );

}

if(temp!= CHS[static_cast

<int & gt(decimal[i] - '0')])

{

valor . append(CHS[static _ cast <int & gt(decimal [I] ]--0 '));

If(temp == cadena ("cero"))

temp = CHS[static _ cast & lt; I]-' 0 ')];

}

}

string temp1(VALUE, VALUE.size() - 2, 2

If(temp1 == "cero ")

VALUE.erase(VALUE.size() - 2, 2);

Valor +=" yuanes ";

for(size_t I = 0;i<fraction . size();++i)

{

valor append(CHS [static _ cast < int>(fracción[I]-' 0 '));

if (i! = fracción.size() - 1)

valor .append(frac[I]);

}

}

Valor de retorno;

}

Plantilla & tipo ltT, tipo U & gt

Conversión de palabras

{

stringstream sstrm

sstrm & lt& ltu;

T t

sstrm & gt& gtt;

return t;

}

int main()

{

srand((unsigned)time(0));

for(int I = 0;i<100;++i)

{

cadena val = lexical _ cast & ltstring& gt(I *(rand()% 100000)*(rand()% 10 * 0.001));

cout & lt& ltval & lt& lt":" & lt& lt \ n ';

cout & lt& lt"Capital:"

cout & lt& lt"RMB:"

}

cout & lt& ltCHS(cadena(" 8769123456789123456789123456789123456789.123456789 ")& lt;& ltendl

cout & lt& ltchRmb(cadena(" 876 89123456789123456789.12345))<

Renminbi: mil trescientos cuarenta y diez Lu yuanes, ochenta centavos y tres centavos.

4975,51:

Capital: 4975,51.

RMB: 49.750,51 yuanes.

229.768:

Capital: 229.768

Renminbi: doscientos veintinueve Yuan Qijiao Lufen.

709.108:

Capital: Setecientos Nueve Yuan Ciento Ocho Centavos

Renminbi: Setecientos Nueve Yuan Ciento Ocho Centavos.

0:

Capital: cero

RMB: cero

3408,64:

Capital: 3.408,64 Yuan

RMB: 34.088,64 yuanes.

999.168:

Capital: 999.168

Renminbi: 900, 900, 9 yuanes, 1 centavo.

1937,93:

Capital: 1.937,93 yuanes

RMB: 19137,93 yuanes.

1459,55:

Capital: 1459,55.

Renminbi: Mil cuatrocientos quinientos nueve yuanes, cinco jiao y cinco céntimos.

643.965:

Capital: 643.965

Renminbi: Lu Bai Si Shi Tres Yuan Jiu Jiao Wu.

8138.56:

Mayúscula: ochenta y ocho mil ciento treinta y ocho yuanes centavos de tierra de cinco esquinas

RMB: ocho mil ciento tres y ocho Punto de centavos de tierra de cinco esquinas de yuanes.

1851.18:

Capital: 1851.18.

Renminbi: Mil ochocientos quinientos un yuanes con una moneda de diez centavos y ocho céntimos.

10894.1:

Capital: ciento ochenta y un ciento noventa y cuatro yuanes y una moneda de diez centavos

RMB: ciento ochenta y un ciento noventa -cuatro yuanes

p>

3580,43:

Capital: 3.580,43.

Renminbi: tres mil quinientos ochenta y cuatro yuanes.

10202.8:

Capital: Mil doscientos doscientos ochenta céntimos

RMB: 102.002 yuanes y ocho céntimos

1857,05 :

Capital: Mil ochocientos quinientos setenta y siete yuanes con cinco céntimos

Renminbi: Mil ochocientos quinientos setenta y siete yuanes con cero céntimos.

0:

Capital: cero

RMB: cero

6364,95:

Capital: Lu Qiansan Bai Lu Shi Si Yuan Jiu Jiao Wu Wu

RMB: Lu Qian San Bai Lu Shi Si Yuan Jiu Jiao Wu Wu.

6422.24:

Capital: LU Qian Si Bai 2 Shi Yuan 2 Jiao 4 centavos

RMB: LU Qian Si Bai 2 Shi Yuan 2 Jiao 4 puntos.

3198,01:

Capital: 3.198,01.

RMB: 31.198,01 yuanes.

3182.1:

Representado en texto: 3182.1.

RMB: 31.812,1 yuanes.

8802.07:

Capital: 8, 802.07.

Renminbi: 8.000, 800, 2 yuanes, siete céntimos

1757,28:

Capital: 1757,28.

RMB: 17.577,28 yuanes.

868.035:

Mayúscula: Ochocientos Lu Shie Dieciocho Yuan Cero Treinta Céntimo Cinco Centavos

RMB: Ochocientos Lu Shie Dieciocho Yuan Cero Treinta Céntimo Cinco Centavos.

1017.5:

Capital: Mil ciento setenta y siete yuanes con cinco centavos

RMB: Mil ciento diecisiete y cinco yuanes.

855.423:

Capital: 855.423

Renminbi: 800, 55, 4, 4, dos y tres céntimos

782,86:

Mayúsculas: Setecientos ochenta y dos yuanes con ochenta céntimos por tierra

Renminbi: setecientos ochenta y dos yuanes con ochenta céntimos por tierra.

608.705:

Capital: Lu Bai08 Yuan Qi Bai0 Wufen

Renminbi: Lu Bai08 Yuan Qijiao Wufen.

2873,88:

Capital: 2873,88 yuanes

RMB: 28, 173 yuanes y 8 centavos.

4847.04:

Mayúsculas: Cuatro Mil Ochocientos Cuatro Shiqi Yuan Cero Cuatro Centavos

RMB: Cuatro Mil Ochocientos Cuatro Diez Siete Yuan Cero Cuatro Centavos.

9339,12:

Capital: 9339,12.

RMB: 93.390,12 yuanes.

3469,42:

Capital: Tres mil cuatrocientos sesenta y nueve yuanes cuatro céntimos con dos céntimos

RMB: 34.690,42 yuanes.

518.404:

Capital: 518.404

Renminbi: quinientos ochenta y ocho yuanes, cuatro céntimos y cuatro céntimos.

8476,53:

Capital: 8.004, 107, Lu Yuan, 5 jiao y 3 centavos

RMB: 8.000, 400, 71, Lu Yuan, 5 jiao y 3 céntimos

4435,2:

Letras mayúsculas: cuatro mil cuatrocientos treinta y cinco yuanes dos céntimos

RMB: 44.135,20 yuanes.

4175.33:

Capital: Cuatro mil ciento setenta y cinco yuanes tres monedas de diez centavos y tres centavos

RMB: 41175330 yuanes.

11130.4:

Capital: Mil Un Mil Ciento Treinta y Cuatro Centavos

RMB: Mil Un Mil Ciento Treinta y Cuatro Centavos.

3817,8:

Capital: 3817,8.

/p>

Renminbi: Lu Qian Si Bai Jiu Shi One Yuan Qi Jiao Lu Fen.

9686,3:

Capital: 9686,3.

RMB: 96816,3 yuanes

870.276:

Capital: 800.712 yuanes Qijiaolufen

RMB: 800 Setecientos un yuanes veinticinco siete centavos.

3120.12:

Capital: 3120.12.

RMB: 31.120,12 yuanes

7637,76:

Capital: Qiqian Lu Bai San Shi Qi Yuan Qi Jiao Lu Fen

RMB: 76137,76 yuan.

10891.5:

Capital: Ciento Ochenta y Nueve Cientos Un Yuan y Cinco Céntimos

RMB: Ciento Ochocientos Noventa y Un Yuan y Cinco centavos.

7922,25:

Capital: Siete Mil Novecientos Doscientos Dos Yuanes Dos Ángulos Cinco Centavos

RMB: 79122,25 yuanes.

2122.05:

Capital: 2122.05.

RMB: 21122,05 yuanes.

1827.65:

Mayúscula: mil ochenta y un ciento veintisiete yuanes Lujiao cinco centavos

RMB: mil ochenta y un ciento veintisiete yuanes Lujiao cinco puntos.

2192.7:

Representado en texto: 2192.7.

RMB: 21.192,70 yuanes.

633.588:

Capital: 633.588

Renminbi: Lu Bai Treinta Treinta Yuan Cinco Jiao Ocho Centavos.

3333,45:

Capital: Tres mil trescientos treinta y tres yuanes cuatro céntimos

RMB: 33.333,45 yuanes.

3104.45:

Capital: Tres mil ciento cuatro dólares con cuatro centavos.

RMB: 31.040,45 yuanes.

20018.7:

Capital: 20.018,7

RMB: Doscientos ciento ochenta y siete yuanes.

914,16:

Capital: 914,16

RMB: 9140,16 yuanes.

8619,85:

Capital: 8.619,85 yuanes

Renminbi: ocho mil lu, ciento nueve yuanes, ochenta y cinco céntimos

9418,56 :

Capital: 9418,56.

RMB: 94188,56 yuanes.

5793,61:

Capital: 5.793,61 yuanes

RMB: 57.993,61 yuanes.

0:

Capital: cero

RMB: cero

0:

Capital: cero

p>

RMB: cero

2437,76:

Capital: 2437,76.

RMB: 20.000, 4.000, 300, 7, 10, 7, Yuan, 7.000 y 60 céntimos.

8439.65:

Capital: Ochenta y ocho mil cuatrocientos treinta y nueve yuanes, ángulo terrestre cinco centavos

RMB: Ocho mil cuatrocientos treinta- nueve yuanes, ángulo de tierra de cinco puntos.

1704.86:

Capital: Mil setecientos cuatro yuanes ochenta centavos.

Renminbi: mil setecientos cuarenta yuanes con ochenta céntimos.

1704.5:

Capital: Mil Setecientos Cuatrocientos Cinco Jiao

Renminbi: Mil Setecientos Cuatro Mil Cinco Shiyuan.

13277.4:

Capital: Mil Treinta y Tres Mil Doscientos Siete Siete Yuan Cuatro Jiao

RMB: Mil Treinta y Tres Mil Doscientos Siete Siete Siete Yuan Cuatro Centavos Jiao

17714.1:

Capital: Mil Siete Mil Setecientos Diez Cuatro Yuan Una Diota

RMB: Diecisiete Mil Setecientos Catorce Yuan todo.

244,8:

Capital: 244,8

Renminbi: doscientos catorce yuanes con ocho céntimos.

0:

Capital: cero

Renminbi: cero

8986.56:

Capital: ocho mil nueve Ciento ochenta ciento ochenta ciento ochenta ciento ochenta ciento ochenta ciento ochenta ciento ochenta ciento ochenta ciento ochenta ciento ochenta ciento ochenta uno Lu Yuan y cinco jiao puntos terrestres

RMB:

7.797,12:

Capital: 7.797,12.

Renminbi: siete mil setenta y siete yuanes y una moneda de diez centavos.

14659.6:

Mayúscula: Mil Cuatro Mil Lu Ciento Cinco Shijiu Yuan Lufen

RMB: Mil Cuatro Mil Lu Ciento Cinco Shijiu Yuan.

4953,59:

Capital: 4.953,59 yuanes

RMB: 49530,59 yuanes.

16352.6:

Capital: Mil Lu, Trescientos Cinco y Dos Yuan, Lufen

RMB: Mil Lu, Trescientos Cinco Mierda y Dos yuanes.

7079.45:

Capital: Siete mil cero siete diez nueve yuanes cuatro centavos cinco centavos

RMB: siete mil cero setecientos nueve nueve yuanes cuatro centavos cinco centavos

23194:

Capital: Doscientos treinta mil ciento noventa y cuatro yuanes.

RMB: 23.011.914 yuanes

2985,44:

Capital: 2985,44.

RMB: 29850,44 yuanes.

Ocho informes, siete mil seiscientos noventa y uno, dos mil trescientos cuarenta y cinco, seis mil setecientos ochenta y nueve arroyos, mil doscientos treinta y cuatro acequias, cinco mil seiscientos setenta y ocho, nueve mil ciento veintitrés, cuatro mil quinientos sesenta y siete, ocho mil novecientos doce Beijing, tres mil cuatrocientos cincuenta y seis mil setecientos ochenta y nueve mil ciento y veintitrés mil quinientos ochenta y nueve, mil setecientos ochenta y nueve, mil doscientos ochenta y nueve, mil doscientos ochenta y nueve.

876.912.3456.789 ríos, 1.234 acequias, 5.677 Ochenta y un millones doscientos treinta y cuatro mil Wu Bai sesenta y siete mil ochocientos veintitrés y cuatro mil cuatrocientos cincuenta y seis mil ochocientos noventa y nueve.