Avatar billede obhat Nybegynder
24. januar 2004 - 22:40 Der er 17 kommentarer og
1 løsning

If-sætning med and or

Denne if-sætning virker ikke, systemet "springer" over den, hvad kan der være galt?

dim s(5)
s(1) = rs("x1")
s(2) = rs("x2")
s(3) = rs("x3")
s(4) = rs("x4")
s(5) = rs("x5")

if S(1) = 1 or s(1) = 3 and s(2) = 1 or s(2) = 3 and s(3) = 1 or s(3) = 3 and s(4) = 1 or s(4) = 3 and s(5) = 1 or s(5) = 3 then
Avatar billede eagleeye Praktikant
24. januar 2004 - 22:43 #1
Du skal sætte () omkring.. Husk på AND udføres før OR

Hvis man sammenligner med matematik, AND = * og OR = + så det heller ikke lige meget hvad man skriver:
4*2+1=9
4*(2+1)=12

Så du må hvade placeret nogle paranteser :)
Avatar billede eagleeye Praktikant
24. januar 2004 - 22:57 #2
Hvis if sætningen er rigtig kan det være fordi den tolker s(X) som en streng og ikke et tal. Så det nødvendigt med Int() omkring:

s(1) = int(rs("x1"))
s(2) = int(rs("x2"))
s(3) = int(rs("x3"))
s(4) = int(rs("x4"))
s(5) = int(rs("x5"))
Avatar billede danielskipper Nybegynder
24. januar 2004 - 23:06 #3
Det er gjort nu, men skal der ikke også ændres noget i:

if S(1) = 1 or s(1) = 3 and '....
Avatar billede obhat Nybegynder
24. januar 2004 - 23:28 #4
Er der de paranteser i sætningen der skal være?

if S(1) = 1 or s(1) = 3 and s(2) = 1 or s(2) = 3 and s(3) = 1 or s(3) = 3 and s(4) = 1 or s(4) = 3 and s(5) = 1 or s(5) = 3 then
Avatar billede eagleeye Praktikant
24. januar 2004 - 23:32 #5
Det kommer an på hvad den skal finde. Som der lavet tager den alle dem hvor en af disse linjer er opfyldt:
s(1) = 1  eller
s(1) = 3 and s(2) = 1  eller
s(2) = 3 and s(3) = 1  eller
s(3) = 3 and s(4) = 1  eller
s(4) = 3 and s(5) = 1  eller
s(5) = 3
Avatar billede obhat Nybegynder
24. januar 2004 - 23:49 #6
Det er forkert så
meningen er at alle linier skal være opfyldt.. kan det laves?

s(1) = 1  og
s(1) = 3 and s(2) = 1  og
s(2) = 3 and s(3) = 1  og
s(3) = 3 and s(4) = 1  og
s(4) = 3 and s(5) = 1  og
s(5) = 3
Avatar billede obhat Nybegynder
24. januar 2004 - 23:50 #7
undskyld, nu roder jeg vist i det.. øjeblik
Avatar billede thesurfer Nybegynder
24. januar 2004 - 23:51 #8
mener du?:

(s(1) = 1 or s(1) = 3) and (s(2) = 1 or s(2) = 3) and (s(3) = 1 or s(3) = 3) and (s(4) = 1 or s(4) = 3) and (s(5) = 1 or s(5) = 3)
Avatar billede obhat Nybegynder
25. januar 2004 - 00:16 #9
Det er noget i den retning, jeg tror faktisk det er lige det.
Avatar billede obhat Nybegynder
25. januar 2004 - 11:21 #10
Der skal bare en betingelse mere med og det er at alle 5 forekomster må ikke være 3

Så kan man sætte noget ind der hedder
and if not s(1) = 3 and s(2) = 3 and s(3) = 3 then
Avatar billede eagleeye Praktikant
25. januar 2004 - 12:21 #11
Jo du kan udvide:

if (s(1) = 1 or s(1) = 3) and (s(2) = 1 or s(2) = 3) and (s(3) = 1 or s(3) = 3) and (s(4) = 1 or s(4) = 3) and (s(5) = 1 or s(5) = 3) AND not (s(1) = 3 and s(2) = 3 and s(3) = 3 and s(4)=3 and s(5)=3) then
Avatar billede obhat Nybegynder
25. januar 2004 - 13:04 #12
Fint :-)
Takker
Avatar billede thesurfer Nybegynder
25. januar 2004 - 16:10 #13
Uhm.. hjælpe det? dvs, kan du lukket spm'et nu?
Hvis ja, skal du give points til de(m) der hjalp dig. Det kan kun ske hvis de(n) der hjalp dig lægger et svar..
Med andre ord: sig til hvis der er nogen der skal lægge et svar..
Avatar billede danielskipper Nybegynder
26. januar 2004 - 00:16 #14
eagleeye må godt lægge et svar :-)
Avatar billede eagleeye Praktikant
26. januar 2004 - 08:42 #15
Pænt forslag danielskipper, men det jo ikke dit spørgsmål :)
eller har du to brugere?
Avatar billede obhat Nybegynder
26. januar 2004 - 11:44 #16
danielskipper er min storebror, vi bruger samme computer og der gik åbenbart noget galt under login :-(
Avatar billede eagleeye Praktikant
26. januar 2004 - 17:59 #17
Arh ok ;)  her et svar.
Avatar billede obhat Nybegynder
26. januar 2004 - 18:13 #18
Takker :-)
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