O importante é o código rodar sem problemas. Certo ou errado?

Fiz uma prova com 4 questões valendo 10 pontos e apenas UMA não rodou no computador porque eu me atrapalhei toda. Mas eu tirei 6.4. Fiquei apavorada!

Sim e não.
É claro que o código deve rodar, mas ele deve rodar e alcançar o objetivo ao qual foi escrito.
E caso não rode, está errado. Mesmo que você esteja no caminho certo para alcançar o objetivo, mesmo que falte um ponto e vírgula “;” - que a proposito é muita coisa, por exemplo, e se no código de um foguete faltar um ponto e vírgula, o sistema irá travar, e isso poderá acarretar em uma explosão.

Eu posso fazer um programa que rode e tem o objetivo de calcular o salário de uma pessoa com reajuste de 10%, só que na hora de eu fazer os cálculos eu não estou somando (sal - (sal*0.1)) -estou tirando 10% do seu salário. O programa rodou, o objetivo não foi alcançado, o programa está errado.

O importante é a lógica do código estar certa. Uma resposta que chegou perto da resposta correta, porém não compila, é muito mais válido que uma resposta que compila, mas não faz nada, ou que faz algo totalmente nada a ver.

Compilar ou não é o de menos

Eu sigo pela linha de raciocínio do @igor_ks.
Saber os pormenores e os detalhes de funcionamento de uma ou outra linguagem é algo que você só aprende com o tempo. Porém, a lógica é fundamental.
Saber como organizar, logica e sequencialmente, os passos para que um algoritmo seja executado é muito mais importante do que saber se o c++ lê dados apenas com o cin ou com o gets…