Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Recommended Posts

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

#include<locale.h>

#include<ctype.h>

#define TRUE 1

#define FALSE 0

#define SENTINELA 0

#define MAX 100

#define MAX_TAM 100

#define MAXNOTA 100



void por_extenso(int numero){

int aux,v_und,v_dez,v_cent,v_mil,v_mil2,v_mil3;

char s_und[MAX_TAM],s_dez[MAX_TAM],s_cent[MAX_TAM],s_mil1[MAX_TAM],s_mil2[MAX_TAM],s_mil3[MAX_TAM];

aux=numero;

v_und=aux%10;

v_dez=(aux/10)%10;

v_cent=((aux/10)/10)%10;

v_mil=((aux/10)/10)/10;

v_mil2=v_mil/10;

v_mil3=v_mil%10;

if(v_mil3 >= 1 && v_mil3 <= 9){

switch(v_mil3){

case 1:

strcpy(s_mil3,"Um");break;

case 2:

strcpy(s_mil3,"Dois");break;

case 3:

strcpy(s_mil3,"Tres");break;

case 4:

strcpy(s_mil3,"Quatro");break;

case 5:

strcpy(s_mil3,"Cinco");break;

case 6:

strcpy(s_mil3,"Seis");break;

case 7:

strcpy(s_mil3,"Sete");break;

case 8:

strcpy(s_mil3,"Oito");break;

case 9:

strcpy(s_mil3,"Nove");break;

}

}

if(v_mil2>=2 && v_mil2<=9){

switch(v_mil2){

case 2:

strcpy(s_mil2 ,"Vinte");break;

case 3:

strcpy(s_mil2 ,"Trinta");break;

case 4:

strcpy(s_mil2 ,"Quarenta");break;

case 5:

strcpy(s_mil2 ,"Cinquenta");break;

case 6:

strcpy(s_mil2 ,"Sessenta");break;

case 7:

strcpy(s_mil2 ,"Setenta");break;

case 8:

strcpy(s_mil2 ,"Oitenta");break;

case 9:

strcpy(s_mil2 ,"Noventa");break;

}

}


if(v_mil >= 1 && v_mil <= 19){

switch(v_mil){

case 1:

strcpy(s_mil1,"Mil");break;

case 2:

strcpy(s_mil1,"Dois Mil");break;

case 3:

strcpy(s_mil1,"Tres Mil");break;

case 4:

strcpy(s_mil1,"Quatro Mil");break;

case 5:

strcpy(s_mil1,"Cinco Mil");break;

case 6:

strcpy(s_mil1,"Seis Mil");break;

case 7:

strcpy(s_mil1,"Sete Mil");break;

case 8:

strcpy(s_mil1,"Oito Mil");break;

case 9:

strcpy(s_mil1,"Nove Mil");break;

case 10:

strcpy(s_mil1,"Dez Mil");break;

case 11:

strcpy(s_mil1,"Onze Mil");break;

case 12:

strcpy(s_mil1,"Dose Mil");break;

case 13:

strcpy(s_mil1,"Treze Mil");break;

case 14:

strcpy(s_mil1,"Quatorze Mil");break;

case 15:

strcpy(s_mil1,"Quinze Mil");break;

case 16:

strcpy(s_mil1,"Dezasseis Mil");break;

case 17:

strcpy(s_mil1,"Dezasete Mil");break;

case 18:

strcpy(s_mil1,"Dezoito Mil");break;

case 19:

strcpy(s_mil1,"Desanove Mil");break;

}

}


if(v_und >= 0 && v_und <= 9){

switch(v_und){

case 0:

strcpy(s_und,"Zero");break;

case 1:

strcpy(s_und,"Um");break;

case 2:

strcpy(s_und,"Dois");break;

case 3:

strcpy(s_und,"Tres");break;

case 4:

strcpy(s_und,"Quatro");break;

case 5:

strcpy(s_und,"Cinco");break;

case 6:

strcpy(s_und,"Seis");break;

case 7:

strcpy(s_und,"Sete");break;

case 8:

strcpy(s_und,"Oito");break;

case 9:

strcpy(s_und,"Nove");break;

}

}

if(v_dez==1){

v_dez=10+v_und;

switch(v_dez){

case 10:

strcpy(s_dez,"Dez");break;

case 11:

strcpy(s_dez,"Onze");break;

case 12:

strcpy(s_dez,"Doze");break;

case 13:

strcpy(s_dez,"Trese");break;

case 14:

strcpy(s_dez,"Quatorze");break;

case 15:

strcpy(s_dez,"Quinze");break;

case 16:

strcpy(s_dez,"Dezasseis");break;

case 17:

strcpy(s_dez,"Dezasete");break;

case 18:

strcpy(s_dez,"Dezoito");break;

case 19:

strcpy(s_dez,"Desanove");break;

}

}else{

switch(v_dez){

case 2:

strcpy(s_dez ,"Vinte");break;

case 3:

strcpy(s_dez ,"Trinta");break;

case 4:

strcpy(s_dez ,"Quarenta");break;

case 5:

strcpy(s_dez ,"Cinquenta");break;

case 6:

strcpy(s_dez ,"Sessenta");break;

case 7:

strcpy(s_dez ,"Setenta");break;

case 8:

strcpy(s_dez ,"Oitenta");break;

case 9:

strcpy(s_dez ,"Noventa");break;

}

}


if(v_cent == 1 && v_dez == 0 && v_und == 0){

switch(v_cent){

case 1:

strcpy(s_cent ,"Cem");break;

}

}else{

if(v_cent > 0 && (v_dez > 0 || v_und > 0)){

switch(v_cent){

case 1:

strcpy(s_cent ,"Cento");break;

case 2:

strcpy(s_cent ,"Duzentos");break;

case 3:

strcpy(s_cent ,"Trezentos");break;

case 4:

strcpy(s_cent ,"Quatrocentos");break;

case 5:

strcpy(s_cent ,"Quinhentos");break;

case 6:

strcpy(s_cent ,"Seiscentos");break;

case 7:

strcpy(s_cent ,"Setecentos");break;

case 8:

strcpy(s_cent ,"Oitocentos");break;

case 9:

strcpy(s_cent ,"Novecentos");break;

}

}else if(v_cent > 0 && v_dez == 0 && v_und == 0){

switch(v_cent){

case 1:

strcpy(s_cent ,"Cento");break;

case 2:

strcpy(s_cent ,"Duzentos");break;

case 3:

strcpy(s_cent ,"Trezentos");break;

case 4:

strcpy(s_cent ,"Quatrocentos");break;

case 5:

strcpy(s_cent ,"Quinhentos");break;

case 6:

strcpy(s_cent ,"Seiscentos");break;

case 7:

strcpy(s_cent ,"Setecentos");break;

case 8:

strcpy(s_cent ,"Oitocentos");break;

case 9:

strcpy(s_cent ,"Novecentos");break;

}

}

}



if(v_mil==0 && v_cent==0 && v_dez==0 && v_und<=9)

printf("%s",s_und);

if( v_mil==0 && v_cent==0 && v_dez >= 10 && v_dez < 20 && v_und >= 0)

printf("%s",s_dez);

if( v_mil==0 && v_cent==0 && v_dez >= 2 && v_dez <= 9 && v_und == 0)

printf("%s",s_dez);

if(v_mil==0 && v_cent == 0 && v_dez >= 2 && v_dez <= 9 && v_und > 0)

printf("%s e %s",s_dez,s_und);

if(v_mil==0 && (v_cent > 0 && v_cent <1000) && v_dez ==0 && v_und==0)

printf("%s",s_cent);

if(v_mil==0 && (v_cent > 0 && v_cent <1000) && v_dez== 0 && v_und > 0)

printf("%s e %s",s_cent,s_und);

if(v_mil==0 && (v_cent > 0 && v_cent <1000) && v_dez > 0 && v_und == 0)

printf("%s e %s",s_cent,s_dez);

if( v_mil==0 && (v_cent > 0 && v_cent <1000) && v_dez > 0 && v_und > 0)

printf("%s e %s e %s",s_cent,s_dez,s_und);

if((v_mil>=1 && v_mil<=19) && v_cent==0 && v_dez==0 && v_und == 0)

printf("%s",s_mil1);

if((v_mil>=1 && v_mil<=19) && (v_cent > 0 && v_cent <1000) && v_dez==0 && v_und == 0)

printf("%s e %s",s_mil1,s_cent);

if((v_mil>=1 && v_mil<=19) && (v_cent > 0 && v_cent <1000) && (v_dez >= 2 && v_dez <= 19) && v_und == 0)

printf("%s e %s e %s",s_mil1,s_cent,s_dez);

if((v_mil>=1 && v_mil<=19) && (v_cent > 0 && v_cent <1000) && (v_dez >= 2 && v_dez <= 19) && v_und >=1)

printf("%s e %s e %s e %s",s_mil1,s_cent,s_dez,s_und);

if((v_mil>=1 && v_mil<=19) && v_cent==0 && v_dez==0 && v_und >=1)

printf("%s e %s",s_mil1,s_und);

if((v_mil>=1 && v_mil<=19) && v_cent==0 && (v_dez >= 2 && v_dez <= 19) && v_und >=0){

if(v_und!=0)

printf("%s e %s e %s",s_mil1,s_dez,s_und);

else

printf("%s e %s",s_mil1,s_dez);

}

if((v_mil>=1 && v_mil<=19) && (v_cent > 0 && v_cent <1000) && (v_dez==0) && v_und >=1)

printf("%s e %s e %s",s_mil1,s_cent,s_und);


if((v_mil2>=2 && v_mil2<=9) && v_mil3>=0 && v_cent==0 && v_dez==0 && v_und == 0){

if(v_mil3==0)

printf("%s Mil",s_mil2);

else

printf("%s e %s Mil",s_mil2,s_mil3);

}


if((v_mil2>=2 && v_mil2<=9)&& v_mil3>=0 && v_cent==0 && v_dez==0 && v_und >=1)

{

if(v_mil3==0)

printf("%s Mil e %s",s_mil2,s_und);

else

printf("%s e %s Mil e %s",s_mil2,s_mil3,s_und);

}


if((v_mil2>=2 && v_mil2<=9)&& v_mil3>=0 && v_cent==0 && v_dez>=0 && v_und >=0)

{

if(v_dez==0){

}else

if(v_mil3==0)

if(v_dez==0){

}else

if(v_und==0)

printf("%s Mil e %s",s_mil2,s_dez);

else

printf("%s Mil e %s e %s",s_mil2,s_dez,s_und);

else

printf("%s e %s Mil e %s",s_mil2,s_mil3,s_dez);

}


if((v_mil2>=2 && v_mil2<=9)&& v_mil3>=0 && v_cent>=1 && v_dez==0 && v_und ==0)

{

if(v_mil3==0)

printf("%s Mil e %s",s_mil2,s_cent);

else

printf("%s e %s Mil e %s",s_mil2,s_mil3,s_cent);

}


if((v_mil2>=2 && v_mil2<=9)&& v_mil3>=0 && v_cent>=1 && v_dez==0 && v_und>0)

{

if(v_mil3==0)

printf("%s Mil e %s e %s",s_mil2,s_cent,s_und);

else

printf("%s e %s Mil e %s e %s",s_mil2,s_mil3,s_cent,s_und);

}


if((v_mil2>=2 && v_mil2<=9)&& v_mil3>=0 && v_cent>=1 && v_dez>=1 && v_und==0)

{

if(v_mil3==0)

printf("%s Mil e %s e %s",s_mil2,s_cent,s_dez);

else

printf("%s e %s Mil e %s e %s",s_mil2,s_mil3,s_cent,s_dez);

}

if((v_mil2>=2 && v_mil2<=9)&& v_mil3>=0 && v_cent>=1 && v_dez>=1 && v_und>=1)

{

if(v_mil3==0)

printf("%s Mil e %s e %s e %s",s_mil2,s_cent,s_dez,s_und);

else

printf("%s e %s Mil e %s e %s e %s",s_mil2,s_mil3,s_cent,s_dez,s_und);

}

}



