C/Visual C - ESTUDIANTE

 
Vista:

ESTUDIANTE

Publicado por AMURICIO (1 intervención) el 27/11/2002 22:45:56
NESECITO SABER COMO PUEDE UNO HACER UN PROGRAMA QUE CONVIERTA NUMEROS A LETRAS QUE NO SEAN ROMANOS, POR FAVOR EN C
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Conversión de números a letras en C

Publicado por Alejandro (913 intervenciones) el 10/04/2025 20:09:33
AMuricio, para crear un programa en C que convierta números a letras (en inglés), puedes seguir el siguiente enfoque. A continuación, te presento un ejemplo básico que convierte números enteros no negativos a su representación en palabras:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <stdio.h>
#include <string.h>
 
void convertToWords(int num) {
    // Arrays para las palabras correspondientes
    const char *ones[] = { "", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine" };
    const char *teens[] = { "Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen" };
    const char *tens[] = { "", "", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety" };
    const char *thousands[] = { "", "Thousand" };
 
    if (num == 0) {
        printf("Zero\n");
        return;
    }
 
    if (num >= 1000) {
        printf("%s ", ones[num / 1000]);
        printf("%s ", thousands[1]);
        num %= 1000;
    }
 
    if (num >= 100) {
        printf("%s Hundred ", ones[num / 100]);
        num %= 100;
    }
 
    if (num >= 20) {
        printf("%s ", tens[num / 10]);
        num %= 10;
    } else if (num >= 10) {
        printf("%s ", teens[num - 10]);
        return;
    }
 
    if (num > 0) {
        printf("%s ", ones[num]);
    }
}
 
int main() {
    int number;
 
    printf("Ingrese un número: ");
    scanf("%d", &number);
 
    printf("El número en palabras es: ");
    convertToWords(number);
    printf("\n");
 
    return 0;
}

Explicación del código:


1. Definición de arrays: Se definen arrays para las palabras que representan los números del 1 al 9, del 10 al 19, y las decenas.
2. Función `convertToWords`: Esta función toma un número entero y lo convierte a su representación en palabras. Maneja miles, centenas, decenas y unidades.
3. Entrada del usuario: En la función `main`, se solicita al usuario que ingrese un número, y luego se llama a la función para convertirlo a palabras.

Consideraciones:


- Este programa solo maneja números enteros no negativos. Para extenderlo a números negativos o decimales, se necesitarían más condiciones.
- Puedes adaptar el código para otros idiomas o formatos según sea necesario.

Este enfoque es un buen punto de partida y puedes mejorarlo según tus necesidades específicas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar