Problema com o DEVC++

Problema com o DEVC++

por Bruno Del Papa -
Número de respostas: 5
 É uma história meio longa....Fiz meu ep no computador da minha casa, e ele estava compilando e funcionando perfeitamente. Fui hoje testa-lo na pro-aluno e vi que ele nao funcionava mais, somente imprimia a primeira linha do grafico. Quando fui tentar encontrar o problema no computador de casa, nao havia nenhum, o mesmo ep continuava compilando e funcionando! Fui entao ver se as opçoes "-wall" "-ansi" e "-02" estavam mesmo adicionadas, e as apaguei e reescrevi exatamente como estavam. Agora meu ep compila mas não funciona mais, esta imprimindo de novo só a primeira linha!! Alguem tem alguma ideia do que pode ter acontecido???? tenho quase certeza de que não há erros muito graves no ep, porque ele ainda compila sem nenhum warning...
Em resposta à Bruno Del Papa

Re: Problema com o DEVC++

por Rebeca Bayeh -

Tenho um problema parecido...

quando uso o pc da pró-aluno, meu EP não dá nenhum erro de compilação.

mas o mesmo arquivo no computador de casa não é compilado: o Dev diz que não defini "M_PI", sendo que incluí a biblioteca matemática

Em resposta à Bruno Del Papa

Re: Problema com o DEVC++

por ARTUR SCAVONE -
Não sei se vai ajudar. Eu fiz o EP2 no Dev C++. Usei duas coisas que deram pau depois: cast do tipo x = (int)y  e depois a lógica nova que nos foi passada: ao invés de usar if... para coisas mais simples, usar x==y ? a=b : b=a.
As duas coisas deram erro quando mudei a extensão do meu arquivo de 'EP02.cpp' para 'EP02.c' . O cast precisei escrever x = int(y) e o outro recurso foi informado que ele está "Deprecated", ou seja, não é mais usado. Virou tudo If de novo. Aí funcionou. É isso.
Artur
Em resposta à ARTUR SCAVONE

Re: Problema com o DEVC++

por Guilherme Lima -
O recurso com a mesma funçao de if, naum sei funciona desse modo que vc deu exemplo.
Aqui eu usei e dei certo, mas do modo que o professor deu, exemplo:
x= (i>5)? x+1 : x;
nesse caso, naum haveria nem o else no modo antigo. Nesse modo voce tem que por o x, como x permance igual (x=x) se a condiçao for falsa.
O detalhe eh que as 2 expressoes estao envolvidas com o começo, no caso x=
Em resposta à Guilherme Lima

Re: Problema com o DEVC++

por ARTUR SCAVONE -
No final da aula nos vimos o que aconteceu. Na realidade eu havia usado a expressão assim:

--------------------------------------------
linha[i] == '|' ? linha[i] = '*': linha[i] = '+';
--------------------------------------------

O problema ocorre porque, em razão da precedência, a expressão é avaliada até

--------------------------------------------
linha[i] == '|' ? linha[i] = '*': linha[i]
--------------------------------------------

e não chega em
--------------------------------------------
= '+';
--------------------------------------------

daí o erro. Se forem colocados parenteses, tudo bem, fica resolvido.

--------------------------------------------
linha[i] == ('|' ? linha[i] = '*') : (linha[i] = '+';)
--------------------------------------------

Mas o mais adequado é escrever da seguinte forma, segundo o prof.:

--------------------------------------------
linha[i] = (linha[i] == '|') ? '*': '+';
--------------------------------------------

Artur