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

Duvida. Programa que escreve em extenso


Guest --Luis --

Pergunta

Guest --Luis --

Duvida numeros em extenso

Duvida imprimir numeros em extenso

o pessoal eu preciso de ajuda com esse programa ae não tenho ideia como faz alguém pode ajudar?

Escreva um programa que escreve por extenso qualquer numero entre 0 e 999 fornecido pelo usuário.

• Se o número contiver mais de três dígitos ou for negativo, o programa deverá imprimir uma

mensagem de erro e não executar.

• OBS: A idéia mais simples é separar o numero em seus dígitos componentes, ou seja, unidade,

dezena e centena. Então só existem 10 possibilidades de impressão para cada caso (Sugestão:

Use os operadores de divisão e de resto para separar o numero em seus algarismos isolados).

• Exemplo: se a entrada for 182, o programa deverá imprimir “cento e oitenta e dois”.

o pessoal quem puder me ajudar estou grato eu cheguei a fazer alguma coisa mas não deu certo

#include <stdio.h>

void main()

{

string unidade[10];

string dezena[10];

string centena[10];

excecao[10];

int num;

int vetor[3];

unidade[1] = "UM";

unidade[2] = "DOIS";

unidade[3] = "TRES";

unidade[4] = "QUATRO";

unidade[5] = "CINCO";

unidade[6] = "SEIS";

unidade[7] = "SETE";

unidade[8] = "OITO";

unidade[9] = "NOVE";

excecao[1]= "ONZE";

excecao[2]= "DOZE";

excecao[3]= "TREZE";

excecao[4]= "CATORZE";

excecao[5]= "QUINZE";

excecao[6]= "DEZESSEIS";

excecao[7]= "DEZESSETE";

excecao[8]= "DEZOITO";

excecao[9]= "DEZENOVE";

dezena[1] = "DEZ";

dezena[2] = "VINTE";

dezena[3] = "TRINTA";

dezena[4] = "QUARENTA";

dezena[5] = "CINQUENTA";

dezena[6] = "SESSENTA";

dezena[7] = "SETENTA";

dezena[8] = "OITENTA";

dezena[9] = "NOVENTA";

centena[1] = "CEM";

centena[2] = "DUZENTOS";

centena[3] = "TREZENTOS";

centena[4] = "QUATROCENTOS";

centena[5] = "QUINHENTOS";

centena[6] = "SEISCENTOS";

centena[7] = "SETECENTOS";

centena[8] = "OITOCENTOS";

centena[9] = "NOVECENTOS";

vetor[0] = 2;

vetor[1] = 8;

vetor[2] = 1;

if ((numero <0) &&( numero>999));

printf ("não e permito esse numero");

}

Link para o comentário
Compartilhar em outros sites

14 respostass a esta questão

Posts Recomendados

  • 0

A ideia foi boa, agora é só voce separar os digitos:

Claro, desconsiderando as execoes, que voce elimina com o IF pra ver se o numero é menor que 999

EX:

Sendo numero um inteiro (a entrada do cara);

if (numero>0 && numero<1000){
   if (numero>9 && numero<20){
      VOCE PRINTA
      excecao[numero%100/10];
   }else {
            VOCE PRINTA
            centena[numero/100];
            dezena[numero%100/10];
            unidade[numero%100%10];
   }
}else {
         NUMERO INVALIDO
}

Deve funcionar

Editado por p4t0X
Link para o comentário
Compartilhar em outros sites

  • 0

Vê se é isso!

#include <stdio.h>

main(){
       //Cria a matriz das unidades
     char unidade[10][10]=
     {
      "",          
      "UM",
      "DOIS",
      "TRES",
      "QUATRO",
      "CINCO",
      "SEIS",
      "SETE",
      "OITO",
      "NOVE"          
     };
     //Cria matriz das dezenas
     char dezena[10][20]=
     {
      "",
      "DEZ",
      "VINTE",
      "TRINTA",
      "QUARENTA",
      "CINQUENTA",
      "SESSENTA",
      "SETENTA",
      "OITENTA",
      "NOVENTA"   
     };
     //Cria a matriz da centena
     char centena[10][20]=
     {
      "",
      "CEM",
      "DUZENTOS",
      "TREZENTOS",
      "QUATROCENTOS",
      "QUINHENTOS",
      "SEISCENTOS",
      "SETECENTOS",
      "OITOCENTOS",
      "NOVECENTOS"
     };  
     //Cria a matriz das excecoes
     char excecao[10][20]=
     {
      "DEZ",
      "ONZE",
      "DOZE",
      "TREZE",
      "CATORZE",
      "QUINZE",
      "DEZESSEIS",
      "DEZESSETE",
      "DEZOITO",
      "DEZENOVE"
     };   
     //Variavel para amarmazenar o numero
     int num;
     printf ("**************************************\n");
     printf ("*   PROGRAMA DE LEITURA DE NUMEROS   *\n");
     printf ("**************************************\n\n");
     printf ("Digite o numero a ser escrito : ");
     scanf ("%d",&num);
     //Aqui o numero é valido
     if ((num>0) && (num<1000)){
        //Checa pra ver se ele está na exeção
        if ((num>10) && (num<20)){
           puts (excecao[num%10]);
        }else {
              //Coloca os numeros na tela
              puts (centena[num/100]);
              puts (dezena[num%100/10]);
              puts (unidade[num%100%10]);    
        }                         
                 
     }else {
           printf ("Numero não permitido!");
     }
     getch();   
}

