Tässä tehtävässä harjoitellaan erityisesti seuraavia asioita:
Tee Eclipseen uusi projekti, jonka nimi on tehtava7_2, ja siihen moduuli myyntirekisteri. Kirjoita moduuliin ohjelma, jonka avulla yritys voi pitää kirjaa eri myyntiedustajiensa myyntien kokonaissummista.
Myyntirekisteri toteutetaan sanakirjarakenteen avulla. Siinä avaimena toimii myyntiedustajan nimi (oletetaan, että yrityksessä ei ole useita samannimisiä myyntiedustajia) ja avaimeen liittyvänä arvona ko. edustajan kokonaismyynti tähän mennessä. Sinun tehtävänäsi on kirjoittaa ohjelma, jonka avulla käyttäjä voi syöttää rekisteriin uusia myyntitapahtumia, kysyä yhden edustajan kokonaismyyntiä ja kaikkien rekisterissä olevien myyntiedustajien yhteismyyntiä.
Ohjelman alussa luodaan myyntirekisteriä varten tyhjä sanakirjarakenne. Tämän jälkeen ohjelma pyytää käyttäjää valitsemaan toiminnon seuraavasta listasta:
1. Lisaa myyntitapahtuma 2. Kerro edustajan myynti 3. Laske kaikkien yhteismyynti 4. LopetaKäyttäjän valinnan mukaan ohjelma suorittaa halutun toiminnon. Eri toiminnot kuvataan tarkemmin alla.
Mahdolliset toiminnot:
Käyttäjälle annettava valikko kannattaa tulostaa
print
-käskyllä. Tämän jälkeen käyttäjän valinta luetaan
raw_input
-käskyllä, jolle ei ole annettu lainkaan
tulostettavaa kehotetta (ei edes rivinvaihtomerkkiä). Voit katsoa
mallia esimerkiksi 3.2. pidetyn luennon luentokalvojen
valikko-ohjelmaesimerkistä. (Tosin luettua valintaa ei tarvitse
välttämättä muuttaa kokonaisluvuksi, kuten esimerkissä oli tehty, koska
tuossa vaiheessa kurssilla ei oltu vielä opetettu merkkijonojen vertailua.)
Ohjelma tallentaa nimet siinä muodossa kuin käyttäjä on ne antanut. Jos esimerkiksi käyttäjä on antanut nimen muodossa "pekka", niin sitä ei löydetä haettaessa nimeä "Pekka".
Ohjelman rakennetta ei ole tässä määrätty sen tarkemmin, vaan saat itse suunnitella, mitä funktioita kirjoitat ohjelmaasi. Älä kuitenkaan kirjoita koko ohjelmaa yhdeksi pääohjelmaksi, vaan käytä myös muita funktioita järkevästi. Esimerkiksi eri toimintoja (myyntitapahtuman lisäys jne.) varten kannattaa kirjoittaa omat funktionsa, jotka saavat parametrina käytettävän sanakirjarakenteen.
Testaa ohjelmaasi ajamalla sitä monta kertaa itse ennen palautusta. Palauta Gobliniin tiedosto myyntirekisteri.py.
Vinkki: halutessasi voit testausvaiheessa lisätä ohjelmaan
ylimäräisen valinnan, joka vain tulostaa myyntirekisterin sisällön
yhdellä print
-käskyllä. Tämän avulla on helpompi testata
sitä, onko rekisterin sisältö eri vaiheissa se, mikä sen pitäisi
olla. Poista kuitenkin tämä valinta ennen kuin palautat ohjelman
Gobliniin.
Huomautus: ohjelmasta tulee huomattavasti käyttökelpoisempi, jos myyntirekisterin tiedot luetaan ohjelman alussa jostain tiedostosta ja tallennetaan ohjelman päätyttyä tiedostoon. Näin tiedot säilyvät ohjelman eri suorituskertojen välillä. Tätä ei kuitenkaan vaadita tässä tehtävässä.
[ohjelman suoritus alkaa] Myyntirekisteri - valitse toiminto: 1. Lisaa myyntitapahtuma 2. Kerro edustajan myynti 3. Laske kaikkien yhteismyynti 4. Lopeta 1 Anna myyntiedustajan nimi. Essi Edustaja Anna myyntitapahtuman arvo. 5000.0 Lisattiin rekisteriin uusi myyntiedustaja. Myyntirekisteri - valitse toiminto: 1. Lisaa myyntitapahtuma 2. Kerro edustajan myynti 3. Laske kaikkien yhteismyynti 4. Lopeta 1 Anna myyntiedustajan nimi. Essi Edustaja Anna myyntitapahtuman arvo. 8000.0 Arvo lisattiin edustajan Essi Edustaja kokonaismyyntiin. Myyntirekisteri - valitse toiminto: 1. Lisaa myyntitapahtuma 2. Kerro edustajan myynti 3. Laske kaikkien yhteismyynti 4. Lopeta 1 Anna myyntiedustajan nimi. Markku Myyntitykki Anna myyntitapahtuman arvo. 10000.0 Lisattiin rekisteriin uusi myyntiedustaja. Myyntirekisteri - valitse toiminto: 1. Lisaa myyntitapahtuma 2. Kerro edustajan myynti 3. Laske kaikkien yhteismyynti 4. Lopeta 2 Kenen kokonaismyynnin haluat tietaa? Markku Myyntitykki Edustajan kokonaismyynti on 10000.00 euroa. Myyntirekisteri - valitse toiminto: 1. Lisaa myyntitapahtuma 2. Kerro edustajan myynti 3. Laske kaikkien yhteismyynti 4. Lopeta 2 Kenen kokonaismyynnin haluat tietaa? Mika Myyja Myyjaa ei ole rekisterissa. Myyntirekisteri - valitse toiminto: 1. Lisaa myyntitapahtuma 2. Kerro edustajan myynti 3. Laske kaikkien yhteismyynti 4. Lopeta 1 Anna myyntiedustajan nimi. Markku Myyntitykki Anna myyntitapahtuman arvo. 3500.0 Arvo lisattiin edustajan Markku Myyntitykki kokonaismyyntiin. Myyntirekisteri - valitse toiminto: 1. Lisaa myyntitapahtuma 2. Kerro edustajan myynti 3. Laske kaikkien yhteismyynti 4. Lopeta 2 Kenen kokonaismyynnin haluat tietaa? Essi Edustaja Edustajan kokonaismyynti on 13000.00 euroa. Myyntirekisteri - valitse toiminto: 1. Lisaa myyntitapahtuma 2. Kerro edustajan myynti 3. Laske kaikkien yhteismyynti 4. Lopeta 3 Kaikkien edustajien yhteismyynti on 26500.00 euroa. Myyntirekisteri - valitse toiminto: 1. Lisaa myyntitapahtuma 2. Kerro edustajan myynti 3. Laske kaikkien yhteismyynti 4. Lopeta 5 Myyntirekisteri - valitse toiminto: 1. Lisaa myyntitapahtuma 2. Kerro edustajan myynti 3. Laske kaikkien yhteismyynti 4. Lopeta 4 Ohjelma paattyy. [ohjelman suoritus päättyy]
Värikoodit:
Sininen: Syöte käyttäjältä
Vihreä: Ohjelman tuloste
Punainen: Erityishuomatus: ei tulosteta