int main(){

int d;

while(1){

scanf("%d",&d);

por_extenso(d);

}




}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que você não entendeu p/ quê serve um fórum. As pessoas postam perguntas aqui. Não soluções p/ problemas que, a princípio, ninguém está tendo. Pra mostrar código hoje existe o Github.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por alexdyna
      Prezados,
      Amigos tenho que fazer um trabalho da faculdade onde o professor me da um arquivo que vou colocar anexo e tenho que fazer um algoritmo que leia o arquivo e monte uma tabela com as informações.
      pelo que vejo ele tem na primeira linha 8 barra e nas demais linha 10 barras
      ate a ultima que seria sua parada onde temos 2 barras seguidas.
       
      ficaria muito grato com a ajuda de todos.
       
      No arquivo anexo esta o texto:
      Nome/telefone/nascimento/Horas Curso/vendas T1/vendas T2/vendas T3/vendas T4/
       Luiz Ranza Neo/99934-5255/05/12/1989/200/107099,072578621/76915,8996218681/100922,271239691/76372,9971916498/
      Richard de Barrissaia/99326-4689/18/03/1990/150/55123,0080621828/68062,2200055909/67233,9928593779/45236,5928531083/
      Rodrigo Abalâminos/99911-7413/09/08/1987/168/71697,3866071191/58063,5644108225/88183,6230762134/48160,3116315664/
      José Gigfrid/99658-7874/15/04/1997/135/48816,199086596/50086,3689415844/52916,3066872779/55232,0663463164/
      Luiza Celly Silva/99659-1214/01/02/2000/90/29208,8223591438/39361,8088384592/45062,056112236/38913,7237126574/
      Maria Kunlun/99686-7845/21/04/1984/182/92076,1053757689/80440,5339844205/87575,0546657182/79220,9398178354/
      //
       
    • Por thiago_tw
      eu to com uma tarefa que preciso de ajuda, já tentei alguns algoritmos que achei por aqui mas nunca dá certo, mandei a imagem do que é para ser feito, agradecido se me ajudarem

    • Por CadencePro
      Faça o código de uma aplicação Web em PHP, que realize o cálculo do consumo de energia de equipamentos eletrônicos e eletrodomésticos de uma residência. O usuário deve entrar com o nome do aparelho, juntamente com o seu consumo em Watts/hora e a quantidade de horas que ele fica ligado por dia. O resultado do cálculo deve ser dado em Kw/H.
      Regras:
      - Você deve permitir que seja adicionado quantos aparelhos forem possíveis.
      - Deve-se calcular o consumo total da casa, e o consumo mensal de cada aparelho deve ser obtido em Kw/h, mesmo com que a entrada esteja em Watts/hora.
      - A aplicação deve gravar em um arquivo o nome de cada equipamento, juntamente com o consumo mensal dele em Kw/H.
    • Por Hacker_Buiu
      Tem alguma área no fórum dedicada ao Linux e um subfórum para programação no mesmo?
       
      Observação:Preciso de uma área dessas para divulgar meu trabalho e ser reconhecido por muitos,tenho vídeo aulas de Linux,programas feitos para Linux no formato .deb,.rpm e .txz(Slackware),e ainda dicas e artigos do mesmo assunto.
       
      Hacker_Buiu é só meu nick,lembrando que existe hacker do bem e hacker do mal,mas não me considero um hacker,apesar de ser apaixonado por Linux,programação e tecnologia.
       
      Preciso de uma área assim:
       
      Fórum:Linux
      Subfórum:Lazarus,Gambas e NetBeans,Explicação:Lazarus(Delphi 7 para Linux),Gambas(Visual Basic do Linux),NetBeans para programar em Java e as vezes com C/C++ via plugin.
      Subfórum:Vídeo aulas de Linux(Instalação de programas,de jogos e vídeo aulas de programação etc...).
       
      Moderadores e Administradores quero muito essas áreas para contribuir para o fórum,meu desejo de contribuição para o fórum é imenso.Desejo muito demonstrar meu trabalho e ser reconhecido e tenho a ideia criada por mim que um fórum é uma casa por exemplo:
       
      Moderadores e Administradores:Se a casa é bonita e organizada terá mais visitantes(Amigos ou vizinhos),no caso do fórum é uma casa também e se o fórum já é bonito só falta organizar mais essas áreas para ter mais visitantes(Amigos(Parceiros) ou usuários visitando o mesmo),o que acham da ideia que criei?
       
      Eu imploro aos administradores e moderadores,por favor criem essa área de Linux para que eu possa contribuir nessa área,assim como os outros,e também deixar o fórum mais organizado.
    • Por Geralt96
      Bom dia. Alguém pode me dá uma ajuda pra desenvolver essa questão, por gentileza?

      Aqui está ela: https://projecteuler.net/problem=6

      A soma dos quadrados dos primeiros dez números naturais é: 1² + 2² + ... 10² = 385...
      O quadrado da soma dos dez primeiros números naturais é: (1+2+ ... 10)² = 55² = 3025...
      Portanto, a diferença entre a soma dos quadrados dos primeiros dez números naturais e o quadrado da soma é: 3025 - 385 = 2640.
      Encontre a diferença entre a soma dos quadrados dos primeiros cem números naturais e o quadrado da soma.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.