o utilizador inseria 423,50 e o resultado seria quatrocentos e vinte e tres euros e cinquenta centimos.
Alguem tem algumas dicas para fazer isto?
Moderadores: Administradores, Moderadores



#include <stdlib.h>
#include <stdio.h>
#include <string.h>
char numero[50];
int i,n;
int main (void)
{
printf("Insira o numero\n");
scanf("%s",numero);
n = strlen(numero);
n--;
switch (numero[n-3]) {
case '1':
printf("Mil ");
break;
case '2':
printf("Dois mil ");
break;
case '3':
printf("Tres Mil ");
break;
case '4':
printf("Quatro mil ");
break;
case '5':
printf("Cinco Mil ");
break;
case '6':
printf("Seis mil ");
break;
case '7':
printf("Sete Mil ");
break;
case '8':
printf("Oito mil ");
break;
case '9':
printf("Nove mil ");
break;
case '0':
break;
}
switch (numero[n-2]) {
case '1':
printf("Cento ");
break;
case '2':
printf("Duzentos ");
break;
case '3':
printf("Trezentos ");
break;
case '4':
printf("Quatrocentos ");
break;
case '5':
printf("Quinhentos ");
break;
case '6':
printf("Seiscentos ");
break;
case '7':
printf("Setecentos ");
break;
case '8':
printf("Oitocentos ");
break;
case '9':
printf("Novecentos ");
break;
case '0':
break;
}
switch (numero[n-1]) {
case '1':
printf("dez... ");
break;
case '2':
printf("Vinte ");
break;
case '3':
printf("Trinta ");
break;
case '4':
printf("Quarenta ");
break;
case '5':
printf("Cinquenta ");
break;
case '6':
printf("Sessenta ");
break;
case '7':
printf("Setenta ");
break;
case '8':
printf("Oitenta ");
break;
case '9':
printf("Noventa ");
break;
case '0':
break;
}
switch (numero[n]) {
case '1':
printf("Um ");
break;
case '2':
printf("Dois ");
break;
case '3':
printf("Tres ");
break;
case '4':
printf("Quatro ");
break;
case '5':
printf("Cinco ");
break;
case '6':
printf("Seis ");
break;
case '7':
printf("Sete ");
break;
case '8':
printf("Oito ");
break;
case '9':
printf("Nove ");
break;
case '0':
break;
}
//for(n;n>=0;n--)
//printf("\nnumero[%d] - %c",n,numero[n]);
getchar(); // Por causa do enter
getchar(); // Para o programa nao sair
}






metralha761 Escreveu:taxus imagina k crias um mapa de uma cidade, agora pedes ao computador pa te seleccionar o melhor caminho.
é isto k kero


metralha761 Escreveu:imagina k crias um mapa de uma cidade, agora pedes ao computador pa te seleccionar o melhor caminho.
é isto k kero



Taxus Escreveu:
- Código: Seleccionar todos
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
char numero[50];
int i,n;
int main (void)
{
printf("Insira o numero\n");
scanf("%s",numero);
n = strlen(numero);
n--;
switch (numero[n-3]) {
case '1':
printf("Mil ");
break;
case '2':
printf("Dois mil ");
break;
case '3':
printf("Tres Mil ");
break;
case '4':
printf("Quatro mil ");
break;
case '5':
printf("Cinco Mil ");
break;
case '6':
printf("Seis mil ");
break;
case '7':
printf("Sete Mil ");
break;
case '8':
printf("Oito mil ");
break;
case '9':
printf("Nove mil ");
break;
case '0':
break;
}
switch (numero[n-2]) {
case '1':
printf("Cento ");
break;
case '2':
printf("Duzentos ");
break;
case '3':
printf("Trezentos ");
break;
case '4':
printf("Quatrocentos ");
break;
case '5':
printf("Quinhentos ");
break;
case '6':
printf("Seiscentos ");
break;
case '7':
printf("Setecentos ");
break;
case '8':
printf("Oitocentos ");
break;
case '9':
printf("Novecentos ");
break;
case '0':
break;
}
switch (numero[n-1]) {
case '1':
printf("dez... ");
break;
case '2':
printf("Vinte ");
break;
case '3':
printf("Trinta ");
break;
case '4':
printf("Quarenta ");
break;
case '5':
printf("Cinquenta ");
break;
case '6':
printf("Sessenta ");
break;
case '7':
printf("Setenta ");
break;
case '8':
printf("Oitenta ");
break;
case '9':
printf("Noventa ");
break;
case '0':
break;
}
switch (numero[n]) {
case '1':
printf("Um ");
break;
case '2':
printf("Dois ");
break;
case '3':
printf("Tres ");
break;
case '4':
printf("Quatro ");
break;
case '5':
printf("Cinco ");
break;
case '6':
printf("Seis ");
break;
case '7':
printf("Sete ");
break;
case '8':
printf("Oito ");
break;
case '9':
printf("Nove ");
break;
case '0':
break;
}
//for(n;n>=0;n--)
//printf("\nnumero[%d] - %c",n,numero[n]);
getchar(); // Por causa do enter
getchar(); // Para o programa nao sair
}
É mais ou menos isto que queres...
Ta com as dezenas, centenas e milhares...
Agora adiciona milhoes, bilioes, trilioes..... é sempre a mesma coisa
Nao tive paciencia para fazer o 11, 12, ..., 19. Mas é simples.
Finalmente, é so adicionares o caso de existir virgula
case','
printf(",");
E repetires o processo para os numeros à direita da virgula.
Se tiveres duvidas diz qq coisa.


Utilizadores a ver este Fórum: Nenhum utilizador registado e 6 visitantes