Guest - Diogo - Postado Maio 9, 2006 Denunciar Share Postado Maio 9, 2006 Olá, pessoal do fórum....Gostaria de saber como eu poderia implementar uma função no C++ a qual pegaria um numero inteiro decimal (unsigned int) digitado previamente pelo usuario e o transformaria para octal exibindo o resultado na seguinte forma :Por exemplo:15 => 00 00 00 0F161062911 => 09 99 9F FF como fazer tal função?!Agradeço desde já...DiogoMSN:diogomourac@gmail.com. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Maio 9, 2006 Denunciar Share Postado Maio 9, 2006 Isso não é octal, é hexadecimal. Se o problema for a conversão, dê uma olhada nisso:long valor = 161062911; char s[20]; itoa(valor, s, 16); printf("%s", s);Seria só uma questão de adicionar os espaços de dois em dois.Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - Diogo - Postado Maio 9, 2006 Denunciar Share Postado Maio 9, 2006 Mas assim não exibe com os zeros que seriam colocados antes caso o numero não preenchesse tudo....eu realmente to começando agora não sei nada Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Maio 10, 2006 Denunciar Share Postado Maio 10, 2006 Mas assim não exibe com os zeros que seriam colocados antes caso o numero não preenchesse tudo....Claro, porque eu não pedi que ele fizesse isso.eu realmente to começando agora não sei nadaEntão, veja se isso ajuda:long valor = 161062911; // long valor = 15; char s[8], z[8]; itoa(valor, s, 16); int tam = 8-strlen(s); if (tam>0) for (int i=0; i<tam; i++) z[i] = '0'; for (int i=0; i<strlen(s); i++) z[tam+i] = s[i]; z[8] = '\0'; printf("\n%s\n\n", z); for (int i=0; i<strlen(z); i+=2) { printf("%c%c ", z[i], z[i+1]); } printf("\n"); system("pause");E procure dar uma estudada sobre manipulação de strings, porque é tudo que você precisa neste caso.Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Visitante Postado Maio 10, 2006 Denunciar Share Postado Maio 10, 2006 Acho que vou ter que ler é muito ainda:strlen(s) ????????????????????printf("\n%s\n\n", z); ?????????Hihih, desculpem a ignorância Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Maio 10, 2006 Denunciar Share Postado Maio 10, 2006 O nome strlen vem de String Length, ou seja, comprimento (tamanho) da string. E, obviamente, ela retorna o comprimento da string. Você pelo menos sabe o que é uma string, né?Quanto a ...printf("\n%s\n\n", z);... você não conhece a função printf()???? Então você vai ter que ler muuuuuiiiiitttooo mesmo. Esta função toma como primeiro argumento uma string de formatação, e como demais os dados que serão formatados de acordo com a primeira. No caso '\n' é uma nova linha e '%s' representa que eu vou colocar uma string ali (no caso, o "z"). Portanto, no código acima eu mando pular uma linha (primeiro '\n'), escrever uma string (z) e depois pular duas linhas. Sacou? ;)Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Visitante Postado Maio 10, 2006 Denunciar Share Postado Maio 10, 2006 entendi ...valeu brow....mas com certeza vou soltar diversas duvidas idiotas no forum.....eu to aprendendo a exibir as coisinhas com o tal do cout << x;valeu pelas infos Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Maio 10, 2006 Denunciar Share Postado Maio 10, 2006 entendi ...valeu brow....mas com certeza vou soltar diversas duvidas idiotas no forum.....eu to aprendendo a exibir as coisinhas com o tal do cout << x;Sim, este (o cout) é o modo mais usual em C++. Em C era o printf().Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest - Diogo -
Olá, pessoal do fórum....
Gostaria de saber como eu poderia implementar uma função no C++ a qual pegaria um numero inteiro decimal (unsigned int) digitado previamente pelo usuario e o transformaria para octal exibindo o resultado na seguinte forma :
Por exemplo:
15 => 00 00 00 0F
161062911 => 09 99 9F FF
como fazer tal função?!
Agradeço desde já...
Diogo
MSN:diogomourac@gmail.com.
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
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.