el do while es un ciclo similar al while... la diferencia está en que el primero ejecuta y al final pregunta si debe repetirse, esto asegura que se ejecute por lo menos una vez sin importar la condicion...
para comparar lo debes hacer con "=="
si lo haces con un solo "=" el sistema creerá que le diste el valor de num a intento, y esa operación es cierta siempre y cuando sea valida (depende del lenguaje valida es que las variables sean del mismo tipo y ambas existan)
De modo que cuando el usuario teclea el número correcto, que incumple los dos if (ni es mayor ni menor a sí mismo), el programa... ¿vuelve atrás? ¿O basta con eso para que salga del bucle y prosiga con lo que haya por delante?
depende de lo que quieras hacer... lo mas logico, es que al ser correcto, salga del ciclo y continue