Este código C++ convierte un número decimal en su equivalente binario utilizando el método de división por 2. Se pide al usuario ingresar un número decimal, luego, se utiliza un bucle while para realizar la conversión de decimal a binario utilizando el método de división por 2, es decir se divide el número decimal entre 2 hasta que el resultado sea 0, y se guarda el resto de cada iteración en un vector. Finalmente, se imprime el vector en la consola en orden inverso para obtener el número binario correspondiente.

#include <iostream>
#include <vector>

int main() {
    int num, remainder;
    std::vector<int> binary;
    std::cout << "Ingrese un número decimal: ";
    std::cin >> num;
    while (num > 0) {
        remainder = num % 2;
        binary.push_back(remainder);
        num /= 2;
    }
    std::cout << "El número en binario es: ";
    for (int i = binary.size() - 1; i >= 0; i--) {
        std::cout << binary[i];
    }
    std::cout << std::endl;
    return 0;
}

La variable 'num' almacena el número decimal ingresado por el usuario. La variable 'remainder' almacena el residuo de la división por 2 en cada iteración del bucle 'while'. El vector 'binary' almacena todos los residuos obtenidos en la variable 'remainder'.

El código ha sido probado en Code::Blocks en Windows, por lo que es completamente funcional.

Puedes descargar el código .CPP aquí.

NOTA: Si al correr el programa los acentos o caracteres especiales no se muestran correctamente, puedes usar esta solución: ¿Cómo mostrar acentos y caracteres especiales en programas escritos en C++?