Avatar billede bugger Nybegynder
26. august 2003 - 13:26 Der er 12 kommentarer og
1 løsning

hvis imellem to tal så gør det

Hejsa
Et klassisk programmørspørgsmål for begyndere som jeg roder lidt rundt i.

Hvis TAL er imellem 1 og 10 så er SIZE=smal
Hvis TAL er imellem 10 og 20 så er SIZE=normal
Hvis TAL er imellem 20 og 30 så er SIZE=large
Hvis TAL er imellem 30 og 40 så er SIZE=Xlarge
Hvis TAL er større end 40 SIZE=XXlarge

Hvordan vil du skrive det bedst muligt i ASP? Jeg har prøvet med en select case, men kan ikke få det til at køre ligesom jeg ikke bryder mig om if then i if then. Er der ikke en enkel let metode?
Avatar billede cesil Nybegynder
26. august 2003 - 13:31 #1
det kan fx laves således
<% 
tal = 25

if cint(tal) > 1 and cint(tal) < 10 then
    size = "smal"
elseif cint(tal) > 10 and cint(tal) < 20 then
    size = "normal"
elseif cint(tal) > 20 and cint(tal) < 30 then
    size = "large"
elseif cint(tal) > 30 and cint(tal) < 40 then
    size = "Xlarge"
elseif cint(tal) > 40 then
    size = "XXlarge"
end if

response.write size
%>
Avatar billede netro Nybegynder
26. august 2003 - 13:33 #2
Kan størrelsen ikke være 1, 10, 20, 30 eller 40, siden du skriver i mellem?
Avatar billede cesil Nybegynder
26. august 2003 - 13:33 #3
måske der lige mangler et = foran <

=< 10
Avatar billede Jman Praktikant
26. august 2003 - 13:33 #4
if (tal > 1) and (tal < 11) then size = "smal"
elseif (tal >9) and (tal < 21( then size = "normal"
elseif (tal >19) and (tal < 31( then size = "large"
elseif (tal >29) and (tal < 41( then size = "Xlarge"
else size = "XXlarge"
end if
Avatar billede erikjacobsen Ekspert
26. august 2003 - 13:33 #5
HVis tal er præcis 10 - så hvad? Der er ingen grund til at sige cint så mange gange
Avatar billede Jman Praktikant
26. august 2003 - 13:34 #6
med forbehold for at du også ville have de runde tal med :)
Avatar billede erikjacobsen Ekspert
26. august 2003 - 13:38 #7
Du accepterer en forkert løsning?
Avatar billede nmh Nybegynder
26. august 2003 - 13:39 #8
Hvd med noget i denne stil, hvis du nu har noget imod if-then-else?
n=tal\10 '(heltalsdivision). Nu er n 0,1,2,3 eller mere
select case n
  case 0
    ...
  case 1
    ...
  case 2
    ...
  case 3
    ...
  case else
    ...
  end select
Avatar billede netro Nybegynder
26. august 2003 - 13:41 #9
Det er tilladt for dig at kommentere dit spørgsmål, bugger...!
Avatar billede bugger Nybegynder
26. august 2003 - 13:46 #10
Ja men jeg efterprøvede cesils forslag og det virker fint. Derfor accepterer jeg det. Og jo tallet kan godt være 1, 10 ,20,30, men det er jo bare at sættee et = på cesils forslag så kører det også.
Avatar billede erikjacobsen Ekspert
26. august 2003 - 13:50 #11
Ok - men så fjerner du vel også de overflødige kald af cint() ?
Avatar billede bugger Nybegynder
26. august 2003 - 13:54 #12
Ja -tak for hjælpen
Avatar billede netro Nybegynder
26. august 2003 - 14:07 #13
:-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester