1 package kerho;
2 import fi.jyu.mit.ohj2.IO;
3
15 public class Naytto {
16
17
20 private Kerho kerho;
21
22
28 public Naytto(Kerho kerho) throws Exception {
29 if ( kerho == null ) throw new Exception("Kerho täytyy antaa!");
30 this.kerho = kerho;
31 }
32
33
38 private static void tulosta(String s, boolean printlf) {
39 System.out.print(s);
40 if ( printlf ) System.out.println();
41 }
42
43
47 private static void tulosta(String s) {
48 tulosta(s,true);
49 }
50
51
54 private void ei_toimi() {
55 tulosta("Ei toimi vielä!");
56 IO.odota_jotakin();
57 }
58
59
63 private void avustus(char valinta) {
64 tulosta("\n\n\n");
65 tulosta(valinta + ". Avustus");
66 tulosta( "===========");
67 ei_toimi();
68 }
69
70
74 private void lisaa_uusi_jasen(char valinta) {
75 tulosta("\n\n\n");
76 tulosta(valinta + ". Uuden jäsenen lisäys");
77 tulosta( "========================");
78 tulosta("");
79 ei_toimi();
80 }
81
82
83
87 private void etsi_jasenen_tiedot(char valinta)
88 {
89 tulosta("\n\n\n");
90 tulosta(valinta + ". Etsi jäsenen tiedot");
91 tulosta( "=======================");
92 ei_toimi();
93 }
94
95
96
100 private void tulosteet(char valinta) {
101 tulosta("\n\n\n");
102 tulosta(valinta + ". Tulosteet");
103 tulosta( "=============");
104 ei_toimi();
105 }
106
107
108
112 private void tietojen_korjailu(char valinta) {
113 tulosta("\n\n\n");
114 tulosta(valinta + ". Tietojen korjailu");
115 tulosta( "=====================");
116 ei_toimi();
117 }
118
119
120
124 private void paivita_jasenmaksuja(char valinta) {
125 tulosta("\n\n\n");
126 tulosta(valinta + ". Päivitä jäsenmaksuja");
127 tulosta( "========================");
128 ei_toimi();
129 }
130
131
132
135 private void paamenu() {
136 tulosta("\n\n\n\n");
137 tulosta("Jäsenrekisteri");
138 tulosta("==============");
139 tulosta("");
140 tulosta("Kerhossa " + kerho.getNimi()+ " on " +
141 kerho.getJasenia() + " jäsentä.");
142 tulosta("");
143 tulosta("Valitse:");
144 tulosta(" ? = avustus");
145 tulosta(" 0 = lopetus");
146 tulosta(" 1 = lisää uusi jäsen");
147 tulosta(" 2 = etsi jäsenen tiedot");
148 tulosta(" 3 = tulosteet");
149 tulosta(" 4 = tietojen korjailu");
150 tulosta(" 5 = päivitä jäsenmaksuja");
151 tulosta(" :",false);
152 }
153
154
159 public int paavalinta() {
160 char nappain;
161
162 while ( true ) {
163
164 paamenu();
165
166 nappain = IO.odota_nappain("?012345",IO.EI_OLETUSTA,IO.MERKKI_ISOKSI);
167
168 switch (nappain) {
169 case '?': avustus(nappain); break;
170 case '0': return 0;
171 case '1': lisaa_uusi_jasen(nappain); break;
172 case '2': etsi_jasenen_tiedot(nappain); break;
173 case '3': tulosteet(nappain); break;
174 case '4': tietojen_korjailu(nappain); break;
175 case '5': paivita_jasenmaksuja(nappain); break;
176 default : tulosta("Näin ei voi käydä!"); return 1;
177 }
178
179 }
180 }
181
182
185 private void logo() {
186 tulosta("");
187 tulosta(" ###################################");
188 tulosta(" # J Ä S E N R E K I S T E R I #");
189 tulosta(" # versio 9.95 #");
190 tulosta(" # Hannu Hanhi #");
191 tulosta(" ###################################");
192 }
193
194
195
198 public void ohjeet() {
199 logo();
200 tulosta("");
201 tulosta("Tällä ohjelmalla ylläpidetään kerhon jäsenrekisteriä.");
202 }
203
204
205
208 public void kiitokset() {
209 tulosta("");
210 tulosta("KIITOS KÄYTÖSTÄ JA TERVETULOA UUDELLEEN");
211 tulosta("");
212 tulosta("");
213 }
214
215
216
221 public String lue_kerho() {
222 tulosta("Anna kerhon nimi>");
223 ei_toimi();
224 kerho.lue_tiedostosta("kelmit");
225
226 return "";
227 }
228
229
230
235 public String talleta_kerho() {
236 logo();
237
238 tulosta("");
239
240 tulosta("Talletus...");
241 ei_toimi();
242
243 return "";
244 }
245
246
247
251 public static void main(String[] args) {
252 Kerho kerho = new Kerho();
253
254 try {
255 Naytto naytto = new Naytto(kerho);
256
257 naytto.ohjeet();
258
259 naytto.lue_kerho();
260
261 naytto.paavalinta();
262
263 naytto.talleta_kerho();
264
265 naytto.kiitokset();
266 }
267 catch (Exception ex) {
268 System.out.println("VIRHE: " + ex.getMessage());
269 }
270 }
271
272 }
273
274