[]'s

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Visitante

Eae getch beleza cara deu um erro, so agora no getch ali no final vo postar o erro

Compiling...

Cpp6.cpp

C:\Documents and Settings\Fernando\Desktop\Cpp6.cpp(82) : error C2065: 'getch' : undeclared identifier

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Pedro --
Duvida numeros em extenso

Duvida imprimir numeros em extenso

o pessoal eu preciso de ajuda com esse programa ae não tenho ideia como faz alguém pode ajudar?

Escreva um programa que escreve por extenso qualquer numero entre 0 e 999 fornecido pelo usuário.

• Se o número contiver mais de três dígitos ou for negativo, o programa deverá imprimir uma

mensagem de erro e não executar.

• OBS: A idéia mais simples é separar o numero em seus dígitos componentes, ou seja, unidade,

dezena e centena. Então só existem 10 possibilidades de impressão para cada caso (Sugestão:

Use os operadores de divisão e de resto para separar o numero em seus algarismos isolados).

• Exemplo: se a entrada for 182, o programa deverá imprimir “cento e oitenta e dois”.

o pessoal quem puder me ajudar estou grato eu cheguei a fazer alguma coisa mas não deu certo

#include <stdio.h>

void main()

{

string unidade[10];

string dezena[10];

string centena[10];

excecao[10];

int num;

int vetor[3];

unidade[1] = "UM";

unidade[2] = "DOIS";

unidade[3] = "TRES";

unidade[4] = "QUATRO";

unidade[5] = "CINCO";

unidade[6] = "SEIS";

unidade[7] = "SETE";

unidade[8] = "OITO";

unidade[9] = "NOVE";

excecao[1]= "ONZE";

excecao[2]= "DOZE";

excecao[3]= "TREZE";

excecao[4]= "CATORZE";

excecao[5]= "QUINZE";

excecao[6]= "DEZESSEIS";

excecao[7]= "DEZESSETE";

excecao[8]= "DEZOITO";

excecao[9]= "DEZENOVE";

dezena[1] = "DEZ";

dezena[2] = "VINTE";

dezena[3] = "TRINTA";

dezena[4] = "QUARENTA";

dezena[5] = "CINQUENTA";

dezena[6] = "SESSENTA";

dezena[7] = "SETENTA";

dezena[8] = "OITENTA";

dezena[9] = "NOVENTA";

centena[1] = "CEM";

centena[2] = "DUZENTOS";

centena[3] = "TREZENTOS";

centena[4] = "QUATROCENTOS";

centena[5] = "QUINHENTOS";

centena[6] = "SEISCENTOS";

centena[7] = "SETECENTOS";

centena[8] = "OITOCENTOS";

centena[9] = "NOVECENTOS";

vetor[0] = 2;

vetor[1] = 8;

vetor[2] = 1;

if ((numero <0) &&( numero>999));

printf ("não e permito esse numero");

}

Link para o comentário
Compartilhar em outros sites

  • 0
Em 13/04/2008 at 22:59, p4t0X disse:

A ideia foi boa, agora é só voce separar os digitos:

 

Claro, desconsiderando as execoes, que voce elimina com o IF pra ver se o numero é menor que 999

 

EX:

 

Sendo numero um inteiro (a entrada do cara);

 

 

 

if (numero>0 && numero<1000){
   if (numero>9 && numero<20){
      VOCE PRINTA
      excecao[numero%100/10];
   }else {
            VOCE PRINTA
            centena[numero/100];
            dezena[numero%100/10];
            unidade[numero%100%10];
   }
}else {
         NUMERO INVALIDO
}

 

Deve funcionar

ola,eu copiei esse codigo e tem uns alguns erro,por exemplo,digito 123 no console aparece cem trinta  trez,alguém pode m ajuda nessa?

 

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...