alguien me podria explicar el siguiente codigo se k es un programa k traduce numeros a letras por ejemplo: tu escribesw 5 y el programa te escribe cinco
pero kisiera k melo explicaran para k funciona cada parte del programa esta hecho en dev c++
#include <iostream>
#include <conio.h>
using namespace std;
int cantidad (int[], int);
char *sencillos[20]={"CERO","UNO","DOS","TRES","CUATRO","CINCO","SEIS","SIETE","OCHO","NUEVE","DIEZ","ONCE","DOCE","TRECE","CATORCE","QUINCE","DIECISEIS","DIECISIETE","DIECIOCHO","DIECINUEVE"};
char *decenas[10]={"\0","DIEZ","VEINTE","TREINTA","CUARENTA","CINCUENTA","SESENTA","SETENTA","OCHENTA","NOVENTA"};
char *centenas[10]={"\0","CIENTO","DOCIENTOS","TRECIENTOS","CUATROCIENTOS","QUINIENTOS","SEISCIENTOS","SETECIENTOS","OCHOCIENTOS","NOVECIENTOS"};
char *excepciones[4]={"\0","CIEN","DIECI","VEINTI"};
int main(){
int a[3]={0};
long int num,res;
int x=0,y;
char opc;
do{
do
{
cout<<"ESCRIBA CON NUMEROS LA CANTIDAD QUE DESEA TRADUCIR: ";
cin>>num;
cout<<endl;
cout<<"LA CANTIDAD SE ESCRIBE ASI: ";
if(num ==0)
{
cout<<sencillos[0];
}
}
while(num<0||num>300);
do
{ res=num%1000;
num=num/1000;
a
x++;
}
while(num!=0);
cantidad(a,x);
cout<<endl<<endl;
cout<<"Fin del programa "<<endl<<endl;
system ("PAUSE");
}
while(0);
}
int cantidad (int a[],int x){
if(x==0){return 0;}
int num=a[x-1];
int cen=num/100;
int dec=(num%100)/10;
int uni=num%10;
int especial=num%100;
if(uni==1&&x>1){ sencillos[1]="UN"; }
else {sencillos[1]="UNO";}
if(num>100){ cout<<centenas[cen]<<" "; }
if(num==100){cout<<excepciones[0]<<" "; goto fin;}
if(uni==0){cout<<decenas[dec]<<" "; goto fin; }
if(especial<30){ cout<<excepciones[dec]<<sencillos[uni]<<" ";goto fin; }
cout<<decenas[dec]<<" Y "<<sencillos[uni]<<" ";
fin:
if(x==4){ cout<<"MIL";}
return cantidad(a,x-1);
}
desde ya muchas gracias!!!