1 - Utiliza las etiquetas geshi para el código...
2 - Tienes muchas variables que no usas, incluido contador que lo incrementas en el bucle pero nunca llegas a usarlo
3 - Aun imprimiendo el numero al revés te dejas el ultimo dígito, cuando es menor que la base y mayor que cero,cociente seria directamente el dígito que te falta.
4 - Como ya ha dicho amchacon un array es una buena opción aunque también podrías almacenarlo en una variable numérica
while(cociente > 0)
{
if(cociente >= base)
{
digito = cociente % base;
cociente = cociente / base;
}
else
{
digito = cociente;
cociente = 0;
}
num_en_base += digito * pow(10,contador); //""Desplaza"" el digito contador veces a la izquierda
contador++;
}