Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: QB: Alkeellinen laskin

Sivun loppuun

Kimmo Merikivi [09.09.2002 15:48:02]

#

Tässä on yksi hölmö laskin, jossa ei käytetä mitään QBASICin olemattomista hienouksistakaan. Vähän kömpelö ja näyttää siltä kuin olisi hiiriohjattava. Pyh! Kaikki on vain koristeita. Koodi vapaassa käytössä kunhan tekijän nimi mainitaan. Sitten yksi juttu. Tuossa koodissa on jotain ihmeen hattupäisiä U-kirjaimia. Ainakin itselläni kumminkin ne meni sellaisiksi kuten piti (ALT+219), siis tuollaisiksi koko merkkitilan täyttäviksi.

CLS
PRINT "ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"
PRINT "ÛLaskin"
PRINT "Û<V>ÛÛÛÛÛ<T>ÛÛÛÛÛÛÛÛÛÛÛÛÛ"
PRINT "Û</>Û<*>Û<->Û<+>ÛEnter  Û"
PRINT "Û<7>Û<8>Û<9>Û<M>ÛÛ<?>ÛÛÛÛ"
PRINT "Û<4>Û<5>Û<6>ÛÛÛÛÛÛÛÛÛÛÛÛÛ"
PRINT "Û<1>Û<2>Û<3>ÛÛÛÛÛÛÛÛÛÛÛÛÛ"
PRINT "Û<.>Û<E>Û<0>ÛÛÛÛÛÛÛÛÛÛÛÛÛ"
PRINT "ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"
LOCATE 2, 25: PRINT "Û"
DO
LOOP WHILE INKEY$ = ""
CLS
PRINT "ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"
PRINT "Û(C) Kimmo Merikivi"
PRINT "Û<V>ÛÛÛÛÛ<T>ÛÛÛÛÛÛÛÛÛÛÛÛÛ"
PRINT "Û</>Û<*>Û<->Û<+>ÛEnter  Û"
PRINT "Û<7>Û<8>Û<9>Û<M>ÛÛ<?>ÛÛÛÛ"
PRINT "Û<4>Û<5>Û<6>ÛÛÛÛÛÛÛÛÛÛÛÛÛ"
PRINT "Û<1>Û<2>Û<3>ÛÛÛÛÛÛÛÛÛÛÛÛÛ"
PRINT "Û<.>Û<E>Û<0>ÛÛÛÛÛÛÛÛÛÛÛÛÛ"
PRINT "ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"
LOCATE 2, 25: PRINT "Û"
DO
LOOP WHILE INKEY$ = ""
RANDOMIZE TIMER
CLS
FOR B = 1 TO 5 STEP 1
CLS
FOR C = 1 TO 10 STEP 1
A = RND * 9999999
LOCATE 1, 1: PRINT "ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"
LOCATE 2, 1: PRINT "Û"; A
LOCATE 3, 1: PRINT "Û<V>ÛÛÛÛÛ<T>ÛÛÛÛÛÛÛÛÛÛÛÛÛ"
LOCATE 4, 1: PRINT "Û</>Û<*>Û<->Û<+>ÛEnter  Û"
LOCATE 5, 1: PRINT "Û<7>Û<8>Û<9>Û<M>ÛÛ<?>ÛÛÛÛ"
LOCATE 6, 1: PRINT "Û<4>Û<5>Û<6>ÛÛÛÛÛÛÛÛÛÛÛÛÛ"
LOCATE 7, 1: PRINT "Û<1>Û<2>Û<3>ÛÛÛÛÛÛÛÛÛÛÛÛÛ"
LOCATE 8, 1: PRINT "Û<.>Û<E>Û<0>ÛÛÛÛÛÛÛÛÛÛÛÛÛ"
LOCATE 9, 1: PRINT "ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"
NEXT C
LOCATE 2, 25: PRINT "Û"
NEXT B
ON ERROR GOTO vika
LET F = 0
LET A = 0
0.5 PRINT
CLS
PRINT "ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"
PRINT "Û"; A
PRINT "Û<V>ÛÛÛÛÛ<T>ÛÛÛÛÛÛÛÛÛÛÛÛÛ"
PRINT "Û</>Û<*>Û<->Û<+>ÛEnter  Û"
PRINT "Û<7>Û<8>Û<9>Û<M>ÛÛ<?>ÛÛÛÛ"
PRINT "Û<4>Û<5>Û<6>ÛÛÛÛÛÛÛÛÛÛÛÛÛ"
PRINT "Û<1>Û<2>Û<3>ÛÛÛÛÛÛÛÛÛÛÛÛÛ"
PRINT "Û<.>Û<E>Û<0>ÛÛÛÛÛÛÛÛÛÛÛÛÛ"
PRINT "ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"
LOCATE 2, 25: PRINT "Û"
LOCATE 10, 1: INPUT ; A
1 PRINT
CLS
PRINT "ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"
PRINT "Û"; A
PRINT "Û<V>ÛÛÛÛÛ<T>ÛÛÛÛÛÛÛÛÛÛÛÛÛ"
PRINT "Û</>Û<*>Û<->Û<+>ÛEnterÛÛÛ"
PRINT "Û<7>Û<8>Û<9>Û<M>ÛÛ<?>ÛÛÛÛ"
PRINT "Û<4>Û<5>Û<6>ÛÛÛÛÛÛ<N>ÛÛÛÛ"
PRINT "Û<1>Û<2>Û<3>ÛÛÛÛÛÛÛÛÛÛÛÛÛ"
PRINT "Û<.>Û<E>Û<0>ÛÛÛÛÛÛÛÛÛÛÛÛÛ"
PRINT "ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"
LOCATE 2, 25: PRINT "Û"
LOCATE 10, 1: INPUT A$
IF A$ = "?" THEN GOTO 6
IF A$ = "/" THEN GOTO 2
IF A$ = "*" THEN GOTO 3
IF A$ = "+" THEN GOTO 4
IF A$ = "-" THEN GOTO 5
IF A$ = "M" THEN GOTO 7
IF A$ = "m" THEN GOTO 7
IF A$ = "n" THEN GOTO 8
IF A$ = "N" THEN GOTO 8
IF A$ = "T" THEN LET A = 0: GOTO 0.5
IF A$ = "t" THEN LET A = 0: GOTO 0.5
IF A$ = "E" THEN END
IF A$ = "e" THEN END
IF A$ = "V" THEN GOTO valinta
IF A$ = "v" THEN GOTO valinta
2 LOCATE 10, 1: INPUT ; B
LET A = A / B
GOTO 1
3 LOCATE 10, 1: INPUT ; B
LET A = A * B
GOTO 1
4 LOCATE 10, 1: INPUT ; B
LET A = A + B
GOTO 1
5 LOCATE 10, 1: INPUT ; B
LET A = A - B
GOTO 1
END
6 PRINT "Kirjoita ensin laskutapa siis +, -, * tai /."
PRINT "Anna sitten luku jonka haluat olevan tässä yhtälössä. Paina sitten enter."
PRINT "E on lopeta."
PRINT "Ensimmäinen kerta M:ää on antaa luku ja kirjoittaa se muistiin."
PRINT "Toinen kerta on muuttaa näkyvissä oleva luku jo annetuksi."
PRINT "N on kertoa, jakaa, vähentää tai lisätä näytöllä oleva luku m:ään."
PRINT "T on tyhjennä näyttö."
PRINT "V näyttää valikon jossa on joku valmis luku tai funktio"
DO
LOOP WHILE INKEY$ = ""
GOTO 1
7 IF C <> 0 THEN LET A = C: GOTO 1
DO
LOOP WHILE INKEY$ = ""
GOTO 1
8 PRINT
CLS
PRINT "ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"
PRINT "Û"; A
PRINT "Û<V>ÛÛÛÛÛ<T>ÛÛÛÛÛÛÛÛÛÛÛÛÛ"
PRINT "Û</>Û<*>Û<->Û<+>ÛEnter  Û"
PRINT "Û<7>Û<8>Û<9>Û<M>ÛÛ<?>ÛÛÛÛ"
PRINT "Û<4>Û<5>Û<6>ÛÛÛÛÛÛ<N>ÛÛÛÛ"
PRINT "Û<1>Û<2>Û<3>ÛÛÛÛÛÛÛÛÛÛÛÛÛ"
PRINT "Û<.>Û<E>Û<0>ÛÛÛÛÛÛÛÛÛÛÛÛÛ"
PRINT "ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"
LOCATE 2, 25: PRINT "Û"
LOCATE 10, 1: INPUT A$
IF A$ = "/" THEN LET A = A / C: GOTO 1
IF A$ = "*" THEN LET A = A * C: GOTO 1
IF A$ = "+" THEN LET A = A + C: GOTO 1
IF A$ = "-" THEN LET A = A - C: GOTO 1
GOTO 1
vika:
LOCATE 2, 2: PRINT "Error                  "
DO
LOOP WHILE INKEY$ = ""
GOTO 1
valinta:
CLS
PRINT "Pii"
PRINT "Toiseen"
PRINT "Kolmanteen"
PRINT "Johonkin"
INPUT A$
IF A$ = "Pii" THEN LET A = 3.1415926535#: GOTO 1
IF A$ = "Toiseen" THEN LET A = A * A: GOTO 1
IF A$ = "Kolmanteen" THEN LET A = A * A * A: GOTO 1
IF A$ = "Johonkin" THEN GOTO johonkin
GOTO valinta
johonkin:
CLS
INPUT "Mihin"; B
IF B <= 1 THEN GOTO johonkin
LET C = 1
FOR C = C TO B STEP 1
LET A = A * A
NEXT C
GOTO 1

