• Viernes 8 de Noviembre de 2024, 15:54

Autor Tema:  Solicito Que Me Ayuden Con El Sig Codigo  (Leído 794 veces)

ugartex

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Solicito Que Me Ayuden Con El Sig Codigo
« en: Miércoles 27 de Febrero de 2008, 20:29 »
0
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
  • =res;

       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!!!