firstchoiceMedlem sedan okt. 2001605 inlägg
vad är fel?
<%
antal = 0
sum = 1
antal = cint(request.form("tal"))
for i = 0 to antal
falt(i) = array(i+1)
i = i + 1
next
i = 0
do while i < antal
sum = falt(i) * sum
loop
%>
<%
response.write sum
%>
------------------------------
vi antar att talet som kommer från formuläret är 5
då skall scriptet göra förljande uträkning:
1*2*3*4*5 och räkna ut det
skulle man skriva in 3
1*2*3
vad är fel i mitt script??
ViktorMedlem sedan aug. 20021 710 inlägg
Ett fel är att du har "i=i+1" i din for loop, i en for loop så räknas i upp automatiskt.
Vad får du för felmedelande/vad är det som blir fel.
/Viktor
firstchoiceMedlem sedan okt. 2001605 inlägg
detta fel fick jag
Error Type:
Microsoft VBScript runtime (0x800A000D)
Type mismatch: 'falt'
/skolan/do/uppgift1_rakna.asp
PallemanMedlem sedan dec. 2000465 inlägg
Får man fråga vad det är du vill göra?
Gällande din do while-loop så ser det riktigt farligt ut... ;)
Du sätter först i=0, sedan kör du en loop som håller på tills antal är mindre än noll, men då värdet antal aldrig minskar i den loopen kommer den hålla på i all evighet, inte bra.
Utveckla lite om vad du vill göra så ska vi se om vi kan hjälpa dig. :)
ViktorMedlem sedan aug. 20021 710 inlägg
Som Palleman säger så måste du flytta ner "i=i+1" till din "do while loop".
Har du deklarerat vad falt är för något i programmet? När du kör med Arrayer så tror jag att du måste deklarera dem och hur stora de ska vara.
Typ,
dim falt(1 to antal) as variant
(är ingen VB expert så det kan vara fel på koden!)
/Viktor
firstchoiceMedlem sedan okt. 2001605 inlägg
så här
användaren skall kunna skriva in ett tal i ett formulär
sen skall programmet räkna ut fakuliteten av det talet
alltså om man skriver in 5
skall programmet ta
1*2*3*4*5 och räkna ihop det
skulle man skriva in 8 så skall programmet räkna ihop
1*2*3*4*5*6*7*8
och skriva ut talet
går det fixa?
ViktorMedlem sedan aug. 20021 710 inlägg
Såhär kan man lösa det
<%
antal = 0
sum = 1
i = 0
antal = cint(request.form("tal"))
do while i < antal
i=i+1
sum = i * sum
loop
%>
<%
response.write sum
%>
/Viktor
firstchoiceMedlem sedan okt. 2001605 inlägg
jaa!! :)
tack för hjälpen
så simpelt vad det, tydligen *ler*
ibland blir man blind!
/felix