Correções necessárias para rodar

Alterações que eu fiz para conseguir rodar o seu programa durante a correção do trabalho 3. Separei as alterações em diferentes commits, com descrições individuais, para que você possa analisá-los.