en esta linea
no convierte el int a un caracter sino que le asigna el valor 1 a la cadena y el numero 1 es un caracter de escape por eso te sale la carita lo que tienes que hacer es convertir el entero a cadena usando itoa o sprintf o si quieres una solucion C++ usa stringstream como sigue:
incluye el header
y donde tienes
sustiyelo por
Código:
stringstream ss;
ss << remainder;
ss>>re;
stringstream puede convertir floats, int, longs, bool, etc a cadena