Hei,
Näpyttelin tässä aikani kuluksi eurolaskurin CoolBasicilla, mutta en
saa sitä toimimaan. Ohjelma toimii muuten hyvin, mutta kun sen pitäisi
muuntaa markat euroiksi / eurot markoiksi, se antaa tulokseksi "0.0".
Tietääkö joku, mitä tein väärin?
Tässä lähdekoodi:
euro# = 5.94573
Cls
alku:
Repeat
Locate 1,1
Print "EuroCalc, ver. 1.0"
Locate 3,5
Print "(1) - EUR to FIM"
Locate 4,5
Print "(2) - FIM To EUR"
Locate 5,5
Print "(3) - Exit"
If KeyHit(cbkey1) Then Goto eurfim
If KeyHit(cbkey2) Then Goto fimeur
If KeyHit(cbkey3) Then End
Forever
eurfim:
luku# = Input("Anna luku ")
Locate 7,5
Print luku# * euro#
Print "paina mitä tahansa näppäintä..."
WaitKey
Cls
Goto alku
fimeur:
luku# = Input("Anna luku ")
Locate 7,5
Print luku# / euro#
Print "paina mitä tahansa näppäintä..."
WaitKey
Cls
Goto alku
Näpyttelin tässä aikani kuluksi eurolaskurin CoolBasicilla, mutta en
saa sitä toimimaan. Ohjelma toimii muuten hyvin, mutta kun sen pitäisi
muuntaa markat euroiksi / eurot markoiksi, se antaa tulokseksi "0.0".
Tietääkö joku, mitä tein väärin?
Tässä lähdekoodi:
euro# = 5.94573
Cls
alku:
Repeat
Locate 1,1
Print "EuroCalc, ver. 1.0"
Locate 3,5
Print "(1) - EUR to FIM"
Locate 4,5
Print "(2) - FIM To EUR"
Locate 5,5
Print "(3) - Exit"
If KeyHit(cbkey1) Then Goto eurfim
If KeyHit(cbkey2) Then Goto fimeur
If KeyHit(cbkey3) Then End
Forever
eurfim:
luku# = Input("Anna luku ")
Locate 7,5
Print luku# * euro#
Print "paina mitä tahansa näppäintä..."
WaitKey
Cls
Goto alku
fimeur:
luku# = Input("Anna luku ")
Locate 7,5
Print luku# / euro#
Print "paina mitä tahansa näppäintä..."
WaitKey
Cls
Goto alku
Vastaukset 2
Vanhimmat
Pikaisen 5 min Coolbasin opiskelun jälkeen luku# voi siis sisältää desimaaliarvoja, ja Input lukee tekstiä. Kai Input osaa muuntaa annetun tekstin suoraan desimaaliluvuksi ? Entäs jos teet apumuuttujan ennen tulostusta ja tulostat sen: a# = luku# * euro# (jos vaikka Print ei tajua laskea tulosta ennen tulostusta tms.).
Inputissa se vika oli, kiitos vinkistä.
Tässä korjattu rivi:
luku# = Int(Input("Anna luku "))