Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

MxPirex

como usar 3 condições(IF/ELSE IF/ELSE)

Recommended Posts

Pessoal, como eu faço pra usar o comando IF/ELSE com 3 condições?

 

No código abaixo eu quero mostrar na tela para o usuário uma mensagem de acordo com o horário.

Com duas condições, eu consigo, agora com 3 sem chance.

 

<% if hour(now) > 0 then %>	Bom dia!<% if hour(now) > 12 %>	Boa tarde!	<% else %>	Boa noite!				<% end if %><% end if %>

Tentei assim tb, mas não rolou:

<% if hour(now) > 0 then %>	Bom dia!<% else if hour(now) > 12 %>	Boa tarde!	<% else %>	Boa noite!<% end if %><% end if %>

Alguém pode me ajudar a corrigir o erro?

[]'s http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Junta o elseif:

 

<% if hour(now) < 0 then %>				Boa Noite!!!<% elseif hour(now) < 6 then%>	Boa tarde!!!	<% else %>	Bom dia!!!<% end if %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beleza :http://forum.imasters.com.br/public/style_emoticons/default/joia.gif:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, como eu faço pra usar o comando IF/ELSE com 3 condições?

 

No código abaixo eu quero mostrar na tela para o usuário uma mensagem de acordo com o horário.

Com duas condições, eu consigo, agora com 3 sem chance.

 

<% if hour(now) > 0 then %>
	Bom dia!

<% if hour(now) > 12 %>
	Boa tarde!
	
<% else %>
	Boa noite!	
			
<% end if %>
<% end if %>

Tentei assim tb, mas não rolou:

<% if hour(now) > 0 then %>
	Bom dia!

<% else if hour(now) > 12 %>
	Boa tarde!
	
<% else %>
	Boa noite!

<% end if %>
<% end if %>

Alguém pode me ajudar a corrigir o erro?

[]'s http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Hehe, fácil amigão... você só esqueceu de colocar o Then no else if

 

FICANDO ASSIM:

<% If hour(now) > 0 Then %>
	Bom dia!
<% Else If hour(now) > 12 Then %>
	Boa tarde!
<% Else %>
	Boa noite!

<% End If %>
<% End If %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

E depois de amanhã o tópico ia completar 2 anos de resolvido!

Compartilhar este post


Link para o post
Compartilhar em outros sites

E depois de amanhã o tópico ia completar 2 anos de resolvido!

 

Olá pessoal, estava pesquisando felizmente encontrei esse topico! Tenho um problema parecido mais tenho mais condições p/checar, na situação abaixo preço checar se a variavel tot_ped1(valor) esta entre as faixas de valores para gerar o valor de frete. Nesse codigo só a primeira condição esta sendo obedecida! Meus conhecimentos são limitados e agradeço qualquer informação

 

 

if tot_ped1 > 0 then
    varfrete = 70
Else If tot_ped1 < 1000 then
    varfrete = 70
Else If tot_ped1 > 1001 then
varfrete = 90
Else If tot_ped1 < 2000 then
varfrete = 90
Else If tot_ped1 > 2001 then
varfrete = 120
Else If tot_ped1 < 3000 then
varfrete = 120
Else
varfrete = 160
end if
       end if
       end if
end if
end if
end if

Compartilhar este post


Link para o post
Compartilhar em outros sites

E depois de amanhã o tópico ia completar 2 anos de resolvido!

 

:clap:

 

Olá pessoal, estava pesquisando felizmente encontrei esse topico! Tenho um problema parecido mais tenho mais condições p/checar, na situação abaixo preço checar se a variavel tot_ped1(valor) esta entre as faixas de valores para gerar o valor de frete. Nesse codigo só a primeira condição esta sendo obedecida! Meus conhecimentos são limitados e agradeço qualquer informação

 

Cara, seu problema é de lógica. Todos os valores sempre serão maior que ZERO, sua primeira condição satisfaz o teste, logo, nenhum outro valor será testado no ELSE.

 

If tot_ped1 > 0 Then
   varfrete = 70
Else 
   If vtot_ped1 < 1000 Then
       varfrete = 70
   Else 
       If tot_ped1 > 1001 Then
           varfrete = 90
       Else 
           If tot_ped1 < 2000 Then
               varfrete = 90
           Else 
               If tot_ped1 > 2001 Then
                   varfrete = 120
               Else 
                   If tot_ped1 < 3000 Then
                       varfrete = 120
                   Else
                       varfrete = 160
                   End If
               End If
           End If
       End If
   End If
End If

 

Refaça o seu algoritmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

:clap:

 

 

 

Cara, seu problema é de lógica. Todos os valores sempre serão maior que ZERO, sua primeira condição satisfaz o teste, logo, nenhum outro valor será testado no ELSE.

 

If tot_ped1 > 0 Then
   varfrete = 70
Else 
   vtot_ped1 < 1000 Then
       varfrete = 70
   Else 
       If tot_ped1 > 1001 Then
           varfrete = 90
       Else 
           If tot_ped1 < 2000 Then
               varfrete = 90
           Else 
               If tot_ped1 > 2001 Then
                   varfrete = 120
               Else 
                   If tot_ped1 < 3000 Then
                       varfrete = 120
                   Else
                       varfrete = 160
                   End If
               End If
           End If
       End If
   End If
End If

 

Refaça o seu algoritmo.

Alguma dica de por onde começar? Alguma referencia? Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos supor que a faixa de preços onde vou cobrar o frete seja para compras até 100,00, acima disso o valor do frete será zero.

 

Assim, a condição será SE o valor da compra for menor ou igual a 100, adiciono ao valor da compra o frete, acima disso não cobro.

 

Pensando nisso, já teriamos algo para escrever

If tot_ped1 <= 100 Then
   varfrete = 70
Else 
   vtot_ped1 > 100 Then
       varfrete = 0
endif

 

Note que poderiamos melhorar esse código mudando um pouco:

If tot_ped1 > 100 Then
   varfrete = 0
Else 
   varfrete = 70
endif

 

Pode não parecer muita coisa, mas ao reescrevermos alguns if´s numa aplicação que é acessada por muitas pessoas ao mesmo tempo, diminuimos o processamento do servidor, tendo assim um desempenho melhor no sistema como um todo.

 

Recomendo ler algum livro sobre algoritimos e logica de programação, ele irá lhe ajudar ao criar a logica do sistema.

Outra coisa que ajuda é escrever alguns passos do sistema usando pseudo-código, assim você conseguirar ter um esboço do codigo e com isso poderá identificar eventuais erros antes mesmo de por a mão na massa:

SE valor > 100 Então
total = total +10
Senão
totoal = total + 20

 

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

tentou usar SELECT CASE, para várias opções é melhor no desempenho...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.