Cosa c'è di assurdo?? Non ti serve nessuna libreria, solo far funzionare la logica..Originariamente inviato da Zeldic
Potete gentilmente dirmi solo se è possibile svolgere questo esercizio in C, perché io lo trovo assurdo :
"Convertire un numero fra 1 e 999 in lettere (es : converto 756 in SETTECENTOCINQUANTASEI).
Se tu sai a priori che il numero è più piccolo di 1000, con una atoi o con una itoa meglio (dipende poi da come ottieni il numero). A seguire fai un scanning dell'array, sono al massimo 3 elementi (999)..
Da qui:
Ovviamente il codice è buttato giù così al momento, ma spero che renda l'idea..codice:void hundreds(char i) { ... if(i == '7') printf("Settecento"); ... } ... int main(void) { int i, number; char str_number; ... for(i = 0; i < strlen(str_number); i++) { /*if strlen(str_number) == 3 */ /* if i == 0 */ hundreds(str_number[i]); ... }
Poi ovviamente invece di stampare "Settecento" direttamente puoi implementare 3 char *arrays[] per le scritte.. L'esercizio è più che fattibile..
La prima cosa che mi viene a mente poi è come potrebbe il compilatore tradurre in italiano un numero, e se io invece fossi un'utente inglese, o tedesca??![]()

Rispondi quotando