Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  3 4024
Har et skript jeg skal lage, der det teller fra 1-1000 med tall som brukerne velger et tall de starter fra og et tall det skal slutte på. MEN om person skriver feks 0, skal de bli bedt om å skrive på nytt. Eller om de skriver et tall over 1000 skal de også bli bedt om å skrive på nytt.
Skriptet ser sånn ut så langt - men får ikke til de to siste tingene jeg nevnte. Hva skal jeg gjøre?
Den skal også kunne avsluttes med Q eller q.


Kode

@echo off
cls
set start=1

:main
set /p start=Velg tallet du vil telle fra:
set /p slutt=Velg tallet du vil at telleren skal stoppe på: 
if %slutt% leq 1000 goto hundre
if %start% geq 1 goto hundre
if %start% lss 1 goto main
if %slutt% gtr 1000 goto main 

:hundre
echo %start%
set /a start=%start% +1
if %start% leq %slutt% goto:hundre
if %start%==q goto exit


pause
Sist endret av Poverud; 15. mars 2017 kl. 11:35. Grunn: La til noe.
Trigonoceps occipita
vidarlo's Avatar
Donor
Bruk eit fornuftig språk. Batch har ikkje støtte for skikkelige løkker, som fører til spaghettikode med jumps herfra til helvete og tilbake.

I eit fornuftig språk er oppskrifta ca. følgjande:

Kode

while (number > HiLimit && number < LoLimit) {
print "Enter a number"
read number
}

while (i < number) {
print i
i=i+1
}
Det er lettlest, ingen hopp og logisk oppbygging.

Om du er avhengig av språk som er overalt er t.d. vbscript, powershell, python gode alternativ, avhengig av platform.
Trådstarter
Veldig klar over det, men akkurat dette måtte skrives i batch. Det var kravet.
Overskuddsmateriell
"goto hundre" må fjernes, ellers vil den funke greit uten å ha testet den.