Kierros 2, tehtävä 4

Kokonaismyynnin laskeminen (200 p)

Tässä tehtävässä harjoitellaan edellisellä kierroksella opittujen asioiden lisäksi erityisesti seuraavia asoita:

Näitä asioita opetetaan 23.-25.1. pidettävillä luennoilla.

Tee Eclipsessä uusi projekti, jonka nimi on tehtava2_4. Luo sitten tähän projektiin moduuli myyntitiedot ja kirjoita siihen ohjelma, joka ratkaisee alla kuvatun ongelman.

Nettikauppa myy musiikkitiedostoja. Yhden tiedoston hinta on yleensä tasan 1 euroa, mutta jos asiakas ostaa kerralla 10-19 tiedostoa, saa hän 10 % alennuksen kokonaishinnasta. Jos asiakas ostaa kerralla vähintään 20 tiedostoa, saa hän 20 % alennuksen yhteishinnasta.

Kirjoita ohjelma, joka pyytää käyttäjää ensin syöttämään eri kerroilla myytyjen kappaleiden määrät. (Jos esim. ensimmäisen myyntikerran kappalemäärä on 19, tarkoittaa se sitä, että yksi asiakas on ostanut kerralla 19 musiikkitiedostoa.) Tämän jälkeen ohjelma laskee kaupan kokonaismyynnin arvon kaikista annetuista myyntikerroista yhteensä. Huomaa, että mahdollinen alennus lasketaan jokaisesta myyntikerrasta erikseen, ei kaikkien myyntikertojen yhteismäärästä. Katso alla olevasta esimerkkiajosta tarkemmin, millainen ohjelman tulostuksen pitää olla. Käyttäjä lopettaa tietojen antamisen antamalla negatiivisen luvun. Tätä lukua ei enää lasketa mukaan kokonaismyyntiin.

Vinkki: Ensimmäisen myyntikerran kappalemäärän lukeminen kannattaa sijoittaa ohjelmassa ennen toistokäskyä. Seuraava arvo kannattaa lukea toistokäskyn sisällä aina sen jälkeen, kun edellisen myyntikerran arvo on laskettu.

Ole tarkka siitä, että ohjelmasi tulostus on täsmälleen (välimerkkejä myöten) alla olevan mallin mukainen. Muista erityisesti lisätä rivinvaihtomerkki raw_input-käskyissä käyttäjälle annettavan pyynnön loppuun. (Näin ohjelman tarkastus Goblinilla sujuu ilman ylimääräisiä ongelmia.) Ohjelman tulostamia desimaalilukuja ei tarvitse muotoilla, vaan voit antaa ohjelman tulostaa luvut Python-tulkin käyttämällä oletustarkkuudella. Voit myös olettaa, että käyttäjä antaa myyntikertojen kappalemääriksi kokonaislukuja ja että käyttäjän antamat luvut ovat järkeviä.

Palauta Gobliniin tiedosto myyntitiedot.py.

Kaksi esimerkkiä ohjelman suorituksesta:

[ohjelman suoritus alkaa]
Anna eri myyntitapahtumien kappalemaarat.
Lopeta negatiivisella arvolla.
Anna ensimmaisen myyntikerran kappalemaara.
13
Anna seuraavan myyntikerran kappalemaara.
25
Anna seuraavan myyntikerran kappalemaara.
9
Anna seuraavan myyntikerran kappalemaara.
22
Anna seuraavan myyntikerran kappalemaara.
5
Anna seuraavan myyntikerran kappalemaara.
1
Anna seuraavan myyntikerran kappalemaara.
17
Anna seuraavan myyntikerran kappalemaara.
44
Anna seuraavan myyntikerran kappalemaara.
-2
Myynti yhteensa 114.8 euroa.
[ohjelman suoritus päättyy]

[ohjelman suoritus alkaa]
Anna eri myyntitapahtumien kappalemaarat.
Lopeta negatiivisella arvolla.
Anna ensimmaisen myyntikerran kappalemaara.
-12
Myynti yhteensa 0.0 euroa.
[ohjelman suoritus päättyy]

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