COMO RETORNO HEXADECIMAL ?

ISAIAS DUQUE GOMEZ
24 de Marzo del 2006

porque arroja basura?

/*************************************************************************/
//decimal a hexadecimal

char *conv_hex(int numero)
{
int i=0;
char *NUM16;
while(numero)
{
switch(numero%16)
{
case 0:strcat(NUM16,"0");break;
case 1:strcat(NUM16,"1");break;
case 2:strcat(NUM16,"2");break;
case 3:strcat(NUM16,"3");break;
case 4:strcat(NUM16,"4");break;
case 5:strcat(NUM16,"5");break;
case 6:strcat(NUM16,"6");break;
case 7:strcat(NUM16,"7");break;
case 8:strcat(NUM16,"8");break;
case 9:strcat(NUM16,"9");break;
case 10:strcat(NUM16,"A");break;
case 11:strcat(NUM16,"B");break;
case 12:strcat(NUM16,"C");break;
case 13:strcat(NUM16,"D");break;
case 14:strcat(NUM16,"E");break;
case 15:strcat(NUM16,"F");break;
}
numero=numero/16;
}
strcpy(NUM16,strrev(NUM16));
return NUM16;
}

crisam
24 de Marzo del 2006
// ya esta arreglado
// el problema es que antes de comenzar a concatenar
// tienes que borrar la basura
// y al final de la cadena
// concatenale '' que es fin de cadena
// espero haberte ayudado


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

char *conv_hex(int numero);

void main()
{
clrscr();
char *ss=conv_hex(50);
printf("%s",ss);
}



char *conv_hex(int numero)
{
char *NUM16;
strcpy(NUM16,"");
while(numero)
{
switch(numero%16)
{
case 0:strcat(NUM16,"0");break;
case 1:strcat(NUM16,"1");break;
case 2:strcat(NUM16,"2");break;
case 3:strcat(NUM16,"3");break;
case 4:strcat(NUM16,"4");break;
case 5:strcat(NUM16,"5");break;
case 6:strcat(NUM16,"6");break;
case 7:strcat(NUM16,"7");break;
case 8:strcat(NUM16,"8");break;
case 9:strcat(NUM16,"9");break;
case 10:strcat(NUM16,"A");break;
case 11:strcat(NUM16,"B");break;
case 12:strcat(NUM16,"C");break;
case 13:strcat(NUM16,"D");break;
case 14:strcat(NUM16,"E");break;
case 15:strcat(NUM16,"F");break;
}
numero=numero/16;
}
strcat(NUM16,"");
strcpy(NUM16,strrev(NUM16));
return NUM16;
}

ISAIAS DUQUE GOMEZ
24 de Marzo del 2006
un comntario, una asignacion en cadenas no se hace asi ==

yo tulizo strcpy

pero bueno, el strcat que pusiste al ultimo me imprime un cero, ya lo solucione, todas maneras gracias

crisam
24 de Marzo del 2006
cuando utilice el ==