pregunta .. numeros a letras
es posible .. k uno al escribir un numrero por ejemplo 1.550.000.. pueda imprimir .. el numero es "un millon quinientos cincuenta mil"
de ante mano gracias
de ante mano gracias
Claro que se puede mi estimado "panshop" puedes hacerlo con iteraciónes anidadas é "If´s", aqui te mando un programita que hace lo contrario, a la mera y te sirve de algo.
Saludos. ATTE. Hack JAM
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <values.h>
int valor=0;
void dec(char val[10]){
if(strcmpi(val,"uno")==0)valor=valor+ 1;
if(strcmpi(val,"dos")==0)valor=valor+ 2;
if(strcmpi(val,"tres")==0)valor=valor+ 3;
if(strcmpi(val,"cuatro")==0)valor=valor+ 4;
if(strcmpi(val,"cinco")==0)valor=valor+ 5;
if(strcmpi(val,"seis")==0)valor=valor+ 6;
if(strcmpi(val,"siete")==0)valor=valor+ 7;
if(strcmpi(val,"ocho")==0)valor=valor+ 8;
if(strcmpi(val,"nueve")==0)valor=valor+ 9;
}
void hh(char val[20]){
if(strcmpi(val,"once")==0)valor=valor+ 11;
if(strcmpi(val,"doce")==0)valor=valor+ 12;
if(strcmpi(val,"trece")==0)valor=valor+ 13;
if(strcmpi(val,"catorce")==0)valor=valor+ 14;
if(strcmpi(val,"quince")==0)valor=valor+ 15;
if(strcmpi(val, "diesiseis")==0)valor=valor+ 16;
if(strcmpi(val, "diesisiete")==0)valor=valor+ 17;
if(strcmpi(val, "diesiocho")==0)valor=valor+ 18;
if(strcmpi(val, "diesinueve")==0)valor=valor+ 19;
if(strcmpi(val, "veintiuno")==0)valor=valor+ 21;
if(strcmpi(val, "veintidos")==0)valor=valor+ 22;
if(strcmpi(val, "veintitres")==0)valor=valor+ 23;
if(strcmpi(val, "veinticuatro")==0)valor=valor+ 24;
if(strcmpi(val, "veinticinco")==0)valor=valor+ 25;
if(strcmpi(val, "veintiseis")==0)valor=valor+ 26;
if(strcmpi(val, "veintisiete")==0)valor=valor+ 27;
if(strcmpi(val, "veintiocho")==0)valor=valor+ 28;
if(strcmpi(val, "veintinueve")==0)valor=valor+ 29;
}
void de(char val[20]){
if(strcmpi(val, "diez")==0)valor=valor+ 10;
if(strcmpi(val, "veinte")==0)valor=valor+ 20;
if(strcmpi(val, "treinta")==0)valor=valor+ 30;
if(strcmpi(val, "cuarenta")==0)valor=valor+ 40;
if(strcmpi(val, "cincuenta")==0)valor=valor+ 50;
if(strcmpi(val, "sesenta")==0)valor=valor+ 60;
if(strcmpi(val, "setenta")==0)valor=valor+ 70;
if(strcmpi(val, "ochenta")==0)valor=valor+ 80;
if(strcmpi(val, "noventa")==0)valor=valor+ 90;
}
void cen(char val[10]){
if(strcmpi(val, "cien")==0)valor=valor+ 100;
if(strcmpi(val, "ciento")==0)valor=valor+ 100;
if(strcmpi(val, "doscientos")==0)valor=valor+ 200;
if(strcmpi(val, "trescientos")==0)valor=valor+ 300;
if(strcmpi(val, "cuatrocientos")==0)valor=valor+ 400;
if(strcmpi(val, "quinientos")==0)valor=valor+ 500;
if(strcmpi(val, "seiscientos")==0)valor=valor+ 600;
if(strcmpi(val, "setecientos")==0)valor=valor+ 700;
if(strcmpi(val, "ochocientos")==0)valor=valor+ 800;
if(strcmpi(val, "novecientos")==0)valor=valor+ 900;
}
int main(void)
{
char val1[10],*val;
char a[3],e[1];
clrscr();
printf (" escribe el valor en letra para convertirlo en numero:n ");
scanf("%[^n]", &val1);
val = strtok(val1, " ");
dec(val);
hh(val);
de(val);
cen(val);
val = strtok(NULL, " ");
dec(val);
hh(val);
de(val);
cen(val);
val = strtok(NULL, " ");
dec(val);
hh(val);
de(val);
cen(val);
val = strtok(NULL, " ");
dec(val);
hh(val);
de(val);
cen(val);
printf("%d",valor);
getch();
return 0;
}
Saludos. ATTE. Hack JAM
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <values.h>
int valor=0;
void dec(char val[10]){
if(strcmpi(val,"uno")==0)valor=valor+ 1;
if(strcmpi(val,"dos")==0)valor=valor+ 2;
if(strcmpi(val,"tres")==0)valor=valor+ 3;
if(strcmpi(val,"cuatro")==0)valor=valor+ 4;
if(strcmpi(val,"cinco")==0)valor=valor+ 5;
if(strcmpi(val,"seis")==0)valor=valor+ 6;
if(strcmpi(val,"siete")==0)valor=valor+ 7;
if(strcmpi(val,"ocho")==0)valor=valor+ 8;
if(strcmpi(val,"nueve")==0)valor=valor+ 9;
}
void hh(char val[20]){
if(strcmpi(val,"once")==0)valor=valor+ 11;
if(strcmpi(val,"doce")==0)valor=valor+ 12;
if(strcmpi(val,"trece")==0)valor=valor+ 13;
if(strcmpi(val,"catorce")==0)valor=valor+ 14;
if(strcmpi(val,"quince")==0)valor=valor+ 15;
if(strcmpi(val, "diesiseis")==0)valor=valor+ 16;
if(strcmpi(val, "diesisiete")==0)valor=valor+ 17;
if(strcmpi(val, "diesiocho")==0)valor=valor+ 18;
if(strcmpi(val, "diesinueve")==0)valor=valor+ 19;
if(strcmpi(val, "veintiuno")==0)valor=valor+ 21;
if(strcmpi(val, "veintidos")==0)valor=valor+ 22;
if(strcmpi(val, "veintitres")==0)valor=valor+ 23;
if(strcmpi(val, "veinticuatro")==0)valor=valor+ 24;
if(strcmpi(val, "veinticinco")==0)valor=valor+ 25;
if(strcmpi(val, "veintiseis")==0)valor=valor+ 26;
if(strcmpi(val, "veintisiete")==0)valor=valor+ 27;
if(strcmpi(val, "veintiocho")==0)valor=valor+ 28;
if(strcmpi(val, "veintinueve")==0)valor=valor+ 29;
}
void de(char val[20]){
if(strcmpi(val, "diez")==0)valor=valor+ 10;
if(strcmpi(val, "veinte")==0)valor=valor+ 20;
if(strcmpi(val, "treinta")==0)valor=valor+ 30;
if(strcmpi(val, "cuarenta")==0)valor=valor+ 40;
if(strcmpi(val, "cincuenta")==0)valor=valor+ 50;
if(strcmpi(val, "sesenta")==0)valor=valor+ 60;
if(strcmpi(val, "setenta")==0)valor=valor+ 70;
if(strcmpi(val, "ochenta")==0)valor=valor+ 80;
if(strcmpi(val, "noventa")==0)valor=valor+ 90;
}
void cen(char val[10]){
if(strcmpi(val, "cien")==0)valor=valor+ 100;
if(strcmpi(val, "ciento")==0)valor=valor+ 100;
if(strcmpi(val, "doscientos")==0)valor=valor+ 200;
if(strcmpi(val, "trescientos")==0)valor=valor+ 300;
if(strcmpi(val, "cuatrocientos")==0)valor=valor+ 400;
if(strcmpi(val, "quinientos")==0)valor=valor+ 500;
if(strcmpi(val, "seiscientos")==0)valor=valor+ 600;
if(strcmpi(val, "setecientos")==0)valor=valor+ 700;
if(strcmpi(val, "ochocientos")==0)valor=valor+ 800;
if(strcmpi(val, "novecientos")==0)valor=valor+ 900;
}
int main(void)
{
char val1[10],*val;
char a[3],e[1];
clrscr();
printf (" escribe el valor en letra para convertirlo en numero:n ");
scanf("%[^n]", &val1);
val = strtok(val1, " ");
dec(val);
hh(val);
de(val);
cen(val);
val = strtok(NULL, " ");
dec(val);
hh(val);
de(val);
cen(val);
val = strtok(NULL, " ");
dec(val);
hh(val);
de(val);
cen(val);
val = strtok(NULL, " ");
dec(val);
hh(val);
de(val);
cen(val);
printf("%d",valor);
getch();
return 0;
}
