Ohjelmointi 2 - 2008 -kurssin harjoitustyö ========================================= Vesa Lappalainen (vesal@mit.jyu.fi) Kerhon jäsenrekisteri alla 500 jäsenen käsittelemiseksi ======================================================== Mitä tietoja jäsenistä tarvitaan? - nimi - sotu - katuosoite - postinumero - postiosoite - kotipuhelin - työpuhelin - autopuhelin - liittymisvuosi - tämän vuoden maksetun jäsenmaksun suuruus - lisätietoja jne... Mitä ominaisuuksia rekisteriltä halutaan? - kerholaisten lisääminen - kerholaisten poistaminen - tietyn kerholaisen tietojen hakeminen - tietyn kerholaisen tietojen muuttaminen - postitustarrat postinumerojärjestyksessä - nimilista nimen mukaisessa järjestyksessä - lista jäsenmaksua maksamattomista jäsenistä jne... =================================================================================== Ohjelman tiedot talletetaan seuraavanlaisiin tiedostoihin: kelmit.dat - relaatiokannan päätaulu Kelmien kerho ry ; Kenttien järjestys tiedostossa on seuraava: ;id|sukunimi etunimi |sotu |katuosoite |postinumero|postiosoite|kotipuhelin|työpuhelin| 1 |Ankka Aku |010245-123U|Ankkakuja 6 |12345 |ANKKALINNA |12-12324 | | 2 |Susi Sepe |020347-123T| |12555 |Takametsä | | | 4 |Ponteva Veli |030455-3333| |12555 |Takametsä | | | Harrastukset kirjoitetaan toiseen tiedostoon, jossa tunnusnumerolla ilmaistaan kuka harrastaa mitäkin harrastusta. harrastu.dat - harrasteet relaation avulla id|harrastus |aloit |viikossa 1 |kalastus | 1955 | 20 1 |laiskottelu | 1950 | 20 1 |työn pakoilu | 1952 | 40 2 |possujen jahtaaminen | 1954 | 20 2 |kelmien kerho | 1962 | 2 4 |susiansojen rakentaminen | 1956 | 15 ================================================================================= Ohjelman käyttöesimerkki ================================================================================= Kun ohjelma käynnistyy, tulostuu näyttöön: ################################### # J Ä S E N R E K I S T E R I # # versio 9.95 # # Hannu Hanhi # ################################### Tällä ohjelmalla ylläpidetään kerhon jäsenrekisteriä. Anna kerhon nimi>KERMIT[RET] Kerhon KERMIT tietoja ei ole! Luodaanko tiedot (K/e):e Anna kerhon nimi>KELMIT[RET] Odota hetki, luetaan tietoja... Jäsenrekisteri ============== Kerhossa KELMIT on 52 jäsentä. Valitse: 0 = lopetus 1 = lisää uusi jäsen 2 = etsi jäsenen tiedot 3 = tulosteet 4 = tietojen korjailu 5 = päivitä jäsenmaksuja :_ 1. Uuden jäsenen lisäys ======================= Jäseniä on nyt 52. Anna uusi nimi muodossa sukunimi etunimi etunimi Jäsenen nimi () >Ankka Aku[RET] Rekisterissä on jo jäsen Aku Ankka! Mikäli haluat muuttaa hänen tietojaan, valitse tietojen korjailu päävalikosta! Jäsenen nimi () >ANKKA TUPU[RET] Sotu () >012356-1257[RET] Sotu mieletön tai tarkistusmerkki väärin (N)! Sotu (012356-125N) >010356-125J[RET] Katuosoite () >Ankkakuja 6[RET] Postinumero (12345) >[RET] Postiosoite (ANKKALINNA) >[RET] Kotipuhelin () >12-12324[RET] Työpuhelin () >[RET] Autopuhelin () >[RET] Liittymisvuosi (91) >91[RET] Jäsenmaksu mk (50) >10[RET] Lisätietoja () >Aku Ankan veljenpoika[RET] Lisätäänkö Ankka Tupu 010356-125J Ankkakuja 6 12345 ANKKALINNA k: 12-12324 t: a: Liittynyt -91. Jäsenmaksu 10 mk. Aku Ankan veljenpoika :k Jäseniä on nyt 53. Anna uusi nimi muodossa sukunimi etunimi etunimi Jäsenen nimi () >[RET] Jäsenrekisteri ============== Jäsenrekisteri ============== Kerhossa KELMIT on 53 jäsentä. Valitse: 0 = lopetus 1 = lisää uusi jäsen 2 = etsi jäsenen tiedot 3 = tulosteet 4 = tietojen korjailu 5 = päivitä jäsenmaksuja :2 2. Etsi jäsenen tiedot ====================== Nykyinen henkilö: Ankka Lupu 010356-127L Ankkakuja 6 12345 ANKKALINNA k: 12-12324 t: a: Liittynyt -91. Jäsenmaksu 10 mk. Aku Ankan veljenpoika, sudenpentu Valitse kenttä jonka mukaan etsitään (?=kenttälista uudel.) :? 1 = nimi 2 = sotu 3 = katuosoite 4 = postinumero 5 = postiosoite 6 = kotipuhelin 7 = työpuhelin 8 = autopuhelin 9 = liittymisvuosi A = jäsenmaksu mk B = lisätietoja Valitse kenttä jonka mukaan etsitään (?=kenttälista uudel.) :1 Jäsenen nimi (Ankka Lupu) >*ANKKA*[RET] Tähän täsmää 3 jäsentä: Ankka Aku 010245-123U Ankkakuja 6 12345 ANKKALINNA k: 12-12324 t: a: Liittynyt -91. Jäsenmaksu 50 mk. velkaa Roopelle Valitse kenttä jonka mukaan etsitään (?=kenttälista uudel.), + = seuraava (2):+ Ankka Lupu 010356-127L Ankkakuja 6 12345 ANKKALINNA k: 12-12324 t: a: Liittynyt -91. Jäsenmaksu 10 mk. Aku Ankan veljenpoika, sudenpentu Valitse kenttä jonka mukaan etsitään (?=kenttälista uudel.), + = seuraava (1), - = edellinen (1):[RET] Jäsenrekisteri ============== Kerhossa KELMIT on 53 jäsentä. Valitse: 0 = lopetus 1 = lisää uusi jäsen 2 = etsi jäsenen tiedot 3 = tulosteet 4 = tietojen korjailu 5 = päivitä jäsenmaksuja :3 3. Tulosteet ============ ..... Jäsenrekisteri ============== Kerhossa KELMIT on 53 jäsentä. Valitse: 0 = lopetus 1 = lisää uusi jäsen 2 = etsi jäsenen tiedot 3 = tulosteet 4 = tietojen korjailu 5 = päivitä jäsenmaksuja :4 4. Tietojen korjailu ===================== Korjailtava henkilö: Ankka Lupu 010356-127L Ankkakuja 6 12345 ANKKALINNA k: 12-12324 t: a: Liittynyt -91. Jäsenmaksu 10 mk. Aku Ankan veljenpoika, sudenpentu Valitse kenttä jonka mukaan etsitään (?=kenttälista uudel.) tai poisto (P) tai korjailu (K) :1 Jäsenen nimi (Ankka Lupu) >*aku*[RET] Tähän täsmää 1 jäsentä: Ankka Aku 010245-123U Ankkakuja 6 12345 ANKKALINNA k: 12-12324 t: a: Liittynyt -91. Jäsenmaksu 50 mk. velkaa Roopelle Valitse kenttä jonka mukaan etsitään (?=kenttälista uudel.) P = poisto, K = korjailu:p Haluatko todellakin poistaa jäsenen Ankka Aku (k/E):e Valitse kenttä jonka mukaan etsitään (?=kenttälista uudel.) P = poisto, K = korjailu:k Jäsenen nimi (Ankka Aku) >[RET] Sotu (010245-123U) >[RET] Katuosoite (Ankkakuja 6) >Ankkakuja 13[RET] Postinumero (12345) >[RET] Postiosoite (ANKKALINNA) >[RET] Kotipuhelin (12-12324) >12-12325[RET] Työpuhelin () >12-33333[RET] Autopuhelin () >[RET] Liittymisvuosi (91) >[RET] Jäsenmaksu mk (50) >[RET] Lisätietoja (velkaa Roopelle) >[RET] Ankka Aku 010245-123U Ankkakuja 13 12345 ANKKALINNA k: 12-12325 t: 12-33333 a: Liittynyt -91. Jäsenmaksu 50 mk. velkaa Roopelle Valitse kenttä jonka mukaan etsitään (?=kenttälista uudel.) P = poisto, K = korjailu:[RET] Jäsenrekisteri ============== Kerhossa KELMIT on 53 jäsentä. Valitse: 0 = lopetus 1 = lisää uusi jäsen 2 = etsi jäsenen tiedot 3 = tulosteet 4 = tietojen korjailu 5 = päivitä jäsenmaksuja :5 5. Päivitä jäsenmaksuja ======================= Valitse: ? = avustus 0 = takaisin päävalintaan 1 = poista kaikki edellisen vuoden maksut 2 = kysy maksettu maksu nimen mukaan :1 Poistetaan kaikki edellisen vuoden jäsenmaksut! Poistetaan siis kaikki maksetut jäsenmaksut (K/e):K Odota hetki... Jäsenmaksut poistettu! Valitse: ? = avustus 0 = takaisin päävalintaan 1 = poista kaikki edellisen vuoden maksut 2 = kysy maksettu maksu nimen mukaan :2 Muutetaan maksettuja jäsenmaksuja! ================================== Jos haluat kaikki jäsenet, anna * Kysely loppuu, mikäli annat maksuksi q Jäsenen nimi () >*[RET] Ankka Aku 010245-123U Ankkakuja 13 12345 ANKKALINNA k: 12-12325 t: 12-33333 a: Liittynyt -91. Jäsenmaksu 50 mk. Maksettu mk. velkaa Roopelle Maksettu maksu mk () >[RET] Ankka Lupu 010356-127L c/o Aku Ankka (Ankkakuja 13 12345 ANKKALINNA) k: 12-12324 t: a: Liittynyt -91. Jäsenmaksu 10 mk. Maksettu mk. Aku Ankan veljenpoika, sudenpentu Maksettu maksu () >10[RET] ... Jatkuu näin kunnes kaikki käyty läpi ... ... Tai vastataan ... Maksettu maksu mk () >q[RET] Jäsenen nimi () >*aku*[RET] Ankka Aku 010245-123U Ankkakuja 13 12345 ANKKALINNA k: 12-12324 t: a: Liittynyt -91. Jäsenmaksu 50 mk. Maksettu mk. velkaa Roopelle Maksettu maksu () >40[RET] Pitäisi maksaa 50 mk ja on maksanut 40 mk. Onko oikein (K/e):e Maksettu maksu mk () >50[RET] Jäsenen nimi () >[RET] Valitse: ? = avustus 0 = takaisin päävalintaan 1 = poista kaikki edellisen vuoden maksut 2 = kysy maksettu maksu nimen mukaan :0 ... 0. Lopetus ========== Jäsenrekisteri ============== Kerhossa KELMIT on 53 jäsentä. Valitse: 0 = lopetus 1 = lisää uusi jäsen 2 = etsi jäsenen tiedot 3 = tulosteet 4 = tietojen korjailu 5 = päivitä jäsenmaksuja :0 ################################### # J Ä S E N R E K I S T E R I # # versio 9.95 # # Hannu Hanhi # ################################### Tiedot talletettu tiedostoon KELMIT.DAT Vanhat tiedot tiedostossa KELMIT.BAK KIITOS KÄYTÖSTÄ JA TERVETULOA UUDELLEEN