Tällä rästitehtävällä voit korvata kierroksen 9. Kierros 9 ei ole pakollinen, mutta harjoitustehtävistä ei voi saada arvosanaa 2 parempaa arvosanaa, jos kierrokselta 9 ei ole minimipisteitä. Tällä rästitehtävällä ei voi korvata mitään muuta harjoituskierrosta. Jotta rästitehtävä korvaisi tehtäväkierroksen 9, siitä on saatava vähintään 300 pistettä. Vaikka saisit tehtävästä enemmän pisteitä, niin harjoitustehtäväarvosanaa määrättäessä tällä tehtävällä korvatun kierroksen pistemääräksi lasketaan kuitenkin vain korvattavan kierroksen minimipistemäärä.
Tee Eclipseen uusi projekti, jonka nimi on tehtava10_4. Luo sitten tähän projektiin moduulit harjoitusryhma ja ryhmakayttoliittyma, jotka on selitetty tarkemmin alempana. Tehtävässä siis kirjoitetaan ja palautetaan kaksi eri moduulia, jotka kuuluvat molemmat samaan projektiin.
Kirjoita moduuliin harjoitusryhma luokka Harjoitusryhma. Luokkaa käytetään erään kurssin yhden harjoitusryhmän kuvaamiseen. Luokalla on seuraavat kentät:
Kirjoita sitten luokkaan seuraavat metodit
H1
:
Ryhma H1, opiskelijoita 3/5.
Moduuli ryhmakayttoliittyma sisältää ohjelman, jonka avulla käyttäjä voi luoda Harjoitusryhma-olion ja käyttää Harjoitusryhma-luokan metodeita. Voit katsoa mallia tehtävässä 9.3 annetusta heittajatesti-moduulista. Huomaa kuitenkin, että mahdolliset toiminnot ovat tässä tehtävässä vähän erilaisia. Erityisesti ryhmakayttoliittyma-moduuliin kirjoitettava ohjelma käsittelee vain yhtä harjoitusryhmää, kun taas heittajatesti-moduulissa oleva ohjelma käsittelee useita keihäänheittäjiä.
Aluksi ryhmakayttoliittyma-moduulissa oleva ohjelma pyytää käyttäjältä perustettavan harjoitusryhmän nimen ja maksimikoon. Jos käyttäjä ei anna ryhmän kooksi kelvollista kokonaislukua, uutta lukua pyydetään niin kauan, että käyttäjä antaa kelvollisen luvun. Sen jälkeen ohjelma tulostaa valikon, josta käyttäjä voi valita haluamansa toiminnon (uuden opiskelijan lisäys ryhmään, opiskelijan indeksin haku, opiskelijan poisto ryhmästä, ryhmän opiskelijoiden tulostus, ryhmän tietojen tulostus ja ohjelman lopetus). Ohjelma suorittaa käyttäjän valitseman toiminnon ja pyytää sitä varten tarvittavat lisätiedot. Opiskelijan lisäyksen ja poiston jälkeen kerrotaan käyttäjälle, onnistuiko lisäys tai poisto. Katso tarkemmin esimerkkiajoista, millainen ohjelman tulostuksen pitää olla eri tilanteissa.
Kun käyttäjälle tulostetaan valikko mahdollisista toiminnoista, aloitetaan tulostus aina tyhjällä rivillä. Jos käyttäjä valitsee jonkun muun toiminnon kuin annetut vaihtoehdot 1-6, ohjelma vain tulostaa valikon uudelleen. Kun ohjelman suoritus loppuu, käyttäjlle tulostetaan vielä
Ohjelman suoritus paattyy.
Moduuliin ryhmakayttoliittyma kirjoitetun ohjelman rakennetta ei ole tässä määrätty sen tarkemmin, vaan voit itse suunnitella, mitä funktioita tarvitset. Älä kuitenkaan kirjoita koko ohjelmaa yhteen pääohjelmaan, vaan jaa ohjelma eri funktioihin.
Palauta Gobliniin tiedosto harjoitusryhma.py ja ryhmakayttoliittyma.py.
Huomautus: Ohjelmaa voi laajentaa siten, että käyttöliittymässä on mahdollisuus luoda useita harjoitusryhmiä ja tallentaa niiden tietoja tiedostoon ohjelman eri suorituskertojen välillä. Sitä ei ole kuitenkaan vaadittu tässä tehtävässä, jotta tehtävän työmäärä pysyisi kohtuullisena.
[ohjelman suoritus alkaa] Anna ryhman nimi. H1 Anna ryhman maksimikoko. 5 Valitse toiminto: 1. Lisaa opiskelija ryhmaan 2. Hae opiskelija 3. Poista opiskelija ryhmasta 4. Tulosta ryhman opiskelijat 5. Tulosta ryhman tiedot 6. Lopeta ohjelma. 1 Anna uuden opiskelijan nimi. Aalto Anna Lisays onnistui! Valitse toiminto: 1. Lisaa opiskelija ryhmaan 2. Hae opiskelija 3. Poista opiskelija ryhmasta 4. Tulosta ryhman opiskelijat 5. Tulosta ryhman tiedot 6. Lopeta ohjelma. 1 Anna uuden opiskelijan nimi. Virtanen Ville Lisays onnistui! Valitse toiminto: 1. Lisaa opiskelija ryhmaan 2. Hae opiskelija 3. Poista opiskelija ryhmasta 4. Tulosta ryhman opiskelijat 5. Tulosta ryhman tiedot 6. Lopeta ohjelma. 1 Anna uuden opiskelijan nimi. Lahtinen Kalle Lisays onnistui! Valitse toiminto: 1. Lisaa opiskelija ryhmaan 2. Hae opiskelija 3. Poista opiskelija ryhmasta 4. Tulosta ryhman opiskelijat 5. Tulosta ryhman tiedot 6. Lopeta ohjelma. 1 Anna uuden opiskelijan nimi. Aalto Anna Lisays ei onnistunut! Valitse toiminto: 1. Lisaa opiskelija ryhmaan 2. Hae opiskelija 3. Poista opiskelija ryhmasta 4. Tulosta ryhman opiskelijat 5. Tulosta ryhman tiedot 6. Lopeta ohjelma. 5 Ryhma H1, opiskelijoita 3/5. Valitse toiminto: 1. Lisaa opiskelija ryhmaan 2. Hae opiskelija 3. Poista opiskelija ryhmasta 4. Tulosta ryhman opiskelijat 5. Tulosta ryhman tiedot 6. Lopeta ohjelma. 4 Aalto Anna Virtanen Ville Lahtinen Kalle Valitse toiminto: 1. Lisaa opiskelija ryhmaan 2. Hae opiskelija 3. Poista opiskelija ryhmasta 4. Tulosta ryhman opiskelijat 5. Tulosta ryhman tiedot 6. Lopeta ohjelma. 1 Anna uuden opiskelijan nimi. Aalto Antti Lisays onnistui! Valitse toiminto: 1. Lisaa opiskelija ryhmaan 2. Hae opiskelija 3. Poista opiskelija ryhmasta 4. Tulosta ryhman opiskelijat 5. Tulosta ryhman tiedot 6. Lopeta ohjelma. 2 Anna haettavan opiskelijan nimi. Virtanen Kalle Opiskelija ei ole ryhmassa. Valitse toiminto: 1. Lisaa opiskelija ryhmaan 2. Hae opiskelija 3. Poista opiskelija ryhmasta 4. Tulosta ryhman opiskelijat 5. Tulosta ryhman tiedot 6. Lopeta ohjelma. 2 Anna haettavan opiskelijan nimi. Virtanen Ville Opiskelija on ryhmassa indeksilla 1. Valitse toiminto: 1. Lisaa opiskelija ryhmaan 2. Hae opiskelija 3. Poista opiskelija ryhmasta 4. Tulosta ryhman opiskelijat 5. Tulosta ryhman tiedot 6. Lopeta ohjelma. 1 Anna uuden opiskelijan nimi. Nieminen Nina Lisays onnistui! Valitse toiminto: 1. Lisaa opiskelija ryhmaan 2. Hae opiskelija 3. Poista opiskelija ryhmasta 4. Tulosta ryhman opiskelijat 5. Tulosta ryhman tiedot 6. Lopeta ohjelma. 5 Ryhma H1, opiskelijoita 5/5. Valitse toiminto: 1. Lisaa opiskelija ryhmaan 2. Hae opiskelija 3. Poista opiskelija ryhmasta 4. Tulosta ryhman opiskelijat 5. Tulosta ryhman tiedot 6. Lopeta ohjelma. 4 Aalto Anna Virtanen Ville Lahtinen Kalle Aalto Antti Nieminen Nina Valitse toiminto: 1. Lisaa opiskelija ryhmaan 2. Hae opiskelija 3. Poista opiskelija ryhmasta 4. Tulosta ryhman opiskelijat 5. Tulosta ryhman tiedot 6. Lopeta ohjelma. 1 Anna uuden opiskelijan nimi. Lahti Maija Lisays ei onnistunut! Valitse toiminto: 1. Lisaa opiskelija ryhmaan 2. Hae opiskelija 3. Poista opiskelija ryhmasta 4. Tulosta ryhman opiskelijat 5. Tulosta ryhman tiedot 6. Lopeta ohjelma. 3 Anna poistettavan opiskelijan nimi. Lahti Matti Poisto ei onnistunut! Valitse toiminto: 1. Lisaa opiskelija ryhmaan 2. Hae opiskelija 3. Poista opiskelija ryhmasta 4. Tulosta ryhman opiskelijat 5. Tulosta ryhman tiedot 6. Lopeta ohjelma. 3 Anna poistettavan opiskelijan nimi. Virtanen Ville Poisto onnistui! Valitse toiminto: 1. Lisaa opiskelija ryhmaan 2. Hae opiskelija 3. Poista opiskelija ryhmasta 4. Tulosta ryhman opiskelijat 5. Tulosta ryhman tiedot 6. Lopeta ohjelma. 5 Ryhma H1, opiskelijoita 4/5. Valitse toiminto: 1. Lisaa opiskelija ryhmaan 2. Hae opiskelija 3. Poista opiskelija ryhmasta 4. Tulosta ryhman opiskelijat 5. Tulosta ryhman tiedot 6. Lopeta ohjelma. 4 Aalto Anna Lahtinen Kalle Aalto Antti Nieminen Nina Valitse toiminto: 1. Lisaa opiskelija ryhmaan 2. Hae opiskelija 3. Poista opiskelija ryhmasta 4. Tulosta ryhman opiskelijat 5. Tulosta ryhman tiedot 6. Lopeta ohjelma. 1 Anna uuden opiskelijan nimi. Lahti Maija Lisays onnistui! Valitse toiminto: 1. Lisaa opiskelija ryhmaan 2. Hae opiskelija 3. Poista opiskelija ryhmasta 4. Tulosta ryhman opiskelijat 5. Tulosta ryhman tiedot 6. Lopeta ohjelma. 2 Anna haettavan opiskelijan nimi. Lahti Maija Opiskelija on ryhmassa indeksilla 4. Valitse toiminto: 1. Lisaa opiskelija ryhmaan 2. Hae opiskelija 3. Poista opiskelija ryhmasta 4. Tulosta ryhman opiskelijat 5. Tulosta ryhman tiedot 6. Lopeta ohjelma. 2 Anna haettavan opiskelijan nimi. Lahti Matti Opiskelija ei ole ryhmassa. Valitse toiminto: 1. Lisaa opiskelija ryhmaan 2. Hae opiskelija 3. Poista opiskelija ryhmasta 4. Tulosta ryhman opiskelijat 5. Tulosta ryhman tiedot 6. Lopeta ohjelma. 6 Ohjelman suoritus paattyy. [ohjelman suoritus päättyy]
[ohjelman suoritus alkaa, kokoa ei anneta aluksi oikein] Anna ryhman nimi. R3 Anna ryhman maksimikoko. enpas annakaan Virheellinen kokonaisluku! Anna ryhman maksimikoko. roskaa Virheellinen kokonaisluku! Anna ryhman maksimikoko. 6.0 Virheellinen kokonaisluku! Anna ryhman maksimikoko. 5 Valitse toiminto: 1. Lisaa opiskelija ryhmaan 2. Hae opiskelija 3. Poista opiskelija ryhmasta 4. Tulosta ryhman opiskelijat 5. Tulosta ryhman tiedot 6. Lopeta ohjelma. 5 Ryhma R3, opiskelijoita 0/5. Valitse toiminto: 1. Lisaa opiskelija ryhmaan 2. Hae opiskelija 3. Poista opiskelija ryhmasta 4. Tulosta ryhman opiskelijat 5. Tulosta ryhman tiedot 6. Lopeta ohjelma. 6 Ohjelman suoritus paattyy. [ohjelman suoritus päättyy]
[ohjelman suoritus alkaa, käyttäjä antaa negatiivisen koon] Anna ryhman nimi. Harjoitus 1 Anna ryhman maksimikoko. -5 Valitse toiminto: 1. Lisaa opiskelija ryhmaan 2. Hae opiskelija 3. Poista opiskelija ryhmasta 4. Tulosta ryhman opiskelijat 5. Tulosta ryhman tiedot 6. Lopeta ohjelma. 5 Ryhma Harjoitus 1, opiskelijoita 0/0. Valitse toiminto: 1. Lisaa opiskelija ryhmaan 2. Hae opiskelija 3. Poista opiskelija ryhmasta 4. Tulosta ryhman opiskelijat 5. Tulosta ryhman tiedot 6. Lopeta ohjelma. 1 Anna uuden opiskelijan nimi. Aalto Anna Lisays ei onnistunut! Valitse toiminto: 1. Lisaa opiskelija ryhmaan 2. Hae opiskelija 3. Poista opiskelija ryhmasta 4. Tulosta ryhman opiskelijat 5. Tulosta ryhman tiedot 6. Lopeta ohjelma. 6 Ohjelman suoritus paattyy. [ohjelman suoritus päättyy]
Värikoodit:
Sininen: Syöte käyttäjältä
Vihreä: Ohjelman tuloste
Punainen: Erityishuomatus: ei tulosteta