Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Entre para seguir isso  
Bellator

Transformação de decimal para hexadecimal

Recommended Posts

Como vão?

Estou tentando implementar um programa em C que converte de decimal para hexadecimal,

mas quando testo, ele imprime de tras para frente. Alguém poderia me ajudar?

Grato.

Código:

#include <stdlib.h>

#include <stdio.h>

#include <math.h>

main()

{

int OP, NUM1, RESTO, QUOCI, CONT=0, RESP=1;

while (RESP!=2) {

printf("1: decimal para hexadecimal \n");

printf("2: hexadecimal para decimal \n");

printf("3: decimal para octal \n");

printf("4: octal para decimal \n");

printf("5: encerra \n");

printf("informe sua opcao \n");

scanf("%d",&OP);

switch (OP) {

case 1: {

printf("Entre com o numero: ");

scanf("%d",&NUM1);

QUOCI = NUM1;

while (CONT!=1) {

NUM1 = QUOCI;

QUOCI = NUM1 / 16;

RESTO = NUM1 % 16;

if (RESTO==10) {

printf("A");

}

else if (RESTO==11) {

printf("B");

}

else if (RESTO==12) {

printf("C");

}

else if (RESTO==13) {

printf("D");

}

else if (RESTO==14) {

printf("E");

}

else if (RESTO==15) {

printf("F");

}

else if (RESTO==16) {

printf("10");

}

else {

printf("%d",RESTO);

}

if (QUOCI>16) {

QUOCI = NUM1 / 16;

}

else {

printf("%d",QUOCI);

CONT = 1;

}

}

CONT=0;

}

}

printf("\nDeseja continuar? SIM(1) não(2)\n");

scanf("%d",&RESP);

while ((RESP!=1) && (RESP!=2)) {

printf("Valor invalido, tente novamente \n");

scanf("%d",&RESP);

}

}

system("pause");

return 0;

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que ainda falta alguma coisa ai, mas de qualquer jeito, o que você precisa fazer é imprimir os números de tras para frente, o printf não traz essa opção, mas você pode armazenar em um buffer para depois imprimir.

Compartilhar este post


Link para o post
Compartilhar em outros sites

armazena em um vetor de char ou uma string e inverta se for o caso e depois que imprime o resultado.

na cadeia de ifs ao invés de print faz algo tipo variavel='P'; i++; e faça como eu e o colega dissemos acima.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×