(nimetön) [10.09.2002 19:13:53]

#

Kommentteja kiitos!

Antti Laaksonen [10.09.2002 19:23:30]

#

Ihan OK, jonkun verran bugeja tosin.

Dj Wolf [11.09.2002 11:02:56]

#

Miksi, oi miksi ihmiset eivät voi käyttää SELECT CASEa? Se on nimittäin paljon luettavampi kuin pitkä litanja IF:jä :/

ps. Ei millään pahalla :)

(nimetön) [12.09.2002 17:38:59]

#

Niin, voisiko kukaan parannella tätä esim. vaihtaa IFit SELECT CASEen ja tehdä vaikka hiiriohjattava versio?

mummon_mopo [22.09.2002 13:59:39]

#

siis mitä vitun järkee es pistää tällasia tänne? uihuhuh

Jesoft [08.04.2003 16:57:10]

#

Voih,tuo laskenta on helpompaakin,(HUOM.vain plus laskut)esim.

CLS
Print "Laskuri"
Input "Ensimmäinen luku"; A
Input "Toinen luku"; B
C = A + B
Print A
Print " +"
Print B
Print "Tulos="; C
Sleep 10

Mutta on toi ihan kätevä!

Jesoft [08.04.2003 16:57:12]

#

Voih,tuo laskenta on helpompaakin,(HUOM.vain plus laskut)esim.

CLS
Print "Laskuri"
Input "Ensimmäinen luku"; A
Input "Toinen luku"; B
C = A + B
Print A
Print " +"
Print B
Print "Tulos="; C
Sleep 10

Mutta on toi ihan kätevä!

Jesoft [08.04.2003 16:59:15]

#

Voih,tuo laskenta on helpompaakin,(HUOM.vain plus laskut)esim.

CLS
Print "Laskuri"
Input "Ensimmäinen luku"; A
Input "Toinen luku"; B
C = A + B
Print A
Print " +"
Print B
Print "Tulos="; C
Sleep 10

Mutta on toi ihan kätevä!

Jesoft [08.04.2003 17:00:38]

#

Voih,tuo laskenta on helpompaakin,(HUOM.vain plus laskut)esim.

CLS
Print "Laskuri"
Input "Ensimmäinen luku"; A
Input "Toinen luku"; B
C = A + B
Print A
Print " +"
Print B
Print "Tulos="; C
Sleep 10

Mutta on toi ihan kätevä!


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta