Conversione numero da parola a intero

di il
4 risposte

Conversione numero da parola a intero

Buongiorno a tutti,mi chiedevo se esistesse una funzione o un'algoritmo per convertire un numero espresso a parola in un intero. Esempio: uno due tre=(123).
Mi serve per un programma in C e la prima cosa che mi è venuta in mente da fare è stata quella di creare 10 array di carattere ugnuno contente i numeri da 1 a 10 espressi in parola poi volevo utilizzare la strcmp però è una cosa troppo lunga.

4 Risposte

  • Re: Conversione numero da parola a intero

    Certo che esiste, ma non vale, lo devi implementare da te

    Prova a ragionare al contrario: prova ad definire l'algoritmo che dato un numero, lo converte in parole.

    A questo punto, hai abbastanza informazioni per fare l'opposto.

    Comunque non e' semplicissimo: devi sapere come manipolare le stringhe,che cosa sono le strutture dati, la mappa/dizionario, funzioni, strutture di controllo,...

    Nota: la tua idea originaria NON E' SBAGLIATA, anzi, e' propriogiusta

    MA, ovviamente, un numero di UNA Cifra NON VALE, devi poter convertire in numero anche

    quattrocentoquarantaquattromiliardiquattrocentoquarantaquattromilioniquattrocentoquarantaquattromilaquattrocentoquarantaquattro

    oppure

    unmilionetre, duemiladiciasette, trecentotredici
  • Re: Conversione numero da parola a intero

    migliorabile ha scritto:


    Certo che esiste, ma non vale, lo devi implementare da te

    Prova a ragionare al contrario: prova ad definire l'algoritmo che dato un numero, lo converte in parole.

    A questo punto, hai abbastanza informazioni per fare l'opposto.

    Comunque non e' semplicissimo: devi sapere come manipolare le stringhe,che cosa sono le strutture dati, la mappa/dizionario, funzioni, strutture di controllo,...
    Lo so che lo devo implementare io infatti ci ho provato ma non riesco proprio a trovare un metodo abbastanza efficiente. Un piccolo aiutino
  • Re: Conversione numero da parola a intero

    Non deve essere efficiente, deve SOLO funzionare.

    Comincia con 0..10
    Poi lo estendi a 0..100
    Quindi a 0..1000

    A questo punto lo puoi estendere fino a 1.000.000, 1.000.000.000 e puoi continuare abbastanza facilmente fino a 10^18 ed oltre
    (unmiliardodimiliardi ...)

    Rileggiti il post precedente
  • Re: Conversione numero da parola a intero

    Con la struttura enum, semplifichi il tutto
Devi accedere o registrarti per scrivere nel forum
4 risposte