Kierros 4, tehtävä 1

Valuuttalaskuri (150 p)

Tässä tehtävässä harjoitellaan erityisesti seuraavia asioita:

Tee Eclipseen uusi projekti, jonka nimi on tehtava4_1, ja tähän projektiin moduuli valuuttalaskuri. Kirjoita moduuliin alla olevan kuvauksen mukainen ohjelma, jonka avulla voidaan laskea eri maiden valuutoissa annettujen rahasummien arvoja euroina.

Kirjoita ohjelmaan funktio muunna_valuutta, joka kysyy käyttäjältä, missä valuutassa annetun rahasumman arvon hän haluaa laskea. Tämän jälkeen funktio pyytää tarvittavan muuntokertoimen (yhden euron arvon annetussa valuutassa) ja muunnettavan rahasumman annetussa valuutassa. Funktio laskee rahasumman arvon euroina ja tulostaa sekä alkuperäisen rahasumman että euroarvon kahden desimaalin tarkkuudella. (Saat tulostuksesta esimerkkiajon mukaisen, kun vielä lisäät tulostuksessa annetun valuutan nimen perään a-kirjaimen. Käytä nimen tulostuksessa muotoiltua tulostusta ja %s-muotoilukoodia.)

Kirjoita tämän jälkeen pääohjelma, joka kutsuu muunna_valuutta-funktiota. Kun funktio on suoritettu kerran, pääohjelma kysyy käyttäjältä, haluaako hän jatkaa ohjelman suoritusta. Jos käyttäjä haluaa jatkaa, hän antaa 1:sen; jos käyttäjä ei halua jatkaa, hän antaa 0:n. Kirjoita kuitenkin pääohjelma niin, että ohjelma jatkuu aina, kun käyttäjä antaa jonkun muun kokonaisluvun kuin 0. Jos käyttäjä haluaa jatkaa ohjelman suoritusta, funktiota muunna_valuutta kutsutaan uudelleen. Tätä toistetaan niin kauan, kunnes käyttäjä ei enää halua jatkaa.

Huomaa, että kaikki tarvittavat tiedot pyydetään (jatkokysymystä lukuunottamatta) ja tulostetaan funktiossa muunna_valuutta. Funktiolla ei siis ole parametreja eikä se palauta mitään arvoa. Pääohjelmassa ainoastaan kutsutaan funktiota sekä kysytään, haluaako käyttäjä jatkaa ohjelman suoritusta. Lisäksi pääohjelma tulostaa "Ohjelman suoritus paattyy." siinä vaiheessa, kun käyttäjä ei enää halua jatkaa ohjelman suoritusta.

Vinkki: Voit kirjoittaa ensin pyydetyn funktion ja pääohjelman, joka kutsuu pyydettyä funktiota ainoastaan kerran. (Tällaista ratkaisua ei voi vielä palauttaa Goblinille, mutta voit itse testata ohjelman toimintaa ajamalla sitä Eclipsessä.) Kun olet saanut tämän ohjelman toimimaan oikein, lisää pääohjelmaan toistokäsky, joka kysyy, haluaako käyttäjä jatkaa ohjelman suoritusta.

Ohjelmasi ei tarvitse varautua siihen, että käyttäjä antaa sille virheellisiä syötteitä. Testaa ohjelmaasi useita kertoja eri arvoilla ajamalla sitä itse Eclipsessä, ennen kuin palautat ratkaisusi Gobliniin. Palauta Gobliniin tiedosto valuuttalaskuri.py.

Esimerkki ohjelman suorituksesta:

[ohjelman suoritus alkaa]
Tama ohjelma muuntaa eri maiden rahasummia euroiksi.
Minka valuutan arvon haluat laskea?
dollari
Anna muuntokerroin (euron arvo valuutassa).
1.4486
Anna muunnettava rahasumma.
150.0
150.00 dollaria on 103.55 euroa.
Haluatko jatkaa (1 = kylla / 0 = ei)?
1
Minka valuutan arvon haluat laskea?
punta
Anna muuntokerroin (euron arvo valuutassa).
0.8905
Anna muunnettava rahasumma.
26.8
26.80 puntaa on 30.10 euroa.
Haluatko jatkaa (1 = kylla / 0 = ei)?
1
Minka valuutan arvon haluat laskea?
Ruotsin kruunu
Anna muuntokerroin (euron arvo valuutassa).
10.171
Anna muunnettava rahasumma.
1500.0
1500.00 Ruotsin kruunua on 147.48 euroa.
Haluatko jatkaa (1 = kylla / 0 = ei)?
0
Ohjelman suoritus paattyy.
[ohjelman suoritus päättyy]

Värikoodit:
Sininen: Syöte käyttäjältä
Vihreä: Ohjelman tuloste
Punainen: Erityishuomatus: ei tulosteta