Colocar Resposta 
 
Avaliação do Tópico:
  • 2 votos - 5 Média
  • 1
  • 2
  • 3
  • 4
  • 5
Linguagem C - Dicas e ajuda para iniciantes
08-09-2010, 14:04 (Esta mensagem foi modificada pela última vez a: 08-09-2010 21:22 por wolfytuga.)
Mensagem: #22
RE: Linguagem C - Dicas e ajuda para iniciantes
(08-09-2010 11:54)crazyman Escreveu:  boas,
Não tenho aqui nenhum compilador para testar o teu codigo, mas parece-me que o teste de condições deve ser feito numa função criada fora do main, pois qualquer valor que seja diferente de "a" e "c", respectivamente vai dar esse printf "inseriu um numero inteiro menor".
A intenção é mesmo essa ou é verificar os valores introduzidos pelo user? Se a intenção é informar q introduziu um valor Maior ou Menor, então retiro o que disse... Smile
Senão, tem mesmo de ser criada uma função para verificar os valores introduzidos.
De resto, o código está muito bem feito e devidamente comentado.
Parabéns, temos programador Wink

A tua dúvida reside aqui:

Citar:// Teste de condições
if(MAX(a,b)!=a)
{
puts("Inseriu um numero inteiro menor");
}
else
{
puts("Inseriu um numero inteiro maior");
}

if(MAX(c,d)!=c)
{
puts("Inseriu um numero decimal menor");
}
else
{
puts("Inseriu um numero decimal maior");
}

Certo?
Eu compilei o código como podes ver na imagem (não iria publicar aqui um programa que não desse para compilar nem nada do género, foi testado). Neste troço do programa apenas estou a verificar se o que a macro MAX devolve é o valor inserido pelo utilizador ou o que atribuí em "b" ou "d".

Eu com este código pretendo apenas mostrar diferentes possibilidades ao utilizador. Por exemplo a macro MAX como podes ver no código foi definida da seguinte maneira:

Citar:#define MAX(X,Y) (((X)<(Y)) ? (Y) : (X))

e ela substitui uma possível função do género (atenção, ao contrário de uma macro é preciso indicar se estamos a usar inteiros nos argumentos de entrada e saída, neste caso vou optar por inteiros; no caso de querer experimentar com decimais basta substituir todos os "int" desta função por "float"):

Citar:int max_int(int x, int y)
{
if(x<y)
return y;

return x;
}


ou ainda

Citar:int max_int(int x, int y)
{
if(x<y)
{
return y;
}
else
{
return x;
}
}


No entanto este programa possui um erro, não na programação, mas nos conteúdos, já alguém descobriu?

EDIT:
Esqueci-me dos ; no fim de cada instrução nestes exemplos, já está corrigido Wink

wolfytuga
Para o que der e vier...
emachines E520 | Intel Celeron 2.0GHz | 32/64bit | RAM 2GB | HD 160GB | Intel Mobile 4 Express, 64MB → 1GB
Visitar Website de este utilizador Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
Colocar Resposta 


Mensagem neste Tópico
RE: Linguagem C - Dicas e ajuda para iniciantes - wolfytuga - 08-09-2010 14:04

Saltar Fórum:


Utilizadores a ver este tópico: 3 Visitante(s)