HecKel
The WORM
Boas!
Sobre o Switch case, salvo erro só funciona com numeros mesmo e tu estás a trabalhar com caracteres, em vez de "receberes" um caracter começa a receber um inteiro, afinal de contas é com inteiros que estás a trabalhar.
Sobre o teu problema dos if's, um ponto e virgula coloca-se no final de uma instrução indicando isto mesmo, que é o final dessa instrução. Ao colocares um ponto e virgula LOGO no final do if estás a dizer que o if acaba logo ali, que o está dentro das chavetas não pertence ao if.
Tal como o if, este problema acontece com for's, whiles and so on, tudo o que for blocos.
A indicação de final de bloco é delimitada por um par de chavetas como usas já, no caso desse bloco ser só uma instrução as chavetas podem-se omitir, por exemplo:
no caso de bloco:
Outro cuidado que deves ter é quando usas blocos ifs só de uma instrução e tens um else, a linha imeditamente antes ao else NÃO leva ponto e virgula. No caso de usares chavetas tem um funcionamento igual ao que descrevi anteriormente, por exemplo:
Em bloco ficaria assim:
Moral da história..., usa sempre chavetas que nunca te enganas
Espero ter ajudado
abraços, HecKel
Sobre o Switch case, salvo erro só funciona com numeros mesmo e tu estás a trabalhar com caracteres, em vez de "receberes" um caracter começa a receber um inteiro, afinal de contas é com inteiros que estás a trabalhar.
Sobre o teu problema dos if's, um ponto e virgula coloca-se no final de uma instrução indicando isto mesmo, que é o final dessa instrução. Ao colocares um ponto e virgula LOGO no final do if estás a dizer que o if acaba logo ali, que o está dentro das chavetas não pertence ao if.
Tal como o if, este problema acontece com for's, whiles and so on, tudo o que for blocos.
A indicação de final de bloco é delimitada por um par de chavetas como usas já, no caso desse bloco ser só uma instrução as chavetas podem-se omitir, por exemplo:
if (xpto == 1)
return kkcoisa ;
no caso de bloco:
if (xpto == 2)
{
blablabla++;
blebleble--;
return blablabla+blebleble;
}
Outro cuidado que deves ter é quando usas blocos ifs só de uma instrução e tens um else, a linha imeditamente antes ao else NÃO leva ponto e virgula. No caso de usares chavetas tem um funcionamento igual ao que descrevi anteriormente, por exemplo:
if (xpto == 3)
blabla++
else
blabla--;
Em bloco ficaria assim:
if (xpto == 4)
{
blabla++;
ble += blabla;
} else {
blabla--;
}
Moral da história..., usa sempre chavetas que nunca te enganas
Espero ter ajudado
abraços, HecKel