Ir para conteúdo
Fórum Script Brasil
  • 0

mostrar numeros escritos por extenso


Franciele

Pergunta

olá! to com uma dúvida aqui num exercício e não sei nem como começar.. ai vai..

Faça um programa que leia vários numeros e mostre-os escritos por extenso.

eu dei uma olhada aqui nos posts que tratam disso mas todos eles tem um numero limite e esse que meu professor pediu não tem, é qualquer numero.. não sei como fazer poderiam me ajudar???

já agradeço!

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

hum... tipo.. eu tenho duvida com as variaveis ali... quais eu coloco e tal.. eu uso como char...?? é nisso q eu me complico estive olhando uns que tem por ai e deu pra ter uma ideia d como faz, mas nessa parte ali eu fico meio perdida... me da uma ajuda?

Link para o comentário
Compartilhar em outros sites

  • 0

ta bom.. eu tentei fazer vendo o que tinha por aí... e ficou assim... eu não to achando aqui aquele quadro q coloca o código bonitinho dentro.. ta...

#include<stdio.h>
#include<conio.h>

int main(){
    int n, m, num;
    char centena, dezena, unidade, mil;
    
    printf("digite o numero");
    scanf("%d", &num);
    
    if(num>1000){
                 printf("Mil");
                 n= n%1000;
                 printf(" e ");
                 }
                 
                 //imprime a centena
    if(num>100){
                m = n/100;
                n = n%100;
                printf(" e ");
                }
                
                //imprime a dezena
    if(num>10){
               n = n%10;
               printf(" e ");
               }
               
               
               //imprime centena
    switch(m){
           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;
           }
              //imprime dezena   
    switch(m){
           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;
           }
             //imprime a dezena
    switch(m){
           case 0: printf("dez "); break;
           case 1: printf("onze "); break;
           case 2: printf("doze "); break;
           case 3: printf("treze "); break;
           case 4: printf("quatorze "); break;
           case 5: printf("quinze "); break;
           case 6: printf("dezesseis "); break;
           case 7: printf("dezessete "); break;
           case 8: printf("dezoito "); break;
           case 9: printf("dezenove "); break;
           }
             // imprime a unidade
    switch(n){
           case 1: printf("um"); break;
           case 2: printf("dois"); break;
           case 3: printf("três"); 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;
           }
           
           getch();
           }

Link para o comentário
Compartilhar em outros sites

  • 0

Esse tópico ensina como usar a tag code (é só selecionar o codigo e clicar no ultimo ícone que aparece no lugar de escrever a mensagem, parecido com um pergaminho):

http://scriptbrasil.com.br/forum/index.php?showtopic=88873

A lógica do teu codigo ta correta... só precisar ver os casos especiais, como onze, doze, etc.

Da vez que eu fiz, eu primeiro tentei pegar os numeros equivalentes a casa das unidades, dezenas e centenas, depois eu fiz os cases.

Ex:

int x, un, cn, dz, ml; //unidade, centena, dezena, milhar

x = 4321;

ml = x / 1000;

//4321/1000 = 4

cn = (x / 100) % 10;

//4321/100 = 43 ... 43 % 10 = 3

dz = (x / 10) % 10;

//4321/10 = 432 .. 432 % 10 = 2

un = x % 10;

//4321 % 10 = 1

Desse jeito você coloca cada casa decimal em uma variável do tipo int e fica mais fácil pra jogar elas nos switches.

Por exemplo... se ml == 0, cn == 1, dz e un == 0, então você usa "cem" em vez de "cento e..."

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...