É 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...
o meu ep tambem so imprime a 1a linha e não sei porque ele esta fazendo isso
não consigo encontrar uma solução
não consigo encontrar uma solução
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
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
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
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=
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=
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
--------------------------------------------
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