From 421f2e020a014ba8e04b1eae3438ef4b4b702ea2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CMassi1399=E2=80=9D?= <“massi9.1.9.3@gmail.com”> Date: Tue, 21 Nov 2023 13:07:36 +0100 Subject: [PATCH 01/10] aggiunti i package code e test e spostate le classi java nel package code --- bin/ATMCaseStudy.class | Bin 456 -> 0 bytes bin/Account.class | Bin 1146 -> 0 bytes bin/BalanceInquiry.class | Bin 1116 -> 0 bytes bin/BankDatabase.class | Bin 1450 -> 0 bytes bin/CashDispenser.class | Bin 677 -> 0 bytes bin/Deposit.class | Bin 1997 -> 0 bytes bin/DepositSlot.class | Bin 343 -> 0 bytes bin/Keypad.class | Bin 535 -> 0 bytes bin/Screen.class | Bin 910 -> 0 bytes bin/Transaction.class | Bin 812 -> 0 bytes bin/Withdrawal.class | Bin 2489 -> 0 bytes bin/{ => code}/ATM.class | Bin 2920 -> 3060 bytes bin/code/ATMCaseStudy.class | Bin 0 -> 476 bytes bin/code/Account.class | Bin 0 -> 1156 bytes bin/code/BalanceInquiry.class | Bin 0 -> 1171 bytes bin/code/BankDatabase.class | Bin 0 -> 1480 bytes bin/code/CashDispenser.class | Bin 0 -> 687 bytes bin/code/Deposit.class | Bin 0 -> 2092 bytes bin/code/DepositSlot.class | Bin 0 -> 353 bytes bin/code/Keypad.class | Bin 0 -> 545 bytes bin/code/Screen.class | Bin 0 -> 920 bytes bin/code/Transaction.class | Bin 0 -> 852 bytes bin/code/Withdrawal.class | Bin 0 -> 2584 bytes src/{ => code}/ATM.java | 1 + src/{ => code}/ATMCaseStudy.java | 1 + src/{ => code}/Account.java | 1 + src/{ => code}/BalanceInquiry.java | 1 + src/{ => code}/BankDatabase.java | 1 + src/{ => code}/CashDispenser.java | 1 + src/{ => code}/Deposit.java | 1 + src/{ => code}/DepositSlot.java | 1 + src/{ => code}/Keypad.java | 1 + src/{ => code}/Screen.java | 1 + src/{ => code}/Transaction.java | 1 + src/{ => code}/Withdrawal.java | 1 + 35 files changed, 12 insertions(+) delete mode 100644 bin/ATMCaseStudy.class delete mode 100644 bin/Account.class delete mode 100644 bin/BalanceInquiry.class delete mode 100644 bin/BankDatabase.class delete mode 100644 bin/CashDispenser.class delete mode 100644 bin/Deposit.class delete mode 100644 bin/DepositSlot.class delete mode 100644 bin/Keypad.class delete mode 100644 bin/Screen.class delete mode 100644 bin/Transaction.class delete mode 100644 bin/Withdrawal.class rename bin/{ => code}/ATM.class (50%) create mode 100644 bin/code/ATMCaseStudy.class create mode 100644 bin/code/Account.class create mode 100644 bin/code/BalanceInquiry.class create mode 100644 bin/code/BankDatabase.class create mode 100644 bin/code/CashDispenser.class create mode 100644 bin/code/Deposit.class create mode 100644 bin/code/DepositSlot.class create mode 100644 bin/code/Keypad.class create mode 100644 bin/code/Screen.class create mode 100644 bin/code/Transaction.class create mode 100644 bin/code/Withdrawal.class rename src/{ => code}/ATM.java (99%) rename src/{ => code}/ATMCaseStudy.java (98%) rename src/{ => code}/Account.java (99%) rename src/{ => code}/BalanceInquiry.java (99%) rename src/{ => code}/BankDatabase.java (99%) rename src/{ => code}/CashDispenser.java (99%) rename src/{ => code}/Deposit.java (99%) rename src/{ => code}/DepositSlot.java (99%) rename src/{ => code}/Keypad.java (99%) rename src/{ => code}/Screen.java (99%) rename src/{ => code}/Transaction.java (99%) rename src/{ => code}/Withdrawal.java (99%) diff --git a/bin/ATMCaseStudy.class b/bin/ATMCaseStudy.class deleted file mode 100644 index 607c10d4dd7fb15304bfa8a9ae6744532e8a1e0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 456 zcmZut-AV#M7(KJDuDhLH!=Ros>RsS?-;=L0$I$yl5IZ)hiDy$~pc z+nz1z&7_V5YW3%EQFxc;f4b4!b6+V9lN_k$+pQJ)&6yHVQ<4eSx*e z&P54jP7L{uVis%h6T#DxpL70>>PDora&(c0M{;2$R$CKL!#;_5CON<%gifW<(4o(MiXYI# zn3S0K;0O3o#&yn&1S~Ie_St8xwf9~de*gLT3&1Npi6JBqdt=+9$E__!-zdLvH`W~t~)cj$Vr zS*X@(?e5k)0>;j$=OhqD+C&l=>ecFEa?p`uSKWi8;T^l@0`Yb*;0t!_9XrA8-#AgGKD71)a_a5cKxt-=7UoG_ z$bs9Fp3gFBt@YWC$JIVieNRZE{toCEQ^Y;d=#lgKiFpQ7E%)T_N`s5#us^$$OYJ zz

T;7_HB5OUX6VgUUOURLv)?k5|~J+6%rW^bA{^sWCTGayC;E7M>Tz>% diff --git a/bin/BalanceInquiry.class b/bin/BalanceInquiry.class deleted file mode 100644 index 48f8e6aac7e4689adac3e3b62b94bed3ef9ca787..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1116 zcmZ8gTT|0O6#f=kQbOd?3UUz$7qx`~UJ#{Rv`}&C6kq7@z74TP(?pY$k)P#Do$EuXZH8&lMTTh79e!!nr`|*uSuK3}V!!fT#)#%c#|* zA&|Ky#CkmLWyRL|Sqfybga|Z5Xo)ieb zrl1p;OhrK!4VYMBLxkKS&!SZwD|nz`Rlw-2XW$_o3FK7JrF2|1pkyE%ZN6HlsKA1O zH3d^_>wYBN1d>5fU{X(ZX4U)P2Q8`8E9uz8V+~uBu}jjx6Fj9B7f$%al~<>B7|N!t zv|@^U?UTHeTNI+XbruDV*QB-?Yzs`88|HszW}~ZB$yDig47^Y&NBdK%t6c*nP|93# zRqpj28N3qUP>n{a6W6eie4mISA0Cs}qDbC|(A*9sO;z#`=_ yvCY;?SjKCfsy4P6MKVbnY3%bRN2)p{F2`-;76YgP0v*zItMy8-B4FPrPBtH-0_K=s@q-BgBb}KS zh@Pu1c{U7mIitPuuXr_q7(31^+H7yc!A|T_S`Irnf};YRtFr7b5qhmKLz5|aQJ|;J zys(cyS}YaQpw70x0vlB`tI{tkd!{5u>(Vtvlvj1mI5-J9!y)ErFTr!wK$b(GLQFUq zQwY3$hB|lK8OAan5ls#Lm*Ie&{ug2EX zKAD4R>#&OkaNay4YE^i%c;_zhjPtb$Wf3rzeGNMsdk5zg64{qX7;oV$^c*^!>`tL4 zg^jP#JFDVR6;EzXZb@M)KNWt#{0O%3>|+g(H;PVbRFm(*C=wW8)M?hicI?o2&Lq_E zkl9LEM)5D4iM>A&H71^*cS~&G$n;PHyZav@HuU_yAqIM*kAHm^&j~i#3Z{_4CcZb5 zJca$}*9CX##xr3-(qkY02_kHy`HCP*o?aNgumL7*p~u3)0U!|}YzV`lzJSmup~-B2 z0|#e@KO#Q7t${;Nji)UkNsSm}ANxqZAKfgVy3RH;TOyJ;rbUnq$9YqoJ2*kKq2+Kc zKhSMyw@%_zs9>D92-)IVK?A3s@zJ#0Bm@}I#rm3{Ri9pX&LS78 zDpIrZ#n!6Q4NR_Wf~}>Dau>$hhGDm)*)1Pz+)}+ CIN&V+ diff --git a/bin/CashDispenser.class b/bin/CashDispenser.class deleted file mode 100644 index b8cedbabb217701eda2172f78400527c77edff6d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 677 zcmZva&2G~`6ot>kPC`>Bj??f{no`)6Ea(G3D^)>AmO?6#5D7MD;!N8qu3h}o_hH`+ z5>=%x`T#snmk4pjwkj&I8PB=C=YHo}{`Kej2EZ$Q?EzmuY z=W-{M(b3Mq;zR`*yZnhi^Y_PJMh71!GXdcnXB?%OjIy~5b7cYIR-hilc|=3wjgEA- zCtz*AoD0~ac&S>j&~ebh>Iz74u!4qwJJyk!*=wr_w9d0GZ(FLW5DAJn&8Cu%9MuG49Lc&G!dqRd$K&!rAau4hz+H`c#Go58W*3hRCc!)>UtU0?4ySvfthr7d1Kj99R z|CzVOWPP}Fnt9JlPc@HjJT7wANqoYa$+ymJ%DhL^hT)YAgZPfRePLa&Xu*W;F)oVr h2aLT*(AGa7?+)bMft(7oK_5TaZ@B!eFrcbo^DlP^aK8Wm diff --git a/bin/Deposit.class b/bin/Deposit.class deleted file mode 100644 index 57b0c3f71f0c14c3e68bdbb1340a34a706e145a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1997 zcmZ`(+inwA6kU_Vu`>)Im;?w3^w0~~#&IYuq$J#oowNogq}X*EdV!PiAsI56v1Z1h zk^0i7enLeho_R!-N-FiCAJ9*#RMd6GV@N7hmd59@_daW_efjJ4AAbV44mXVf1L>;j z_@NV}F=XISGmu^=?a1*x1H*FL?|P8|qsq;e+U>};flU2wyjq}nyXV_*eOeu^C!zF~ zx0yNP1CAx?MF$2w>D}j^{)-49w!pE_&J+sg>^bx(b?d z-Bkv%b>Eh5O9qbKCx=7PrV|<%=_4Suquo#iW!u*B^aAi+M%z6GTBC#uAK~$SLIy?; z66|^QH034D_sPiosPC2CjRdBH0)M*`E%`wLp_~)|pRQ`X1w>Vg?UiO(Y6zIT)Dff!ccCI zjVPe=f~Gx(>lSX{rh#LLOVxK>8T1hj<*NBs24&V-Nn2MeRP_VdgAeG8n^?kUX?)81 z-KVsL8t%~E2^SOm_m!=j9mSF-{RbJ;4Lmp3{BH1;;ie45I%`%0iEYVTxz}8r7tKv2 zwtY|SiYMJL>Pw^A;;G}h!t*1#3G#GYU1)-3rz5rWl zm<`x=*vhF~Etc~u19voK(RSJ~>VC4lHyRX0=*M`=&1IqWu%%}!mq=rP(c6Ji%HV;4 zNwX3g=&IO%St=3J`o7L5oG=~;B-1acw<$3g>Tn~H_SUlO#EqJPG%(+{N}rN>sv(FX?1 z29sc`B}WerE2*ZEE?}IcnI3XO7|=b#)qtKq@js^z|4-o%ELt6o&qis@p2irzM|tuC zJ+;?(VX8RuJFD3v$Lo9kFh*D!5$Gb$PBaP!dVoMRj`}m-T#2Da>zI#;I!?`*?h2;XjrB}FA_zjmv ze}0B?G5hfzt`zlt57&y>TYI?8&51oM-Z=dXCyUv;Jh?!(<(|#wFOV%}zvSTyj1;qL zTxeE<(5&u|7l=JY^d|9UiF1mGritkc|Igwa@;HxK6xixBSm3IR%UH%0tl}zKxP~>{ z#6zBHH3~iai5e+<&7aPXNy~3yHRkyJ7T@vxhqNEV;A^a=aX*bY<8NeA)QbZ$$;^+8 zrd1PKiu#4@BQhtci9M`epZ*1@(U;Rdjbp=qNt+&@Q*kzy$fw4f-({9oaDsh0$!^s6 iL@(YOd{Z$hjymSlVcrH}R2;znU{XUOkSBB-z}CO7AjkIr diff --git a/bin/DepositSlot.class b/bin/DepositSlot.class deleted file mode 100644 index a2664ad97f3f37ceedeef3f28138881cd983b39d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 343 zcmYjMyH3ME5S(=`F*pe^`2#vY2!8;NhDT*357J_@mC z5V)Dyxt+P){rr0W0C0h6h=4G>=8dh5TNKuXP=t7`8=Vxod`#xqnsY}OoSV|POG5AP zXh~34cEu5T*d3vd0b!Dwl4slJjH`Q{6-=0>HrK^cSH|n#N9CSOO&F)0k!RvH^-bAu zVK;ooIh%%8?W6}nw6NPM=Ue0dj61PYza$PIM!5wDq>@zxLs5w^3HOiRu=CosBSGH= l6o!JMAA|5%6k!h&K_5O5_P#*9c*K7)>Li1|WZb&;zX8_XJgxu$ diff --git a/bin/Keypad.class b/bin/Keypad.class deleted file mode 100644 index 9b066e220ca842b7787e1c6ebbcc07d61efe2393..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 535 zcmZut%TB^T6g^WOEw#KweByHfEF^J@x-ps%i7skLTn;e7A*Cgy82KkR8kIy7KfsSN z-YLXrbTe}w=bU@*`S^T&2XKTv9U4RYTug?%t0T&g>GNA&bGX~9UAFt86EMW2I~>!W zZ-%{bAf1}s;jSzEI*|{hD}!T(NV(Eth@N;|VIqPB3pxxPNrvnnUIJ-kb!2|cvnQiK z3@qf3XV9d}P?$}WUag^4umfN4LEVIff>K{%ST6qysk9QHriB>d4C$tH#l?8g7XB4) zJAxtC^g7&WabK!@UW^7ea>QUXXLitSMo$FcKm-IhTmpq_fNgCBB6ko7;Pq7B26A$aTAAIARzZ0T%zW`@jWi$W) diff --git a/bin/Screen.class b/bin/Screen.class deleted file mode 100644 index a03675802694ce60d6bb59226365236d62e87a7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 910 zcmaiyU2oGc7=@49v}v#JAsWT?V7a_A|6S}zz$Zy-Zgud|;< z^xmBclzQoD9f6Dc?)1o$Cp&67m1FvxM(^zSeiXX?xYHbzaS4kiYIEWGC(}qxY+Q!J zU_s2BPHJ|8_G>yL`jwn?EL_1g6ITTm6ZZVJjq9ig6ppk*z?}SwQu{Lr>zWU&>(=-? zHtuSQnNU2RM`glp;CV89J_%w?HyYjMpoA5+bY*q3wRK?OJ{l(0<|^w3F`H(iiFG26 zr5CH+1Kpc$b0$-&N~+tm@c=DCljAAf{!1I*&3My`?PR$5hVWX7GRrHv0#-kW!;yOF z>U&*CudbyVi6yY{d_{o4FTMnhCRc6Ff^%X06G|WWk%PriZ)@oSM>`d8zQ7e90xBG} z`5DzY&ZUp2Zk(ci=C_jnWvZ-%QBQRlgAUxlO;QAI{fl<{Jgq`n^*^*FEN9tvsMZBL q%vQT+d_{gQzxElc{ZnkbJ&$(yGV3#F=XX$t9eS7qeMDFeTR#DnORnGm diff --git a/bin/Transaction.class b/bin/Transaction.class deleted file mode 100644 index 1330b55e97b38711f909025f939758b75d82a158..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 812 zcmZuv+iuf96r8o4q)FUdnl?bMP;Q9@RFg76$`BRX9apK;07}Od?>XHWTpf<{)bA;di_ll zNBW(>=ID6Ay7^{26>tuckE#V5T^DWi1nkjx+JwNGiyG<%t-EMo#h{^!CRzerKZ;eU z?_35mPG9qrP|l_@jZA!b&uzeERf}(!?kvK_Ao#n z_nGxdJ|19`5j$avb47u+IoT@E4rklU?qctH@`Sf}Rr7wL|Bb+c8C6n;MQbC{2rgR- oJcO}lWLL?9?@Q$EJIVWadk(n6d&&EH=80P1>+goQ$T(al+exLike!egL^Tn^f12~R* zDgp|$i07 z)zD3u0-+w9A>P0j~*|J{_kdcwIU| z2up=-9Y>@>lr}4X&~OxQs5nNr%1);o|wb;F(SZYW@b{uDPyb1QQ zE)$eJD^2*C6A_$M(5#&+nCv>k6|<(XR4kW_97PPfxR}r|f{cn$Hm#4Dj&nHAj#)>` zam2JKJBqCqOJ5fYqMf--w~x6c%bxCw)5n;Cl$Nrc^(1`z6!pCBvV~L1fNWZCSU zMw@YQoAJ6O=gPBVafE6VcjC#lIiRqcb(i3Ux{2nL1Pa&Kb_6FM8LhaS4*xT zy12goRzdAGWS!@A+>o{1URhfW4$3OnQ(=Epbu7sKkFcRr_I%lm;HEU6S`Y;*Z#ZVb z^j2xY7%wduVp>=>q15EwU<8)zdeyHb$18A|of)#E85OrFHpceLnWrtemTEUPPeL{p zUg7x39U4SHP9v#+TyEaY)y8`dw(*_i@ZM@D&3sVHGs>4c)RbEFEzPZMzhFm8Q}8*N zrqFXVKJzqo^Q@y3u#=V>QG;EicB6?eCwyJ{XeLK1c**l6sl9lau}Eqk3@^rdMjP=g z)nh+n3o(XQalns6`F=H$2UYzo%XqCf$TQv>YT?!P9Gxvcqca+Qj4Ms@!{KH0q~z0s z*w>G6id3WImeKzZF<-*_x{Se%Z>NL(O`*ECmXUsneWWgUR0FATkJ?6Rg4DC-hby1S zwVA@|6AT)-z7-vsW1Rd56N81G<`V8wBsJ}xt!`-IS^ zBDhPR1|i&zCA>%IL-Y@}aA<{3VHJu3mhY&_C#>KiLh`9orSfA-ed%t57S6C(Bbdb)3WVLJ)D3)& zoA`nNe~H`pinH?#KEStx{t@r*DDeazd8O<2ky$U@6Y9trRPop=PJmwTvFNuMQHfw;mlsd)cyES|KkpGCMgRZ+ diff --git a/bin/ATM.class b/bin/code/ATM.class similarity index 50% rename from bin/ATM.class rename to bin/code/ATM.class index 76543bfde35c4daa304c3934c927eca8f833d61e..44bd98a88a14b4c313e1c0996cddd4b1b5bfcb4e 100644 GIT binary patch delta 776 zcmbV}%WD%+6vn?BCMB66zVPe(zpuPswwh1*viPd1hg>ajUBsQJIOt97m zf+990(Z)eq+_+Q_?4ld#!mZGMK=3aR*RHL{xg)p}WMJ<3=AQ5OoqOk7&yU{j&7T{e zwzhB{D;zF{wp=-{$6CH@sNf?-Ow16S$&}*@(j*K>tTTJl0B`}e(rb5kA1w$ zDZjiPY5$9%Vi+M07@}TypmK~d$bGBHf{Nd6wcfF?;*;ej8&EoB`JJV>DzWP)U7y)V zcO)5=I#U&fDRQ-9+0ay!U~tSaIEbM8$)CxrH|{m1OXAYogO7$HNeOUHD8+;@X5*qJ zW`wD0(Q6z_3_ER8wpc6Vt72Z1RMgS%VlSEuiGNchIA!0SCdH&MMIl}^E4pFoRXgVe zgV)Z9>y@%utf_d8*6)y)43qyAvfiN#vTzUF*iH8xzzziIy$3@CjiC=`(2oQLtZ7~d zN3abC;Ke9>h@cmTsV{~Qj?h0lN^02p%IjmNh;tg9&2!VJp4s^9^acR0$L=VPj zf|Vk!V`A{)(St@0y?O9z;?0Bc1+q%O#m-2neqh)wT%lRhQNxypNq)Sa?644f`9V97%Ks z!H_Z#1lO^b*xV+|v8Qp>Zy*Fi#{ff%`o!Waq<*qp%usPHr!|YZtG#C(k-mwPm@Z4l zmGc#Q(J?s|;OMx@5KUneQcC2sWuU9cDonls2FHAHnn_^75g{q*3Ln~OHaieTlvWH0>_nPWM$m~9=u%(wLcAAENWq|yMbJz2`>CcM-Bg#v z0A&evDNr36CY{6BiX)^lg5C6cJvfGa6w}Dy5XN94ODE$P#YxJ>X+NbB!Pl8H&@f3( zrl4bn`kW_f4ug<5fIN{FX^Ow?t1L9F69YNWS{vslA9tm6V6;R;0uPgFgW`3;H@ BkQe{} diff --git a/bin/code/ATMCaseStudy.class b/bin/code/ATMCaseStudy.class new file mode 100644 index 0000000000000000000000000000000000000000..673226d8959865de24ac7b47ddfff413933c2bd2 GIT binary patch literal 476 zcmZutT}uK%6g{)9?YgaBS@!wTn-;V`z=%Q!f~_7DA$l6uL05EzbvNi|^^#D~59mi_ zXUsCF8Mt@Oy_|FIo%fHIxA`3BIIv&{l!Hl6c^B>Lrktu)lJ*`gm;$Ate30HqMt$$L zJ5)g;uyz_oVR9yrsnt6IW|Kq*8RT4Ku_jRT!${qv=7H-{{*MBT8jVx literal 0 HcmV?d00001 diff --git a/bin/code/Account.class b/bin/code/Account.class new file mode 100644 index 0000000000000000000000000000000000000000..7af241d30477b88cea4b1d36ed373af5a92d40ac GIT binary patch literal 1156 zcmZuw+int36kP`f5Eu$ArId@8)(bEy<3shO#;9#fNZM-Cris2Ch6$ZYp`k;c{S-f- zi7_cL@xc%9qpa(k83|ZIGH1^|YpuQa+QaWZKYv|c<29Zo5D_q)LC3YH2-E-ecQXH3;+f?-jzU)m> z@t0oT^Ir)h>aEuHcH>CE*kaujqR5&^BS*b@<0uJ%B@;2kRkUm(5kxB{ZXv01t0q!N z3S@V@z8kc2sH&58PRY$~g<9N8>R>P$I_^79nPP^JrrIgiXkZk8fr#>$QA9bc zPx`A*y2~>`WEv))8NPiXE5WmD{lJ1%8Dr6^j*+(-V-&2_*cip{np;vBt(Req9F-Qa zfFQTR0UO@D!NUE(9s=65gpwnS9My(Jw`F!uVFpxW}g^^GAq^<@?Q}% zE~A%xkFo|>Pw`6pUdsGZs(b<~0e(``#C=`!fo6#mg&*QkC~p(2+KExU@Qp!4>jpip zYdz%)0im8iZ7#X^Ke;}aTt_3UyhTaXeA@bWg<{Q_@inDqXmTcdYNqsLrZg-%#eW|j zPXzZv!GaPj)VgY2TAI<+$^y$aDE*vEdNCzmn8+6<@=x$I?AO-i0;d+$2Bw|boI7k& GqwK%3q-|n~R?>|3&US8rA-lWhckhQ#1Roa)1bS+hNzqD-sB87y& zXymB-(hZ~)+MX+LYu9$|a8F=4U#&&%W6M{{-RWHRrTeKOL)nml+9{j}Bo2sepdSM! zlDH)>QnOw4u65Q>eqA;kC6K9kmUK>}Z|i&fV^M>+{XiUp)=2= z?db8vDsu4oYN4XD3no@{m?mHMLg~aIX%snMBfjOT?t9NalUn6%1M7I0LP=n-M`9C? z@R)L)+QDZ>UL2_)kWHoKBu>8eQJ%{ZWonj=L*I6rls}CPfr;E&?jOBeqqAk(IbCDZ z#4`;!d>vA|woGh;LT6)F#d93#m(R4|y19x*e?e&s!bfdgLFf3S@lt@}H5)w}$@LAQ zZRNPh_Qu3Sh2de(ganLZujO0n(AImJjYk!KA?vzfEU-pD^wUR+8_qMuTOA3$Kze1S zxb_|CZ&8H7(_kbp$S9L1C{7f|+YoQez%WLLqODPkMbT+wkYyc#+Zc~4{Ni0#DzCIL zQR6Xvw90d?jm5XIk>5%dGplW^6*EuTcv>v9@w}MX)#g+(viIn`qP7`P$gqtpX-=}} z1g#mq)0o8^muVgauIoD6-oPRiTH>F`a@58Kvq&axBZ*ylvZQKI;&RkRmU;U)AnjS^ ORA?pXf6c5u9R3Akv;>C$ literal 0 HcmV?d00001 diff --git a/bin/code/BankDatabase.class b/bin/code/BankDatabase.class new file mode 100644 index 0000000000000000000000000000000000000000..32745d210682d18063450b175692025b1e75cbfd GIT binary patch literal 1480 zcma)6O-~b16g{ug&e&n7P$-Iu-ydxS!7mi$qe4ZifF>x3x_TWZI$B#(rtD4JoA?WK z<%UE}v?dyjD;Fm2bm=efFBtK>*Rd26qfIk;@6NgBo_p@ieERw3{pu=mxM(3F(CJnd zy}?OYzLS@MEXpO%LR6sRwp^BjC0V{Xc&T{Xa|3}5(se7faJ?cmc>>9qiYrSCvg)gQ7>owDd@Ap1 z2yg9|>g}6e5cWbx(uK_W_LP=A4)$Unjah>>it3gN0_~wazoUY&gj=gtz497&Vm&dl z<^$>8nU(jnObaF}$XalVNxmxs@9L6Q6^PM*%ypaH4m#M0T}sel2S;#Jplw-}{6#`9 z7v^X@#b0L+HRgpK{T5`Ymp>VberHS zl|Yt4phAp07*z<B!33rh8v{hhyJ~|31gT<+UeON}>b!$#g|g=> zwW{k)`)Z1vtus2L))BjC0LRZ~L~RaF7SG%-KI6PCLs_*pXq~=vTs^ZDb$=+^k;a`PcFh7EAeD<&g$QY$U2kjhx0;jPNeT+Jd zI@pdK8qb-88XhrQDa$DSYo}uGhoi>$Q>1!heMe^d>)5^ZF=GAC9~h!96@9Y$T|6h) zXepRNH#YO$OY#&B@T3av)QxAtf~3cOz7xdSNb?p!mZ%hrRVp-T3q2MV4g!e?Vf`2g z^#z1R2~B3V)^TWV;3MJ#+v*rvF;<#Fk{Yp>eH_sA9VAyGvW?89h$N0_5oE)0o>b=! zhAGF;ayXYC=&-a~CvY-UFh*R2Y;moij*(})G%Pm>0fuz3o(8B{EFKmUT(-Yajr~bA z{12)Leg_-7GegbF7h9`J*KuZT6KpMIlsh)oG7P&Z&2IW&BagF03oi6una};nJW1xM L|7I>|yDt0!-AnBp literal 0 HcmV?d00001 diff --git a/bin/code/CashDispenser.class b/bin/code/CashDispenser.class new file mode 100644 index 0000000000000000000000000000000000000000..8c9ad4ed7c8db260edfa675478a023202b14c15d GIT binary patch literal 687 zcmZva&2G~`6ot>kPC`?sjzd}~X{&ZuvLFutR8&DomO?6#5D7MD;!N8qu3h}o_hH`+ z5(tR}55V(ui701ms{+AhJm+fe{m!}ak6+)u-`wCCcABUObc1-Qh9jAtKG*4mic*y{ zVGDH5KyUo7>Bj=jvPxjm5V!9eYD1ovZrTeShUqKyA=imo3T*0hnjatQK&vP-Er*v< zhb7(gzGb>;CWH4cw;fr@D=TWC$7K1{Zw>#JlBd@4s705;i79^mhW*FJt~29Y*e%6d~MjBey0~c z9lZGrcWe2dc|AH?=d_Jt-fr1b&0{z26~5~v-sjEu+hm&3?+LYGcqPLiKB8`4SywDt pFs8e-3-k%uMjJZ>?fwDsZb9BH$f-bm_HkuD;qu?Y7F7+~zX1c7c4z$$LqSG0i(vvw%Y5+wt<87$ns{iT`+K< z9Y<+69!+!c+a$6+qe-S(S*|VbZr5ZeH)NoaqXfZ!6Bb$qhN>i(#UPHD7{j=MQ~w{f&>A6-qbAbG=%?c* zMvyfyR<~WX+TGbuep7BZO0)DV>9nM8>wR)K6mHppfzek0k^SLrp!|wuX)WU@21aDK z6Z3l^XhN6i_^zL>fg`WcAdV4hz@+r))7(H>eXFc)NUVeTLMux)XHDc$VE9cHz8Zca zUwBOd?K5MdgmX+qpB~(?o^=9P+s&Fdk9VnE$M<$R;dReXz*LeBB8Zxn^gR)k~6X<@(;yOM_<3{i1^r>%R3Cnb{gT;i&ZDlEYSMl~xh&vh74g8#4_qzT| zu3It?8|-)CC${D6>aFJDyl8GIvE#XFPdw-bVNWF077uO55v~`~O^~eZ=w1|TGTRXk zmDp9jeSc4cbdT?`@a_xg?lGn1cmV@gGT7otTkL5h)|Rri17Wc!KFJ$cHE|1TUG%5x)=;~ zun|gYdqsAl3!Q;9FyCuZ<%Y`d>(N9~+ZENt)n-HFJzty`p_jld%(G)Hs5DsfxMSn1 zYT~}uG(%07+)g(fzPhgGpPqmzTOSz6HdqczUAOh5F_XS3>wd;tG}H5P2m|^a@o7L0 ztLT@bioYjt04A*tMrWh6=8eZ8u7`Q@9X++zcyX$9?l9w^yh$wjNf4#RIF7f8Oh+2WJH(bEhEq5l zBQXZ}M!&mP+{c+Zm*Ps1YxyZI6o18q(H|e7Qp&x*kBcR}-^Zm=?&?0SadT`Ri&suQ z!tqk>CQoMQwi4TX`WU%V?sFbK#z-l*&IiqE5SrC88G*=CM4ctt9Pv#N&os^u{b`~; zivmaFEM|D~%UIw@tKcG5xLf0#Y2h-~`3HIz*CI8FG5$o26u#tF*C$KMuOc<(xPFaq znEx&_AHv`>tfg@~jXC2lWKz_NLo=z&_l%}h6IzP;Ozs|;lhnjMHZD*9gw*Jh=^w_i z={=!M%;!W@jT_{%%$nC(rCY4i8o4$id?Jqb0^d}Gij$8uwOO};2o;C&-2S H4`BNrU>odl literal 0 HcmV?d00001 diff --git a/bin/code/DepositSlot.class b/bin/code/DepositSlot.class new file mode 100644 index 0000000000000000000000000000000000000000..aef4d2534eb60bae8b9c6d7322547bdc2a46e88c GIT binary patch literal 353 zcmZ8b!A`Z2;tyuyG(S++9mDMukzx_#DgE;M}f1I zMB*IY%)EJTX1+I{U)wEi(T@-aq{=QRyQh_{w3{01B81E?Wi2x!i|1^TFG)Fp&b2PI zyAf!ep3McqJNCtB;V?lP9f96R7c^eK=2XsPZb+a%vPzn{EVb`r5Nf$qz9aLQeny literal 0 HcmV?d00001 diff --git a/bin/code/Keypad.class b/bin/code/Keypad.class new file mode 100644 index 0000000000000000000000000000000000000000..82aa96596b3f6d73cb8057b25f3f9f78112abc9e GIT binary patch literal 545 zcmZut+e!ja6kTV$jE>_yv#VVn)Q1LoH6n-tN$SB6dOVH?JEEhEW8^>eQdB}gAJ9i- z`-~Dsz3j6uYps3u`uuwPm`-tmeH|J@%)!4NzpK?4EAOz4Q{h%==B@S;c}tt0ho zUwu6EM9)M9Sq4oy47u4x*|)0d3w6&GyjL+`BB#`s8CHt_LQ0J&XlNpYFhjB?9dSA8 zHHCZ4n_a<>sr7B%ZE#nrdfp6rw{pl3uPt~&2S(b$^Vj<)R@L@x6FVp{=#IFj8F^#W z`y=7>RgK@tsB%;~71&d?fqp?H-AV-dgRV_z_IhLOwt5sy8& zFAtUUy_Yb|52vmiFkCtCl4GBr?usPg6A~M};e`h$jlFO(Fh_G(z@m!Ij6>%%NkyRJ zDhzTLWn|VU#9n0WlQJc};K4w{60WPb#;};PXMgLsffhsUSSlFQ;Fp!opH3*bS;I1U ziNCAko}{Qb#SiJKGSH5EpU2OGD3f%hXPcu2R;aEktDF6;Lk$nnQ?WLanH^6k1U`(5TYRqM6ZLTmOW{2U=91(I|h@A(}MmD7r#(<0IM|XXsw&wftP8sAkUS7IDOq3{v1GZV`py_P=O%F4NjXTlf!c8TU(X vyA&-GHppA&f$|mAx7D@JSar^@@#ZqROP#qig*JX0HK;<5bE8iPR>9U!W{R|i literal 0 HcmV?d00001 diff --git a/bin/code/Transaction.class b/bin/code/Transaction.class new file mode 100644 index 0000000000000000000000000000000000000000..883812e301caa386abb1b6d4dd3f9828c8ca9092 GIT binary patch literal 852 zcmZuw+iuf96r6ROq)FZ8*0ew=g|^Vd0`dVM#7#(*B6w((_w}+WZc|&b*Hu4?2at%6 zc;Ey0D9Wr|kQ4IY-E*6BX3omLe*gG+eT|nmtius#tN5cHog^|!r7~e0)!{OFCNJe^ zDx=fUhu};rBd{iwinGYP&n^O;2#6zrTB;JQBPPdro8#PlCg24!I)5vT3}mVWdPVwm zDafMQ^Dqj{3xR{d(HwqB^>8BKz9H2nDrk9FMO&aU7)}}x=z6H4W~~hmb*xxx(?bJI zfz~*Tbiw&V22+yhj$BWRbUaeb%S zEC9%r3u`d(4>lOisb(W)=Nt9^)|A7fRM%HpWrk{+$8nY@{Vuf9+NF1VYM;=3z*STL zevaJ{Eyr#szqudYRaUIR#*BrIQbCW0#s7HSQNuZtz literal 0 HcmV?d00001 diff --git a/bin/code/Withdrawal.class b/bin/code/Withdrawal.class new file mode 100644 index 0000000000000000000000000000000000000000..08dfcf2ee359235b677d16d4a1eaaa1a8d23cf52 GIT binary patch literal 2584 zcma)7`)^ZK9RJ*{?d{5ib=?EzM6Q6?&aK;E3>o7wx`Bl~z>VRCAg8x?+ugd`+1_r9 zhagcg(O*nV6b-=`B8l-A5}AoH{%rh{jA4Gxx!ns%v`x=B-*djt&-c+kpZ)s#$_h^4 zj*bcq)mA=hw_S9+>1;tPikyyshN!w6EeN+LEYHci8bV?&UvfPSTAIYHy)-Yf8nzB7 z&a;Xpc_QAR>~|0Cnpnd zQsjhdG0Z?bo#>0;D30r3F~yYhCQuCaL9d2Jr#MoYoOCS5c0I|krps3{Azerr=tIAT zVAjq!Y=mGu-6vr@iqi((0^7onp~}jaDtyVYFwSadik!>YELPJKv$naEFBMFSET)@Z zOhzz>VI4ynwkZF62o0RWdAhs?Ua=^qY*~3M$@svGSP*TDa;j~_D>&}dkpvBmXh=uW zZgDLV-w0WKTujF`y=mL*9UV+YRz0$&^LaWZ%;KELLyEWwkWlz z2!vn2|3}qDLL5oSq~z$V>8%fzWHR~O)ZkRnCS?7ty1kZ8jpM?|Z0LOsilUkeR59WS zYj#k~tL_WqDvKqu-gKs{zV0wG?1B!n)!e(kJq%jX_e-La#3YFWlISAAg;VNH2(-lQoNW&Q|j|X^s|_Ofe-Kmv~0xe4!hTYy#a+C|j=L z5^FT*NHscckZpv8XxXP6Im4>g!Ai>N!mDgaIgSIUkR8fXg`9+H=N#nz61MQ3IZ=08 z$<3fp%{9uKo0ODNbEgJa+j`^~* z(L_peysT`=(@wlXU*u^QOyy%8y$zQ&?WS)*`mhIkeNVLS%bwh;>}g)cYuy2^iSA%C zx7MfVX#N=;(a=L&X_OBKmeG}#SNGyyKfno|8YH!hp8JUV9O`u$C)eLj1$r8Tu`|mU zc#K^h8PGKHt>OBLG`y#9DItR&zIFGv+!6&$| z0o;3Ka4YaJ-oZG*N|0{?mk91%Lg=5uxJ{cTA>4)~T&A}{+6OfUS9lfDp=n_H4(YtY z3N9ijuPRq>s#f@~`7bX0IWC&ypG7%evosc@i62zH5`)puZ;|mpv~GAj7>y5)hoU{h z<9akZJRYvWAHzeBalIw>9?@-y3AI{kwbeSMR!6O~YMom~o|&s#MxiTEANY}m`03)0 zaj2?`bASHV-dZ0>_B=*)G{m*4CALUq%;u*}Katx{=M~m46nvKn$W`oPf)Y$n8>aZr zHq8V&OxO%gW0qLun2sNrb)-Gzc~r@;9pdx;R8Bdf!qH8 D=T}AB literal 0 HcmV?d00001 diff --git a/src/ATM.java b/src/code/ATM.java similarity index 99% rename from src/ATM.java rename to src/code/ATM.java index aa3d187..fcf180d 100644 --- a/src/ATM.java +++ b/src/code/ATM.java @@ -1,3 +1,4 @@ +package code; // ATM.java // Represents an automated teller machine diff --git a/src/ATMCaseStudy.java b/src/code/ATMCaseStudy.java similarity index 98% rename from src/ATMCaseStudy.java rename to src/code/ATMCaseStudy.java index b9033bd..b4b92d9 100644 --- a/src/ATMCaseStudy.java +++ b/src/code/ATMCaseStudy.java @@ -1,3 +1,4 @@ +package code; // ATMCaseStudy.java // Driver program for the ATM case study diff --git a/src/Account.java b/src/code/Account.java similarity index 99% rename from src/Account.java rename to src/code/Account.java index c308eca..1907165 100644 --- a/src/Account.java +++ b/src/code/Account.java @@ -1,3 +1,4 @@ +package code; // Account.java // Represents a bank account diff --git a/src/BalanceInquiry.java b/src/code/BalanceInquiry.java similarity index 99% rename from src/BalanceInquiry.java rename to src/code/BalanceInquiry.java index d45fa6a..884f3f1 100644 --- a/src/BalanceInquiry.java +++ b/src/code/BalanceInquiry.java @@ -1,3 +1,4 @@ +package code; // BalanceInquiry.java // Represents a balance inquiry ATM transaction diff --git a/src/BankDatabase.java b/src/code/BankDatabase.java similarity index 99% rename from src/BankDatabase.java rename to src/code/BankDatabase.java index 3978497..7e4a5a6 100644 --- a/src/BankDatabase.java +++ b/src/code/BankDatabase.java @@ -1,3 +1,4 @@ +package code; // BankDatabase.java // Represents the bank account information database diff --git a/src/CashDispenser.java b/src/code/CashDispenser.java similarity index 99% rename from src/CashDispenser.java rename to src/code/CashDispenser.java index b249faf..3e332f3 100644 --- a/src/CashDispenser.java +++ b/src/code/CashDispenser.java @@ -1,3 +1,4 @@ +package code; // CashDispenser.java // Represents the cash dispenser of the ATM diff --git a/src/Deposit.java b/src/code/Deposit.java similarity index 99% rename from src/Deposit.java rename to src/code/Deposit.java index 916ef70..ac2705d 100644 --- a/src/Deposit.java +++ b/src/code/Deposit.java @@ -1,3 +1,4 @@ +package code; // Deposit.java // Represents a deposit ATM transaction diff --git a/src/DepositSlot.java b/src/code/DepositSlot.java similarity index 99% rename from src/DepositSlot.java rename to src/code/DepositSlot.java index 64e02c2..d860a09 100644 --- a/src/DepositSlot.java +++ b/src/code/DepositSlot.java @@ -1,3 +1,4 @@ +package code; // DepositSlot.java // Represents the deposit slot of the ATM diff --git a/src/Keypad.java b/src/code/Keypad.java similarity index 99% rename from src/Keypad.java rename to src/code/Keypad.java index cd035c7..34ade75 100644 --- a/src/Keypad.java +++ b/src/code/Keypad.java @@ -1,3 +1,4 @@ +package code; // Keypad.java // Represents the keypad of the ATM import java.util.Scanner; // program uses Scanner to obtain user input diff --git a/src/Screen.java b/src/code/Screen.java similarity index 99% rename from src/Screen.java rename to src/code/Screen.java index 44d3f30..5949126 100644 --- a/src/Screen.java +++ b/src/code/Screen.java @@ -1,3 +1,4 @@ +package code; // Screen.java // Represents the screen of the ATM diff --git a/src/Transaction.java b/src/code/Transaction.java similarity index 99% rename from src/Transaction.java rename to src/code/Transaction.java index 508fea8..2138610 100644 --- a/src/Transaction.java +++ b/src/code/Transaction.java @@ -1,3 +1,4 @@ +package code; // Transaction.java // Abstract superclass Transaction represents an ATM transaction diff --git a/src/Withdrawal.java b/src/code/Withdrawal.java similarity index 99% rename from src/Withdrawal.java rename to src/code/Withdrawal.java index 6e0af62..a2e6fa3 100644 --- a/src/Withdrawal.java +++ b/src/code/Withdrawal.java @@ -1,3 +1,4 @@ +package code; // Withdrawal.java // Represents a withdrawal ATM transaction From 1acefdf142334338761d2df24b69b8232d9b926c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CMassi1399=E2=80=9D?= <“massi9.1.9.3@gmail.com”> Date: Tue, 21 Nov 2023 14:42:54 +0100 Subject: [PATCH 02/10] aggiunta classe Euro in feature --- bin/code/Euro.class | Bin 0 -> 1612 bytes src/code/Euro.java | 48 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 bin/code/Euro.class create mode 100644 src/code/Euro.java diff --git a/bin/code/Euro.class b/bin/code/Euro.class new file mode 100644 index 0000000000000000000000000000000000000000..42b7ecd3ede68b2312132aaa52eca5cd7f804fc8 GIT binary patch literal 1612 zcma)*O>Yxd6o%jHu|2Wl*ai$Fv?P2OuuU8H18AxFNSlKd;|xZejt~ZKMQp zUB9QA-;M&`Mp~f!NN&icE4{Vm-PK2`8wq4Lr0WMtKrHic#qpfznn0$uyj<@Hq!$^V zhlR-kY!n2nTD_Bj`Sfz2WC0mu1xjtlQ+Gy#RTbQmt1bl(w*9VjJ2G(eIk`+n>rN;z z+1>_gF^eJ~f4a&e(bP&LyZzg8xD`@cs&}#rKboWj?eV+B+SXLmN#Kb^{7mQ%22xyWN9|%kg9FHAZqE|MIM z)6118aJ;qFK@y%X;3Ir2aC9L1YSH()GWx-Z)@d=+i&*+$ma{unAiv^|g08yZ=-%b@ z$mVqhcK93Lk3wP&Z>wnC?}d4Mh6^@67pU$qINpZeS51Rr65o*B$PXTCqKg7gYhzgx zZzK4<^m?uet8L%!kA|%=x1_MKn|A{5Jszq(+#inln>A~VSDZ*JO4nU+BGoEo@#zG< zWOv00vj~Noo~MFESB9YqZE!=*>?(9GbQ@O%X7_hx8dE1uav3a+OdzFKnAQYsJAUSP z`kA+S)vJwH$j{}T{E7pOxeBJ7lkx>hzoVF(6iCs3rA^}klJLJWkaOXpo9jS=2L^+B9;a(X|Tq*3TFDh zBn+vTp=e%{p^PGLblxMZQtNKzE#U)vNI{|h4T*4*KAI%c_#34^Xc#$zSBYf`#vzdr zm}5bP>N`@!DH=NZ{7b}bYW%q^laF6dvkx=>L3Elu(L~jKM0K}!i5{ou?Ei?K!P$iL zJ{zM+%UhsNo*|QdZawFn8KP<6DHJ%iB5`&aSl(`6neQ~N9+w4Cq({D4j`B>SEZEN}#<{6km6QA%`Z~Y~Hzrbal N^s0S@E4YT4e*wN39FqV5 literal 0 HcmV?d00001 diff --git a/src/code/Euro.java b/src/code/Euro.java new file mode 100644 index 0000000..b12ea4c --- /dev/null +++ b/src/code/Euro.java @@ -0,0 +1,48 @@ +package code; +public class Euro { + + + private long valore; + + public Euro(long euro, long cent) { + if (euro >= 0) { + valore = euro*100 + cent; + } else { + valore = euro*100 - cent; + } + } + + public Euro(double d) { + valore = (long)(d*100); + } + + public long getValore() { + return valore; + } + + public Euro somma(Euro e) { + this.valore = this.valore + e.getValore(); + return this; + } + + public Euro sottrai(Euro e) { + this.valore = this.valore - e.getValore(); + return this; + } + + public boolean ugualeA(Euro e){ + if (valore == e.getValore()) + return true; + else return false; + } + + public boolean minoreDi(Euro e){ + if (valore <= e.getValore()) + return true; + else return false; + } + + public String stampa(){ + return (double)valore/100 +" euro"; + } +} \ No newline at end of file From 7e800316e62431ea1039c61c5c79bf58063699ac Mon Sep 17 00:00:00 2001 From: s5003659 Date: Tue, 21 Nov 2023 16:02:40 +0100 Subject: [PATCH 03/10] Creazione package GUI, Database, Business_logic --- bin/code/ATM.class | Bin 3060 -> 0 bytes bin/code/ATMCaseStudy.class | Bin 476 -> 0 bytes bin/code/BalanceInquiry.class | Bin 1171 -> 0 bytes bin/code/BankDatabase.class | Bin 1480 -> 0 bytes bin/code/{ => Business_logic}/Account.class | Bin 1156 -> 1186 bytes bin/code/Business_logic/BalanceInquiry.class | Bin 0 -> 1268 bytes bin/code/Business_logic/Deposit.class | Bin 0 -> 2226 bytes bin/code/{ => Business_logic}/Euro.class | Bin 1612 -> 1687 bytes bin/code/Business_logic/Transaction.class | Bin 0 -> 921 bytes bin/code/Business_logic/Withdrawal.class | Bin 0 -> 2718 bytes bin/code/Database/BankDatabase.class | Bin 0 -> 1558 bytes bin/code/Deposit.class | Bin 2092 -> 0 bytes bin/code/DepositSlot.class | Bin 353 -> 0 bytes bin/code/GUI/ATM.class | Bin 0 -> 3263 bytes bin/code/GUI/ATMCaseStudy.class | Bin 0 -> 492 bytes bin/code/{ => GUI}/CashDispenser.class | Bin 687 -> 695 bytes bin/code/GUI/DepositSlot.class | Bin 0 -> 361 bytes bin/code/{ => GUI}/Keypad.class | Bin 545 -> 553 bytes bin/code/{ => GUI}/Screen.class | Bin 920 -> 928 bytes bin/code/Transaction.class | Bin 852 -> 0 bytes bin/code/Withdrawal.class | Bin 2584 -> 0 bytes src/code/{ => Business_logic}/Account.java | 2 +- .../{ => Business_logic}/BalanceInquiry.java | 5 ++++- src/code/{ => Business_logic}/Deposit.java | 7 ++++++- src/code/{ => Business_logic}/Euro.java | 2 +- .../{ => Business_logic}/Transaction.java | 5 ++++- src/code/{ => Business_logic}/Withdrawal.java | 7 ++++++- src/code/{ => Database}/BankDatabase.java | 4 +++- src/code/{ => GUI}/ATM.java | 8 +++++++- src/code/{ => GUI}/ATMCaseStudy.java | 2 +- src/code/{ => GUI}/CashDispenser.java | 2 +- src/code/{ => GUI}/DepositSlot.java | 2 +- src/code/{ => GUI}/Keypad.java | 2 +- src/code/{ => GUI}/Screen.java | 2 +- 34 files changed, 37 insertions(+), 13 deletions(-) delete mode 100644 bin/code/ATM.class delete mode 100644 bin/code/ATMCaseStudy.class delete mode 100644 bin/code/BalanceInquiry.class delete mode 100644 bin/code/BankDatabase.class rename bin/code/{ => Business_logic}/Account.class (61%) create mode 100644 bin/code/Business_logic/BalanceInquiry.class create mode 100644 bin/code/Business_logic/Deposit.class rename bin/code/{ => Business_logic}/Euro.class (73%) create mode 100644 bin/code/Business_logic/Transaction.class create mode 100644 bin/code/Business_logic/Withdrawal.class create mode 100644 bin/code/Database/BankDatabase.class delete mode 100644 bin/code/Deposit.class delete mode 100644 bin/code/DepositSlot.class create mode 100644 bin/code/GUI/ATM.class create mode 100644 bin/code/GUI/ATMCaseStudy.class rename bin/code/{ => GUI}/CashDispenser.class (54%) create mode 100644 bin/code/GUI/DepositSlot.class rename bin/code/{ => GUI}/Keypad.class (68%) rename bin/code/{ => GUI}/Screen.class (72%) delete mode 100644 bin/code/Transaction.class delete mode 100644 bin/code/Withdrawal.class rename src/code/{ => Business_logic}/Account.java (98%) rename src/code/{ => Business_logic}/BalanceInquiry.java (96%) rename src/code/{ => Business_logic}/Deposit.java (96%) rename src/code/{ => Business_logic}/Euro.java (96%) rename src/code/{ => Business_logic}/Transaction.java (96%) rename src/code/{ => Business_logic}/Withdrawal.java (97%) rename src/code/{ => Database}/BankDatabase.java (98%) rename src/code/{ => GUI}/ATM.java (97%) rename src/code/{ => GUI}/ATMCaseStudy.java (98%) rename src/code/{ => GUI}/CashDispenser.java (99%) rename src/code/{ => GUI}/DepositSlot.java (98%) rename src/code/{ => GUI}/Keypad.java (98%) rename src/code/{ => GUI}/Screen.java (98%) diff --git a/bin/code/ATM.class b/bin/code/ATM.class deleted file mode 100644 index 44bd98a88a14b4c313e1c0996cddd4b1b5bfcb4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3060 zcmbVNZF3XX6@JzdNM0`iOhXFhWz9=!3oP3}L$HloV+&9t*$xtROkP*3i@jJ{iPZ{F zk~V1?T1W^XZPQMEfoD4X(9YEIOquEDPJc%KKtFW)C6mN`?%fq$I-SW(Mzgy2oO}14 z=XuV#XaDidU;nnbi67(l33O>l+O@J6o+{=Oh-=t&!@6Y+S1fmVc&>Cq*uI9{&4%!% zn*NG#eaE(ZQP!Yc)9^jJ>3Q@`*>SNJS=4I{$1hZBMAjQ@n%VMki&3)N)fvmT zN>)Q?*c0rz5OH$T&I?nysoCkwo7vfyuV$|-5x{iKZTOb!FIbhPhylZ1pgWb?@#K1Oe zm$PFA5=bWSJSjyK(s3N7Tpu*h4LyMqo%KK{9jRbFZJ-B60wWYbz5kR@I);O7rw#1D zGYR~ViB;PoQt3DoYhZUS;vf#k_%8xwxk;yz4cuTJ$WpVcEXJ zBquS?`qGOlED5t!YxbL$YPE8yCHh$f1>dq)^HyEaNTQ(Os6Jm2EG3hrE33rnPK2ZklXDoSmx~t2?e#M;N#+ z@$BqC<@UUAn{sW%fP)*d6gZA@jtD@sR z9>`NZ(UAG}Q-XuT-W(WD^%oW9Q?^nefH(`J z&h!;{^K5a^kv%8Lj*^y*0sX95*^GP8C7Y}4(z3Oxku6k>Y?W$cFH|Gjof_HDIPS+D z?q^F-zGrFgjo8o8{(i*XM|*$7?qf_%HhBIY;t7w4M&o!fwSmK_*gE><-_g`#9ADbN z57sfjX^PX6>los6nA6d9oZ|Ehr!TDIET`u<9bd=9pB1J_{y)zT0*EY5G~L)oCj0r{ zhhvOA%;;l`p21=Kh`Wpc0YC9mv@~3Jg6=NWk?2O(uq*W!4D?R7kx8|YrP2Sz=D#@2 zML^3PbKJ4E`A@zS!xoSMS}6uPK`96D9MXisj}AuI2}fxij{q4BfxOH!;^>MQ1i{u# zAX2cu(d_TMv;@DHWnw8y(}JCmPvChvD9A8aN4k36AE72YAT1CewSLoe>I z;99Kyw=slw$no7s!A(Blz)x9-=HGl?3dBGopV47oSJUu^w_G6a0pXYdp`zZ<(o}9D5M|3I~{# Py@&d^_&Ec2;dlQ9A;z3< diff --git a/bin/code/ATMCaseStudy.class b/bin/code/ATMCaseStudy.class deleted file mode 100644 index 673226d8959865de24ac7b47ddfff413933c2bd2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 476 zcmZutT}uK%6g{)9?YgaBS@!wTn-;V`z=%Q!f~_7DA$l6uL05EzbvNi|^^#D~59mi_ zXUsCF8Mt@Oy_|FIo%fHIxA`3BIIv&{l!Hl6c^B>Lrktu)lJ*`gm;$Ate30HqMt$$L zJ5)g;uyz_oVR9yrsnt6IW|Kq*8RT4Ku_jRT!${qv=7H-{{*MBT8jVx diff --git a/bin/code/BalanceInquiry.class b/bin/code/BalanceInquiry.class deleted file mode 100644 index 55ddd1bab30b11fd7a20f928287efe5da86af169..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1171 zcmZuxTT|0e5dIFdwuEqN3q-|n~R?>|3&US8rA-lWhckhQ#1Roa)1bS+hNzqD-sB87y& zXymB-(hZ~)+MX+LYu9$|a8F=4U#&&%W6M{{-RWHRrTeKOL)nml+9{j}Bo2sepdSM! zlDH)>QnOw4u65Q>eqA;kC6K9kmUK>}Z|i&fV^M>+{XiUp)=2= z?db8vDsu4oYN4XD3no@{m?mHMLg~aIX%snMBfjOT?t9NalUn6%1M7I0LP=n-M`9C? z@R)L)+QDZ>UL2_)kWHoKBu>8eQJ%{ZWonj=L*I6rls}CPfr;E&?jOBeqqAk(IbCDZ z#4`;!d>vA|woGh;LT6)F#d93#m(R4|y19x*e?e&s!bfdgLFf3S@lt@}H5)w}$@LAQ zZRNPh_Qu3Sh2de(ganLZujO0n(AImJjYk!KA?vzfEU-pD^wUR+8_qMuTOA3$Kze1S zxb_|CZ&8H7(_kbp$S9L1C{7f|+YoQez%WLLqODPkMbT+wkYyc#+Zc~4{Ni0#DzCIL zQR6Xvw90d?jm5XIk>5%dGplW^6*EuTcv>v9@w}MX)#g+(viIn`qP7`P$gqtpX-=}} z1g#mq)0o8^muVgauIoD6-oPRiTH>F`a@58Kvq&axBZ*ylvZQKI;&RkRmU;U)AnjS^ ORA?pXf6c5u9R3Akv;>C$ diff --git a/bin/code/BankDatabase.class b/bin/code/BankDatabase.class deleted file mode 100644 index 32745d210682d18063450b175692025b1e75cbfd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1480 zcma)6O-~b16g{ug&e&n7P$-Iu-ydxS!7mi$qe4ZifF>x3x_TWZI$B#(rtD4JoA?WK z<%UE}v?dyjD;Fm2bm=efFBtK>*Rd26qfIk;@6NgBo_p@ieERw3{pu=mxM(3F(CJnd zy}?OYzLS@MEXpO%LR6sRwp^BjC0V{Xc&T{Xa|3}5(se7faJ?cmc>>9qiYrSCvg)gQ7>owDd@Ap1 z2yg9|>g}6e5cWbx(uK_W_LP=A4)$Unjah>>it3gN0_~wazoUY&gj=gtz497&Vm&dl z<^$>8nU(jnObaF}$XalVNxmxs@9L6Q6^PM*%ypaH4m#M0T}sel2S;#Jplw-}{6#`9 z7v^X@#b0L+HRgpK{T5`Ymp>VberHS zl|Yt4phAp07*z<B!33rh8v{hhyJ~|31gT<+UeON}>b!$#g|g=> zwW{k)`)Z1vtus2L))BjC0LRZ~L~RaF7SG%-KI6PCLs_*pXq~=vTs^ZDb$=+^k;a`PcFh7EAeD<&g$QY$U2kjhx0;jPNeT+Jd zI@pdK8qb-88XhrQDa$DSYo}uGhoi>$Q>1!heMe^d>)5^ZF=GAC9~h!96@9Y$T|6h) zXepRNH#YO$OY#&B@T3av)QxAtf~3cOz7xdSNb?p!mZ%hrRVp-T3q2MV4g!e?Vf`2g z^#z1R2~B3V)^TWV;3MJ#+v*rvF;<#Fk{Yp>eH_sA9VAyGvW?89h$N0_5oE)0o>b=! zhAGF;ayXYC=&-a~CvY-UFh*R2Y;moij*(})G%Pm>0fuz3o(8B{EFKmUT(-Yajr~bA z{12)Leg_-7GegbF7h9`J*KuZT6KpMIlsh)oG7P&Z&2IW&BagF03oi6una};nJW1xM L|7I>|yDt0!-AnBp diff --git a/bin/code/Account.class b/bin/code/Business_logic/Account.class similarity index 61% rename from bin/code/Account.class rename to bin/code/Business_logic/Account.class index 7af241d30477b88cea4b1d36ed373af5a92d40ac..15c97974b529efe47a8c7a4d500377665a7a66a6 100644 GIT binary patch delta 69 zcmZqST*Rq->ff$?3=9mm36ytBMIMOC`e2dR I_^XQ<01iSJZvX%Q delta 40 ucmZ3)*}^Gu>ff$?|Nk>MFc`2iFflUlBxt#^(cKZI)o{Vg>*(`3;l+ diff --git a/bin/code/Business_logic/BalanceInquiry.class b/bin/code/Business_logic/BalanceInquiry.class new file mode 100644 index 0000000000000000000000000000000000000000..507e203ff6fc557e5d7d88cd1cfe8cd4bafa433c GIT binary patch literal 1268 zcmaJ=T~pIg5Iq-KT4Lm*737)ce#5sM)A!%nZp|_Z`_h(< zVV0fG4a>VsASN*VzqnIRI=(al%XI{Lb}YvV_5{|lX9BSU($LV2ULA4t2=rG-=yjuBHN8_=wM~Ik#WkdTCOu2tqd#N8d&?J? zYvJG8#Mf#-`G-5n(BDZ}VB)rh1QO;K(`W=_-JQ*y zX%M)tV+5mws+qxcsHtr3HZYYuu44j|Iag9JIUP$XOtp0C2GWi~lE@1TY0)iH zcHX&OT`G}mX;{U>1PV;Lp%5Kwc*G^2TmC0oULI47vSum~5Gz~xATMNrqO2880?%@4 z6ipKA0>hb=%wLL`YD>3U8C7RP$5RE_cO6o>Hg#-)dPqmEl55-2E7p}RRD&gjzRRU) zgb!Q0g3j=l#B%}8TCaBKm@mK&#m?E2?Tx9462pUzDG6vNZo@OoLrbYU9gQn`bE~Rh z%&MGg11w|_yNhK@%+j+B)^6c8c&UpKp&&}afjAYD-JsD^2QAM`iY{f z0St!GNu-cw9f5loiYol%T~#VBH8EV_F?PJnbE=8iSCNt3jOSC!O|0ZokDGXs&o%KZ zpW0F8NIbOn=)9t~5mFdp8^feI#-gJvJB4vf@|&TcW|8B$iaD%fo*P=g3oM3htTT&b jqBi2#p(jnM8dqEl+ekBS9|xp8$@~(nIQ=h~)rG@92-hYo literal 0 HcmV?d00001 diff --git a/bin/code/Business_logic/Deposit.class b/bin/code/Business_logic/Deposit.class new file mode 100644 index 0000000000000000000000000000000000000000..be31dff482ec134f0d189f965db83a1726ff92b2 GIT binary patch literal 2226 zcmb7ETTdHD7(D|R8)rijLoQsBOs}zxfn1u>LT&^|N@55J4h`ug8P*fnup%Vka2akE9RfqP zU)ST;o1x?BFnr|t>yAA>s~djkL|JqRoPL`@El^&l?8xywfo`?sH@!$e%<{0QcN(fL zaHJYL-n>6QemlOJ5;#y#0x!Eh&5!L{qzTPE&2lr-i!*c8IffJS0taV&FN~BItthvt zI|&}lbII|X=!(FD;{1M`WjoN?n@TQbRixHbNOsEGY#q{XZLs#e+fkHO1iEIZO&*=- zvv3Ig0_Xl`uF^^mp&ql4Mb7L_Sm;4s;82xnFE+Qz3hrM zoKWCog7ED%qFhIsp$?{P+Y})QD$t{%twfABDv|0#1pMAEi@@-^L`woDbrk5ObDLHI zS^b^1n-O_*7E3F6GCgCVh!XRx>*&oqr;4R_Wirkq7AhEJPCB_H~b()Hk~#l5zQLyFIdQ+JBNz`qxmIQvoWOOQMpJeSx@>>YHwS+enU&! z_aem(^VVe^6Zkxf&q!vkqZ0rYCPDps>rU8k)y@JRkXok*M~l^`YFmxF%3B{_jsixR zGO|qIvV|+SD$tj@%=)gYf)>=S;%sRphiSI`n6aL*Fl!PN-b`ScCyyKWB8!^>{d=I= zN@8Iix9I4Eb19>H+Sbmt=EI~Q4|Avr{E}bwo54Qk4He2YJ|7vRwqyClJGHqpyL zE1WO?hV#8YJ;!vV@X0Pdt(fyJE>#NGc5$7DDnGd7$HI}ltm&Jtm8@UYi z;v`Kg^8=$9)ufT4I#PH{<|K7=7i*V?e@3SFiM#WLcnmVjoM~sS-`X3A!NCfhf!8@?|F9v}bc>n+a literal 0 HcmV?d00001 diff --git a/bin/code/Euro.class b/bin/code/Business_logic/Euro.class similarity index 73% rename from bin/code/Euro.class rename to bin/code/Business_logic/Euro.class index 42b7ecd3ede68b2312132aaa52eca5cd7f804fc8..4d85228ccef1fd653102bac4bed90a5180116d58 100644 GIT binary patch delta 150 zcmX@ZGo4rY)W2Q(7#J9A8SL2^m>3x(lJiqi^_@zKGxJi5i{o?h(=(GNicA)j^1&vt iHp0+M1DlM#YiUuwwI(*H$r6lOVzO9uZT4hjW(5FE7BnpY delta 75 zcmbQvdxl5k)W2Q({{LriV6bOrU}9w8OwLb9ov1vSjoSyzIvpV_p#f&G-=t)eat=g+IF?}| zz0{AwDolaqnfxrBK!y|Ny?ds-RA5zlUX+FDyX@Rmv49u~R1z;%Dimmq@~&@BhR#u* zdMaSKGW_&frqY#(64)wAW(ntT?v~Y+XMX6XF9e?ShfB@=2OW$B%vap04g(DfD`*NB z{lT~ffwqM*D%$H>sN#n9)-BXf7if&AK(WoSbOVmq9z~uE#xnMGe33NMQ$G>dD`vP} zH}25N5*5F^EK^OU=Y=F>q(8qlb)Kkn0l?9zY>gK)Sf@W&QiRP|ak<&{tnNCEtLlsL zvXqRz?Xv?fvfyHx`QNVkXwrl^y zn!Pzi%YHaT$9^-4)9!W=i8kq*ci+43{y68}yMH|XNfYvpVORbnAm zuw4a8lES>XvM8n%)Q)%$Pn=D5p7f6T6>K$xGdE;8i>B?Ec?CO4I*H9UR1GBt#}dOM z!$W+P$k~o7Y&R{k1+$XzSJBUaWn1p63Z|mTl9h2IZ<=<$e=sCmkr56P6!!dvuzt5G ztkUc97-DG!fdl~xqY`x*wxM1@_y6=3OIJfdqXrcrx!bOx8es)BBZPdcu#hqH6C#r} z71WL743SNXyd~xJ!+<+yISOc-0n&=%8UpCVaaJs)f7YBT`1kI!FwH_nWa% zu6Uxi6OBE~mweo&;bpYb zD<5y9QNQs_61bj-)QxNCM3;hwX;xQOtc;p=AvH7T6(#{>JV^=vehooX$p<|e4$21+ z8ZUz_j6--u#bE_Iy#n4SoU$s?&c7UGc%T9nYJqxiuQa%Q!<`}h9L|q2u_tNey zGH=;c(uDsq9l}WkE#XsHlTDzzV&2qOa)rEZP(`rm})qM)2zuN znvNr8O}u_QW~?QG|`o44%Q{urH&D@cZuwo}Z;cSKbmAKkKbch1xYCr0Dp zji`*dT#msB-B}RXteMySSrQN7tb*Zkb29~d+L2bgEQDX{|Haff!W>RWaZRnTvpJU#IE#0O z6B~#w7w7mosC~L5d{M(YlG|>HQAG^@;q7E@p*g6VtF9M-0W14Was^vJWfHvsQzaG^64g)y7$nhI!nQ6R@TP zSX@>Zo@1ZNaUVd1Y+LRsEnO%J^nJGjmKeW^* zwCIw*AnSb1(^-%%zW4ZwjYg_|4NnFl4XMdsB$}G6iVUPC)yQ;eGE|G-Q)3TswY}~l z(QU62-fDQO>8-QgYI*Ctw=S$AN9Gzr5_6Z|Z)xW~KJlpQ@sTM~cb}xlzEE+`Bd3C1Z<6$D lj48vixz5{wM_40*j}cQylZto$;xtr)f6|yj$Fj9={0&qWb6Wra literal 0 HcmV?d00001 diff --git a/bin/code/Database/BankDatabase.class b/bin/code/Database/BankDatabase.class new file mode 100644 index 0000000000000000000000000000000000000000..db353b4685e371485a3deb06de0c3b7ab2db56ab GIT binary patch literal 1558 zcma)4$!-%t6s-2xGk7wX*kl2cK-g`QVD>eO31%^bfE0)X98h~Q3IoPQ_BeMW?nrzA zoVXwX5*P_Y#EAnEH#qVI`~m{1+Y=`s5s*f$?l;x->Q&drA8!@_jN-h7h`M zGLR)%_i_`ma(nS$Au7;$OU}z&Sytw97fZK1HxO7QUANk(1a*Op*C+M;iALS8c=h^? za&^vkb0=DW;{xW0U-5%60VAE65s02-HyZ{z99URoVYNWt3Jh@wtZ@*7X#k)1n)wHL zY6r~x!}oe)!$FVY>J_lk#bTk5nK2;leIowr7c=i`lwz5rz^TTal2^MdOJz?WHCc6K zc}CWJbqCm%6a`j? zrY=?mYYDeet9g~BRs$>cA<1+g-P;%BT|JEjlMQ7fxJeG*m4SDq?$rch^eJ=ArYSiG zgV?O}?RBsZ`vp4YW!ax4^ipw(&&AQM2_zf57tXt=&r&rF>R9$yV67T(UixKa>V#x) zTzajD3aZaB2Zuoi8HWNNh2YE8K$b(GLX0^WQ3%tmd9yy_M!9@c^=rbxI8G`y7Ko5{ zR15_KsbaHU$qy9jtb@}EWlvWdHP<`stH(|*5B6@AX>6teObOSB3K(}5_e>?%I8XCX z76BvK*RZp(cW_=Ik$s7T@fOb2Zx_9^n;y*@Uu@4`?M zTlyX$HuU_yAqKjmkAHp>&j~h`HS7hI@Z3l8UhL$m8V>5gGhsv0V+a2UVr`^(iXcl= zH;kWDYSI>ZEG+B-5)s0NFdXU&2#pe&%Jwy}dusRt;=}z-?0ITDZ3{_h#177pA$^u} z4`~tE*3Gtv6b@(+WWz!3)Z`8h@s^?G@Lj&6(_&39Lq|ddqr^qnE3OqZar7AvEz3

LL8vT>%$UmsYkq=c(QnT{K)~eD?oLEYNt)+}HW8=#n!){Bn d+dkMR;1tn$$LqSG0i(vvw%Y5+wt<87$ns{iT`+K< z9Y<+69!+!c+a$6+qe-S(S*|VbZr5ZeH)NoaqXfZ!6Bb$qhN>i(#UPHD7{j=MQ~w{f&>A6-qbAbG=%?c* zMvyfyR<~WX+TGbuep7BZO0)DV>9nM8>wR)K6mHppfzek0k^SLrp!|wuX)WU@21aDK z6Z3l^XhN6i_^zL>fg`WcAdV4hz@+r))7(H>eXFc)NUVeTLMux)XHDc$VE9cHz8Zca zUwBOd?K5MdgmX+qpB~(?o^=9P+s&Fdk9VnE$M<$R;dReXz*LeBB8Zxn^gR)k~6X<@(;yOM_<3{i1^r>%R3Cnb{gT;i&ZDlEYSMl~xh&vh74g8#4_qzT| zu3It?8|-)CC${D6>aFJDyl8GIvE#XFPdw-bVNWF077uO55v~`~O^~eZ=w1|TGTRXk zmDp9jeSc4cbdT?`@a_xg?lGn1cmV@gGT7otTkL5h)|Rri17Wc!KFJ$cHE|1TUG%5x)=;~ zun|gYdqsAl3!Q;9FyCuZ<%Y`d>(N9~+ZENt)n-HFJzty`p_jld%(G)Hs5DsfxMSn1 zYT~}uG(%07+)g(fzPhgGpPqmzTOSz6HdqczUAOh5F_XS3>wd;tG}H5P2m|^a@o7L0 ztLT@bioYjt04A*tMrWh6=8eZ8u7`Q@9X++zcyX$9?l9w^yh$wjNf4#RIF7f8Oh+2WJH(bEhEq5l zBQXZ}M!&mP+{c+Zm*Ps1YxyZI6o18q(H|e7Qp&x*kBcR}-^Zm=?&?0SadT`Ri&suQ z!tqk>CQoMQwi4TX`WU%V?sFbK#z-l*&IiqE5SrC88G*=CM4ctt9Pv#N&os^u{b`~; zivmaFEM|D~%UIw@tKcG5xLf0#Y2h-~`3HIz*CI8FG5$o26u#tF*C$KMuOc<(xPFaq znEx&_AHv`>tfg@~jXC2lWKz_NLo=z&_l%}h6IzP;Ozs|;lhnjMHZD*9gw*Jh=^w_i z={=!M%;!W@jT_{%%$nC(rCY4i8o4$id?Jqb0^d}Gij$8uwOO};2o;C&-2S H4`BNrU>odl diff --git a/bin/code/DepositSlot.class b/bin/code/DepositSlot.class deleted file mode 100644 index aef4d2534eb60bae8b9c6d7322547bdc2a46e88c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 353 zcmZ8b!A`Z2;tyuyG(S++9mDMukzx_#DgE;M}f1I zMB*IY%)EJTX1+I{U)wEi(T@-aq{=QRyQh_{w3{01B81E?Wi2x!i|1^TFG)Fp&b2PI zyAf!ep3McqJNCtB;V?lP9f96R7c^eK=2XsPZb+a%vPzn{EVb`r5Nf$qz9aLQeny diff --git a/bin/code/GUI/ATM.class b/bin/code/GUI/ATM.class new file mode 100644 index 0000000000000000000000000000000000000000..56489b408801906f732d412be52cfaf964f4807a GIT binary patch literal 3263 zcmb_dZF3XX6@IQHkXSEoPD28=VGSg;1(s|eq1Z-=`~oPEYzN6UrcKCtwb+a0U1fI# zsLcy`Ym=rWl%`}d{Q;io^g}yS%QI!BpF8~-{R92b>6cDY`rKU!iHtj)&h*3X-h1xZ zd!FYx=brnQfBo@K0M6sfI3fb7;grqv#ra%1TPnm66WDh{zp1Ayy1kN~UA|!&zQF#P zXS&&%ziQgPW$3DZpH+x~)HshLr#Cj^wm zTCSP>w)~7hbYO6SOOq5`K@^&bUi9sP zz)=-Duv3nXtB4~J$Mb~pE$I|I2Tl46s@Mf3juV|ep@IsMp-)Oh7t}b0sm$Yjo={Lh zI&?j)VmJ20@q$cgs~$QuRB$GA{GN)v*cZpBz@fl#TM-qU3*FDF*pF^v%v-h@R!2!+ zt}qAPdB@Nz3%YB`dD9s4S1nIqPdksSNoFMK*6akP1a>KlX2o#U&3>uG1r--@iF=h< zEET<8Fg;ISF=Z@)rw8)wIxhOIWv`44E-2LQ6&0_dk9Dqh6!bhxO)eHx%*e&3s-}D0 zao0<(ZhN}nTdaTt=BSTST4lXxb*I*^U38rCa^37_i4=X^SS#q&fJy>Ifn&;C#bm*0 zJRqhke{eNDJSdtSoRm>b(wJAVAZhG*l7`IV6%|Y1IZLdVe$KAeSmZ3ATmnDf(NU(` z`_AQNPZ8^py!&JNKb97}p2Hy9>$qUJF@o_DR{tXM|6 z!)r`I1$G?k0!M<<`p>Q^9GRoIdD}Ef{*YM z*_l2O7#Ya5k7KiehlXvBKF?SjKNUETL)h@`fx_lQRDdm*`nBgyC{`sM3b@*$pE+QN4?F~DJx!;_mB;xNtO z$R3Z-2A-zZlXK6Xn0c4~Jm^>OFEedf ziZw;Crg4(rG%gYED;Oi13<{KKhSmbF$JqeA7UF86-%no4LE?`x83soYNJjjAgNzVz z&P%Y#>K~lNxH>QL(eoP=wSjV`?>Dr7sgg;NT7ZdcKPQuY4Xor(G_baTLjj>G3B~w- zNYCZ0_p3*ZHpL4h#vlx~$nCDO@?U3C-XuMXsaeG-tdU}cSDa0H4(U}%&n01xL|x4B zpAv2bbdw?ACfx{%@KGbs7-`;Ql}EVq6nztvMH27Ej&Bf;qawb>aiQ-1XCMi0x~2qo z_=lvK37Fg__F(YC*5K{d;N8~XPHXT%JL$jW4w0bn4wD`5Hq-eIW53ISdyh4L2Sa$D z96#tNxXfb?yjz=S{?5N;nN>xhN2Xzok3=VJ2l)*1nSF?lmI(5g1j=W83qLMwAoCEP zK4Iq45T8?9_>9X(9^&qH%V)Q6uW<5rK@53t!gBnCY(C>TzRSb%IrDUvk?-L&?i2qn znV0)4zAtbY5AX)QB>D%;+^;*zvD)NDCiItmD?*Pin5nQFyAb;tz0Asi!#!O56$3}` F;NMaz;`IOk literal 0 HcmV?d00001 diff --git a/bin/code/GUI/ATMCaseStudy.class b/bin/code/GUI/ATMCaseStudy.class new file mode 100644 index 0000000000000000000000000000000000000000..7827cba5f7ab9cb20b0d322cff8cdc6902822bb0 GIT binary patch literal 492 zcmZutT}uK{5IuKYUES8NOzrEXH!Wy?fE9#L2v!f85ItSjMX%@z>u%7`>LsC|AJC7A z&NV>;xiB+lF6W$?`TqI%0&t0A3x+`1n+<&T_Oaz&ckh~V?suYi@M^&nD2(NcbSE+x zx)1%a??nQs3l*s7N+40I_XNx)$u<(mI7lKTkZ-HNzmKPVKkUl>#246Y&pbKl$xvy$ zYMRkV%>}CMt>z61Po)Y3Dz)eKdWcRGs$kft_be0zoK3Ec0x~-6IVkHv5@AffDZ?Rs zN?TO8OEmJivq0|O7<9KgvpDqp8>JU0Zrm8RU>>N0VC=GnliVC_F8Ax3hPY)*`v3qm49W96l{p`6Dn_iPE&# N#{uO84v7sM{Q@OlT3zvlJiqi_1!}~CyK1+lJJ4?HlBRO2mn$74#fZf delta 39 tcmdnax}H_!)W2Q({{LriV31>HU}9ttO3qJ7ohY%MO~ePp+IaC9BLFKL4w?V} diff --git a/bin/code/GUI/DepositSlot.class b/bin/code/GUI/DepositSlot.class new file mode 100644 index 0000000000000000000000000000000000000000..eb913b9d8358d246fc3bc56178ad54d117dbcd4f GIT binary patch literal 361 zcmZusyH3ME5S(?K7#u@Pgy`u2A?^c!G`xglfkYq$-Pu{eMaCD|j=zeA3W_E(&qO!#%it!nEBf2~4( literal 0 HcmV?d00001 diff --git a/bin/code/Keypad.class b/bin/code/GUI/Keypad.class similarity index 68% rename from bin/code/Keypad.class rename to bin/code/GUI/Keypad.class index 82aa96596b3f6d73cb8057b25f3f9f78112abc9e..0075ac2b06ebce77e44e45ef190961e0ddafe9d0 100644 GIT binary patch delta 48 ycmZ3;vXVvO)W2Q(7#J9A8C2LAm>3!Olk-zj_1!}~H;V8vatZptxRW&)e*yqX0S$8i delta 40 ucmZ3tB-6+Aw$j0jfVoo+-{0RUj7!61O diff --git a/bin/code/Screen.class b/bin/code/GUI/Screen.class similarity index 72% rename from bin/code/Screen.class rename to bin/code/GUI/Screen.class index 8da92f0fd0603a00907f57a6aad227c93cf7947d..e44c9b22cfe2f7843802b652f93c4da5ec64a0b2 100644 GIT binary patch delta 47 wcmbQizJOig)W2Q(7#J9A8I0K(m>3!Olk-zj_1!}~CyL~93Hrcz8`}k$0Y!QZO8@`> delta 39 tcmZ3$K7(E4)W2Q({{LriU@&H9U}9w8PR>tBohXsZ#_I!OZR{6h1^^(K4Ilsj diff --git a/bin/code/Transaction.class b/bin/code/Transaction.class deleted file mode 100644 index 883812e301caa386abb1b6d4dd3f9828c8ca9092..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 852 zcmZuw+iuf96r6ROq)FZ8*0ew=g|^Vd0`dVM#7#(*B6w((_w}+WZc|&b*Hu4?2at%6 zc;Ey0D9Wr|kQ4IY-E*6BX3omLe*gG+eT|nmtius#tN5cHog^|!r7~e0)!{OFCNJe^ zDx=fUhu};rBd{iwinGYP&n^O;2#6zrTB;JQBPPdro8#PlCg24!I)5vT3}mVWdPVwm zDafMQ^Dqj{3xR{d(HwqB^>8BKz9H2nDrk9FMO&aU7)}}x=z6H4W~~hmb*xxx(?bJI zfz~*Tbiw&V22+yhj$BWRbUaeb%S zEC9%r3u`d(4>lOisb(W)=Nt9^)|A7fRM%HpWrk{+$8nY@{Vuf9+NF1VYM;=3z*STL zevaJ{Eyr#szqudYRaUIR#*BrIQbCW0#s7HSQNuZtz diff --git a/bin/code/Withdrawal.class b/bin/code/Withdrawal.class deleted file mode 100644 index 08dfcf2ee359235b677d16d4a1eaaa1a8d23cf52..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2584 zcma)7`)^ZK9RJ*{?d{5ib=?EzM6Q6?&aK;E3>o7wx`Bl~z>VRCAg8x?+ugd`+1_r9 zhagcg(O*nV6b-=`B8l-A5}AoH{%rh{jA4Gxx!ns%v`x=B-*djt&-c+kpZ)s#$_h^4 zj*bcq)mA=hw_S9+>1;tPikyyshN!w6EeN+LEYHci8bV?&UvfPSTAIYHy)-Yf8nzB7 z&a;Xpc_QAR>~|0Cnpnd zQsjhdG0Z?bo#>0;D30r3F~yYhCQuCaL9d2Jr#MoYoOCS5c0I|krps3{Azerr=tIAT zVAjq!Y=mGu-6vr@iqi((0^7onp~}jaDtyVYFwSadik!>YELPJKv$naEFBMFSET)@Z zOhzz>VI4ynwkZF62o0RWdAhs?Ua=^qY*~3M$@svGSP*TDa;j~_D>&}dkpvBmXh=uW zZgDLV-w0WKTujF`y=mL*9UV+YRz0$&^LaWZ%;KELLyEWwkWlz z2!vn2|3}qDLL5oSq~z$V>8%fzWHR~O)ZkRnCS?7ty1kZ8jpM?|Z0LOsilUkeR59WS zYj#k~tL_WqDvKqu-gKs{zV0wG?1B!n)!e(kJq%jX_e-La#3YFWlISAAg;VNH2(-lQoNW&Q|j|X^s|_Ofe-Kmv~0xe4!hTYy#a+C|j=L z5^FT*NHscckZpv8XxXP6Im4>g!Ai>N!mDgaIgSIUkR8fXg`9+H=N#nz61MQ3IZ=08 z$<3fp%{9uKo0ODNbEgJa+j`^~* z(L_peysT`=(@wlXU*u^QOyy%8y$zQ&?WS)*`mhIkeNVLS%bwh;>}g)cYuy2^iSA%C zx7MfVX#N=;(a=L&X_OBKmeG}#SNGyyKfno|8YH!hp8JUV9O`u$C)eLj1$r8Tu`|mU zc#K^h8PGKHt>OBLG`y#9DItR&zIFGv+!6&$| z0o;3Ka4YaJ-oZG*N|0{?mk91%Lg=5uxJ{cTA>4)~T&A}{+6OfUS9lfDp=n_H4(YtY z3N9ijuPRq>s#f@~`7bX0IWC&ypG7%evosc@i62zH5`)puZ;|mpv~GAj7>y5)hoU{h z<9akZJRYvWAHzeBalIw>9?@-y3AI{kwbeSMR!6O~YMom~o|&s#MxiTEANY}m`03)0 zaj2?`bASHV-dZ0>_B=*)G{m*4CALUq%;u*}Katx{=M~m46nvKn$W`oPf)Y$n8>aZr zHq8V&OxO%gW0qLun2sNrb)-Gzc~r@;9pdx;R8Bdf!qH8 D=T}AB diff --git a/src/code/Account.java b/src/code/Business_logic/Account.java similarity index 98% rename from src/code/Account.java rename to src/code/Business_logic/Account.java index 1907165..fee5a2e 100644 --- a/src/code/Account.java +++ b/src/code/Business_logic/Account.java @@ -1,4 +1,4 @@ -package code; +package code.Business_logic; // Account.java // Represents a bank account diff --git a/src/code/BalanceInquiry.java b/src/code/Business_logic/BalanceInquiry.java similarity index 96% rename from src/code/BalanceInquiry.java rename to src/code/Business_logic/BalanceInquiry.java index 884f3f1..3ebe480 100644 --- a/src/code/BalanceInquiry.java +++ b/src/code/Business_logic/BalanceInquiry.java @@ -1,7 +1,10 @@ -package code; +package code.Business_logic; // BalanceInquiry.java // Represents a balance inquiry ATM transaction +import code.Database.BankDatabase; +import code.GUI.Screen; + public class BalanceInquiry extends Transaction { // BalanceInquiry constructor diff --git a/src/code/Deposit.java b/src/code/Business_logic/Deposit.java similarity index 96% rename from src/code/Deposit.java rename to src/code/Business_logic/Deposit.java index ac2705d..76a7913 100644 --- a/src/code/Deposit.java +++ b/src/code/Business_logic/Deposit.java @@ -1,7 +1,12 @@ -package code; +package code.Business_logic; // Deposit.java // Represents a deposit ATM transaction +import code.Database.BankDatabase; +import code.GUI.DepositSlot; +import code.GUI.Keypad; +import code.GUI.Screen; + public class Deposit extends Transaction { private double amount; // amount to deposit diff --git a/src/code/Euro.java b/src/code/Business_logic/Euro.java similarity index 96% rename from src/code/Euro.java rename to src/code/Business_logic/Euro.java index b12ea4c..f518760 100644 --- a/src/code/Euro.java +++ b/src/code/Business_logic/Euro.java @@ -1,4 +1,4 @@ -package code; +package code.Business_logic; public class Euro { diff --git a/src/code/Transaction.java b/src/code/Business_logic/Transaction.java similarity index 96% rename from src/code/Transaction.java rename to src/code/Business_logic/Transaction.java index 2138610..5256dca 100644 --- a/src/code/Transaction.java +++ b/src/code/Business_logic/Transaction.java @@ -1,7 +1,10 @@ -package code; +package code.Business_logic; // Transaction.java // Abstract superclass Transaction represents an ATM transaction +import code.Database.BankDatabase; +import code.GUI.Screen; + public abstract class Transaction { private int accountNumber; // indicates account involved diff --git a/src/code/Withdrawal.java b/src/code/Business_logic/Withdrawal.java similarity index 97% rename from src/code/Withdrawal.java rename to src/code/Business_logic/Withdrawal.java index a2e6fa3..5981f63 100644 --- a/src/code/Withdrawal.java +++ b/src/code/Business_logic/Withdrawal.java @@ -1,7 +1,12 @@ -package code; +package code.Business_logic; // Withdrawal.java // Represents a withdrawal ATM transaction +import code.Database.BankDatabase; +import code.GUI.CashDispenser; +import code.GUI.Keypad; +import code.GUI.Screen; + public class Withdrawal extends Transaction { private int amount; // amount to withdraw diff --git a/src/code/BankDatabase.java b/src/code/Database/BankDatabase.java similarity index 98% rename from src/code/BankDatabase.java rename to src/code/Database/BankDatabase.java index 7e4a5a6..743c5b9 100644 --- a/src/code/BankDatabase.java +++ b/src/code/Database/BankDatabase.java @@ -1,7 +1,9 @@ -package code; +package code.Database; // BankDatabase.java // Represents the bank account information database +import code.Business_logic.Account; + public class BankDatabase { private Account accounts[]; // array of Accounts diff --git a/src/code/ATM.java b/src/code/GUI/ATM.java similarity index 97% rename from src/code/ATM.java rename to src/code/GUI/ATM.java index fcf180d..0a49a19 100644 --- a/src/code/ATM.java +++ b/src/code/GUI/ATM.java @@ -1,7 +1,13 @@ -package code; +package code.GUI; // ATM.java // Represents an automated teller machine +import code.Business_logic.BalanceInquiry; +import code.Business_logic.Deposit; +import code.Business_logic.Transaction; +import code.Business_logic.Withdrawal; +import code.Database.BankDatabase; + public class ATM { private boolean userAuthenticated; // whether user is authenticated diff --git a/src/code/ATMCaseStudy.java b/src/code/GUI/ATMCaseStudy.java similarity index 98% rename from src/code/ATMCaseStudy.java rename to src/code/GUI/ATMCaseStudy.java index b4b92d9..5beedde 100644 --- a/src/code/ATMCaseStudy.java +++ b/src/code/GUI/ATMCaseStudy.java @@ -1,4 +1,4 @@ -package code; +package code.GUI; // ATMCaseStudy.java // Driver program for the ATM case study diff --git a/src/code/CashDispenser.java b/src/code/GUI/CashDispenser.java similarity index 99% rename from src/code/CashDispenser.java rename to src/code/GUI/CashDispenser.java index 3e332f3..4e95de8 100644 --- a/src/code/CashDispenser.java +++ b/src/code/GUI/CashDispenser.java @@ -1,4 +1,4 @@ -package code; +package code.GUI; // CashDispenser.java // Represents the cash dispenser of the ATM diff --git a/src/code/DepositSlot.java b/src/code/GUI/DepositSlot.java similarity index 98% rename from src/code/DepositSlot.java rename to src/code/GUI/DepositSlot.java index d860a09..bde0339 100644 --- a/src/code/DepositSlot.java +++ b/src/code/GUI/DepositSlot.java @@ -1,4 +1,4 @@ -package code; +package code.GUI; // DepositSlot.java // Represents the deposit slot of the ATM diff --git a/src/code/Keypad.java b/src/code/GUI/Keypad.java similarity index 98% rename from src/code/Keypad.java rename to src/code/GUI/Keypad.java index 34ade75..f0f716c 100644 --- a/src/code/Keypad.java +++ b/src/code/GUI/Keypad.java @@ -1,4 +1,4 @@ -package code; +package code.GUI; // Keypad.java // Represents the keypad of the ATM import java.util.Scanner; // program uses Scanner to obtain user input diff --git a/src/code/Screen.java b/src/code/GUI/Screen.java similarity index 98% rename from src/code/Screen.java rename to src/code/GUI/Screen.java index 5949126..d9ed691 100644 --- a/src/code/Screen.java +++ b/src/code/GUI/Screen.java @@ -1,4 +1,4 @@ -package code; +package code.GUI; // Screen.java // Represents the screen of the ATM From 03aef54ad6e1760569cbba67c85da82019513022 Mon Sep 17 00:00:00 2001 From: "leo.devic" <4631057@studenti.unige.it> Date: Thu, 23 Nov 2023 15:30:56 +0100 Subject: [PATCH 04/10] eseguito refactoring Euro --- bin/code/Business_logic/Account.class | Bin 1186 -> 1433 bytes bin/code/Business_logic/BalanceInquiry.class | Bin 1268 -> 1343 bytes bin/code/Business_logic/Deposit.class | Bin 2226 -> 2452 bytes bin/code/Business_logic/Euro.class | Bin 1687 -> 1700 bytes bin/code/Business_logic/Transaction.class | Bin 921 -> 921 bytes bin/code/Business_logic/Withdrawal.class | Bin 2718 -> 3017 bytes bin/code/Database/BankDatabase.class | Bin 1558 -> 1866 bytes bin/code/GUI/ATM.class | Bin 3263 -> 3263 bytes bin/code/GUI/ATMCaseStudy.class | Bin 492 -> 492 bytes bin/code/GUI/CashDispenser.class | Bin 695 -> 695 bytes bin/code/GUI/DepositSlot.class | Bin 361 -> 361 bytes bin/code/GUI/Keypad.class | Bin 553 -> 553 bytes bin/code/GUI/Screen.class | Bin 928 -> 909 bytes src/code/Business_logic/Account.java | 20 +++++++++---------- src/code/Business_logic/BalanceInquiry.java | 4 ++-- src/code/Business_logic/Deposit.java | 12 ++++++----- src/code/Business_logic/Euro.java | 6 +++--- src/code/Business_logic/Withdrawal.java | 17 ++++++++-------- src/code/Database/BankDatabase.java | 18 ++++++++++------- src/code/GUI/Screen.java | 5 ++++- 20 files changed, 46 insertions(+), 36 deletions(-) diff --git a/bin/code/Business_logic/Account.class b/bin/code/Business_logic/Account.class index 15c97974b529efe47a8c7a4d500377665a7a66a6..233829a34a0f7a0e628414f86ef08b352106bb4a 100644 GIT binary patch delta 457 zcmYk1%}&BV6h^;kiwzZtQUNKjGZBh_AU~qU1&Iq15_hs56_Xlh36!;Km)MnCp8yik z#Dx#w(pT_3jCYDbGRfrL@1A=y^BjCy*FJyVKLFIxm}s|>(VlE>@1Bo`&Iv=vbzI(S z@*cOZy9{fmmTkFb42?{yCAc-86IH;kW{(C_Qkm?3;!RmvPG>|A@saGMh8*%L_8E34 zjfpgb0*VZQk<;&UhMLc-3tp_6en}7DeP?XDMBa3-ELWHgL#T*db>z72kXzn28>A%! z=tqY6hOn8OW6MmlCRwP6PH)SVaSA3 cXnC)S2x=>KeQDR1_9|)~SB}*>ElD`~1^Sd!O8@`> delta 356 zcmYk0ze>YU6o-E|$!%z&6{#_r);Y;l8w>uKTr>zB1rZ!$8cVgNB5`(bbSigp^#w|y zL2&Q^#8>F6h^IkHmUGT`IQRSAH}kz}eE)ua0XW9q$hc8hIC^y|y4UH1;bi8pBh~Xm zhLv8DT@15ma1sroG)@>Q@nh2MXAGJb`j^Df{qQLz=H2AFpUIi>u%$vLvm-uG6OA0J zqM4&E{2Z3p;PO_D7?(e4x}<>79T!trV|k{vOAC7}U$o%)6dWqunBr;*+l_PB6G8=> zR1NAti+TWuruBkNG|(iXM-Zq|1j9Cbs>`%H{})1Ge=5{8mDIH&bzhMC0Bblb Y`K^WDTKIRcE8ALK-f>rNQHp}#4;)}Q!~g&Q diff --git a/bin/code/Business_logic/BalanceInquiry.class b/bin/code/Business_logic/BalanceInquiry.class index 507e203ff6fc557e5d7d88cd1cfe8cd4bafa433c..49d95492883ea2f22c95ca5a4dd9a0fda1cb00d5 100644 GIT binary patch delta 148 zcmeyuxu1*U)W2Q(7#JALH*#1qvC3+AYWhqR5MgyKEy}l^?8bD5Sylr{K$SU&NeYQy z$-LfDF!4J#HMA? Xn361$(^#6hSr`}@T!Dr#F}MK$xX~lc delta 121 zcmdnb^@Wq;)W2Q(7#J9AH*#1qv9f4*YPw90XS&18qTw<*oH>Yz(Pi=x=Jj^W4D3Kf zj#}Fo#C(8+l&?0Bl-tIjViD)e$n@#$c+WxsAa>N5}@mlwh5_k)@fN Om4T7L6=(<(gBt*}5geTW diff --git a/bin/code/Business_logic/Deposit.class b/bin/code/Business_logic/Deposit.class index be31dff482ec134f0d189f965db83a1726ff92b2..8d47630a4f7c6eff48ad7a2a77672bb6afd9cf27 100644 GIT binary patch delta 1199 zcmYjQT~iZR7=BKc-A%SjiAz)n2~r8k5wf4M`@3nL5*% z%yh;dklEh!-q!I>Z3#0v;}7UXr~MDT>QCqe<8zjXPG;Vm_ucp7d7k&27bkx1_5XSJ z@-={I)O2_R23nJW*2uIcnBhTP+^bh-T07a0H<>S&Dy7D(fD(yr2y|Vk7K%Fj0)0%3 z%0vS_uuSwKAfP2X*=l5YIlAG4z$p_SKy!W)(bnHv-3Am4$mEc~Wb2>tQ%6aICUkgZ z`bQ>wFr23%J;U-5%sFd8>;0pm{DGp$XUn8HQpsptH;OC~$F|mL}f!;#tL9Lv7xKJ&ZbM?0a!V%fO&+Q-G@M1|oTriMA+Qc$@JXcO@ z8LaBK=KQ7fD{Hv!{HKJ)4aeK{ICj&-El^Yc{bFN2pO=tV_jd0U>#o>o1GllQV@n|D zWJNGw;!E72#DrKVk=$S;Er%P&!@qKT>YBLgY^giqzH^|?MN0Ty$9L}&Tq!=Rk5;)@N-bZ3dc&HZI%N)i%DMH`K<;Z1@-S*;ba3F&3`Nsx~&Cz_P6!2A{xZTVL}a zNhz)@%dmJpLnOn*GeU0^Az}*?*AV}QVbjJj!CwLwk;Elj#tc@GY$A&}Y|`DvBJN_z z)i!oSp(BWjJIIl|VDnAfa|KDTaUKN%C~~wP$|15kZtF;i|KU|B8Q)1~Gmj~+lw?Y( zkr}hTA$PJ0xAASNDHk2`7s`)lYLB?^)i^c!4La?!__JelAi9^1KNuU&5dz)@+yb<0+ zLaG!Y9{SqoA|a4?tHevCh={mSANm9OU;4r$5~ycwge;9`?wy%?&Y9UK@xz|jzwiJ4 z2f!riIuwEQ{)NQ;P+k#*{oR!_qA2j`tk-Dzm4;ug)OVZ^b0MHjxDD5z64;OjA}1e; zOpic#)~h*Dgb+7y3<>$CxD@-$fR0EPOHLT*LR1cjOjp?d$!!YsmH3#9EB$gz*^LQ= zhBM_TGtU_qMn)bfc`a+e#)y2QoYis$zQ6_9A4>Nyu@JPpXh4M)!I-RuM*H&kTE``U zV^zY)&94`8Yt;vi(=hN2#^qrsyO+nLfhkN2#A|MIyIy%%@apx-gPHr@PQxdG;XX2|5Totk$*%}Q_TN7K5Y~R$jui&6_-Yi7wmRq!W+` zAw_!)ChZ`BoF<$hM(0SyBAG1VTfDK6!3c6(vpgAM{Xho4-Nwi!$@OwjO!fJNTXe?lM1y(0eTFSk;jiZxKsFaGMw*ymE^*UHs!dv^UVk8az>vfbNIVjQ zPK=lt`2auQ3&d_(CK5S0kG=L@d#{yq5xfaTUca6i09>pZPzW(DQ0zSQ!bcQOZg+w( z5WpaY2puKwV0))rt$74BWfuvw%O(|gmrA}=05%+cBa4dsNd;d9Sp&1|Dz;%`j&Pac zD<#Iq%GvOYABzMZCA`C0l@M63RJ__+d8c0Y>IQP0P#rB#u=rZ(7lOfM^?7pxIuy|v zbso{_Og+HtMR4yP;adR}MCA-Yl`{+t5m`}mOVrmQp$EMZ2_12HiS(u?KGpK7g<)=J zF*5mG%XTH&+2k*p*0ZBO=mL<0m!{%{aKw9<&d7@&POc)Dd7)d%34I>+biz#{%Nl~RYQ88vP*MnJF*KFxx zo|@W~%KNZLQ8^%%$d!&N3)XrvNvHB5wh0}QT_esNOeYgV;-E!aDj~y&(uax%1~Jqb zscYC$B{_moO6mO~Mb9c9NF&y*j{l-1J)izTCosuXKeyk8g2uVmxj`g*ixi#f1^0^= zXIw&rnVR`W@TwPbe*_lnZ-*i;BD#yP!x`_;;Yj Oiu~&QY6;6&LE;mkd^@KA diff --git a/bin/code/Business_logic/Transaction.class b/bin/code/Business_logic/Transaction.class index 2e1fd6c514b357d8eaea0224cec0442a25afb4a9..ab78736d0e5d17ba93c142660a76b10e240fb9a4 100644 GIT binary patch delta 17 ZcmbQqK9il})W2Q(7#JALH*!p51^_$L1`PlJ delta 17 ZcmbQqK9il})W2Q(7#J9AH*!p51^_$p1`_}P diff --git a/bin/code/Business_logic/Withdrawal.class b/bin/code/Business_logic/Withdrawal.class index 273cc793386d10e5f7fd88bea8e9a69a7ca1e275..b3c37a348dff034ec227cea6604c6b346584931c 100644 GIT binary patch delta 1509 zcmZWp%~M-d6#w1iy}TrSEguqSpfu3}O&+0qlt87}f_xd;fZ9S^5ZjmJ6;eYI^HHRt z=@%8Hwq$NMY}~qW96LyGaK^p<6E0l1bKE)OIK^{c(Ax1W&i$Qx&pG#;-#Pbv;rg-8 z`O~xA9{}{CSae>r)SoX_*2p9IOzL#;+LVQbidzqCFR7?N4L{3H9jH~I!0rIUVSbnW zW;?FJ2S2}Q>9w`02%wE`Sz2uEDmu`~f3~=#BR;s#y2~Vx;IW0V=R7~R%gBpux(?&9D4C&bg z28r^Rw&M!_-Rf7f_%@{^f#k;u5+oX1;^EqjPMfq3KI5YSk z(g+`reT7AaD(9tmZXuS@m-K`;Y$Wr2cBB}TPH&sHsjI_|_etpzN;fH4Qcen`hm<_k z+%1&O4$_uL3znToTc%=rNE_0VQ6u5aW%OiLkLKd3q#Yj;LC&FtREqy9*N@KPBNZRx zD#IaBVM1RH8`-QrZ#Z!qcNN_EZ&~Mz<+L7CaZj|(PHhV%)A^hot9;Dntrp$*L`>Hj zG3py1_fPYATa(IQ%NW^wBBx-TKeCNd+Zhhh5Lj>sR>BpiBw0l}E0AELwMJ_QwC$i; zb4%NBX>NHNbx%zXH?LCa3iX7~lr7PKBczcJ8X+PJbQB(nE|3>5(;Wi60y{+)=op+d zwG2&YF5k<(rV}xmMQguSLdygRtxwWuIkAl{?OSw}&|QPRC!2`1X{7@COBe`?{Xhw$ zn;0cnw{Nyq!uTdMGDClP>&+KWFG~GxsrqsWGhf0(=$eUKgd!$7KqyA&X~X8;ZBexq zZju?Z&SO;9@d71&BFcvU^8?-KB6lr=Z z8M4UHxVk#L z<$a{!GsI2K4^prj)CURgQTCIN_b6jo0izklpn_Ro50UbYg5W=Ujy*X3XQsSp<{@9Y zmHtZm{rjA<5dGUV`={|ode(gT( z68CH0BY35uGL~2+kzU=wgFeYEeM8rj8xo#ggdNgE`emA2ke|WNh#duw{z8N)@}K6cJ~k`f_#3wf9ykC1 delta 1292 zcmZWoTTfh76#n*^ITsG6ltQ@-h#f27%m^KZYo)Y+T(HCEu$e5VudyNmq2jBb)Ccc`c_?J+}_pQD6T6=wa?MDq? z)R{j&`Qax3r*Uh?yr_ui&eq({Zy#0ESg1m+KxF5yu>4GDm30<$7!?p`kh|hft=+;4 z2uP_6Xdw$PqC@_wv}-3UgwZ7*E53eDAQ*MFcUw@QnMA!7`p_j%y<+D_6NyYAou4kO zFWXrY19(ZtNr5IgtTd?>260OM;%PkO4Mc>>_@!-6(`K*Ok5S2fA8^x6T-Rp0OVMfQaz~MwDX@}3wMZ*^oS=&xqcn!0% zRt<{_a!j2TbMmfwPAtej)Con5OTQK>UJ*EAE~N6S$!vTxzUGhF>B69aWdS|n@AS8J zcNs{MbUUP%a`6@0L=FWVZ2q9LDSK-pp0x0eBeg-P zqv?%8-oU#usQcw*z15@RhPc4mu8#qapA- zTFZ6Cmrv_%dxk8yq7#@1i=Qi!Q1pnkRbLe1HFr)2j!Kv{`lq-c;e# z8wgOV6R0mD!p8bYdlAG*^xzamDaZ^)aEa(m4(JjlaD_gBNnGVvt|E$S^y`?y2Bw*K z26_5ToX2~Z!-ts1ZM=?8nBhR)?Wgi8_?T;NP_7_mQM`o9ywPo{SVjhlEb6C}xAx($i!{`{$8NxmmpgJK=L^)EikBa~A(*LuICHcvDhg!~xxXx-SYkcj# zSx}CcZGCT1z>b=@YZI=uUAyAilxwfMcD;lQALnQZS^2;ms^4Uk%75DYEmM}IUqZv( z%Ecu|jNWpkf5rHUT{^R-W7q9gK|5|y#v44k%!jziRj;c+9n>cX3ihqz{m1;iy81Vh L34Fk`3X1;#mLBDO diff --git a/bin/code/Database/BankDatabase.class b/bin/code/Database/BankDatabase.class index db353b4685e371485a3deb06de0c3b7ab2db56ab..535e64590271908e733f16a4dc9add2209170858 100644 GIT binary patch literal 1866 zcma)5QF9tq6#gy?Y}ss5Af;&p(pa?u4IxRjHBA~VNo$CNR#VZ`2j{ZcNw=loz>;@o z{0063ee$IbaYmCFt9|TrobgQ`eRsyc;8?%AEF^ZI8p3k!-E+S4o$s9U^WQ%_25=c$ zIsyVOSzWvAh|D*{?3TNMbdGMfPnBPMj5&@n1-W)Q;lPOBLr zP5xNZPzbSU^-LE4h-w{L=`?`B9B=%_b9SU-0M?GU{rQH z*t-?H8?!pCmfbi?m40C!f^50cy1ywu^D5U7W#b6S!^6_<2*f&!^Q-Cc)772lG;-{%z_==KPdatgfTH9W zTkK1Em_}Z|6@gU~?_iBx$_y6Mb7ad2f4k|*x(}^F-!*Yvg@&z`z2k6QrZO)Wu54As zyk}w^WkqbDq+T|)K4JMlEgnVNv1^X2LT{O$C!ln&bC8>k6pJ@hka~CskiovDm&6dVDFUt$c&T zWGKC`Idgyu$*&Na+5bWl=|u4BXMc))I%^)a)075ClEf6#oaHmgROdW8)1G`;pAO+s zV0uAc1M^s5(u<5uKzqiz!W38VU&kB3Sb%PC;*!tLrK?gpo=YC!awY!+k$ma^ix0Jj zeIjwsBgZ=Ogr8;gbH_A^_esQY)gwVPtk6=Gn|PaaG>;Cu`xl}*=R|OzulWqF(l5YV z5s$$Eib{cQbHa21sj3E??mG38Mf_xf13nDu#`93i{{gj*lFzElbZSBkj};rWaWpfA qN2SO~UG?y~%`p1ZjJ^&AHoe&pT#KQ|H=jpdCvxe3Bfsy-^}#eO31%^bfE0)X98h~Q3IoPQ_BeMW?nrzA zoVXwX5*P_Y#EAnEH#qVI`~m{1+Y=`s5s*f$?l;x->Q&drA8!@_jN-h7h`M zGLR)%_i_`ma(nS$Au7;$OU}z&Sytw97fZK1HxO7QUANk(1a*Op*C+M;iALS8c=h^? za&^vkb0=DW;{xW0U-5%60VAE65s02-HyZ{z99URoVYNWt3Jh@wtZ@*7X#k)1n)wHL zY6r~x!}oe)!$FVY>J_lk#bTk5nK2;leIowr7c=i`lwz5rz^TTal2^MdOJz?WHCc6K zc}CWJbqCm%6a`j? zrY=?mYYDeet9g~BRs$>cA<1+g-P;%BT|JEjlMQ7fxJeG*m4SDq?$rch^eJ=ArYSiG zgV?O}?RBsZ`vp4YW!ax4^ipw(&&AQM2_zf57tXt=&r&rF>R9$yV67T(UixKa>V#x) zTzajD3aZaB2Zuoi8HWNNh2YE8K$b(GLX0^WQ3%tmd9yy_M!9@c^=rbxI8G`y7Ko5{ zR15_KsbaHU$qy9jtb@}EWlvWdHP<`stH(|*5B6@AX>6teObOSB3K(}5_e>?%I8XCX z76BvK*RZp(cW_=Ik$s7T@fOb2Zx_9^n;y*@Uu@4`?M zTlyX$HuU_yAqKjmkAHp>&j~h`HS7hI@Z3l8UhL$m8V>5gGhsv0V+a2UVr`^(iXcl= zH;kWDYSI>ZEG+B-5)s0NFdXU&2#pe&%Jwy}dusRt;=}z-?0ITDZ3{_h#177pA$^u} z4`~tE*3Gtv6b@(+WWz!3)Z`8h@s^?G@Lj&6(_&39Lq|ddqr^qnE3OqZar7AvEz3

LL8vT>%$UmsYkq=c(QnT{K)~eD?oLEYNt)+}HW8=#n!){Bn d+dkMR;1tn9 diff --git a/bin/code/GUI/CashDispenser.class b/bin/code/GUI/CashDispenser.class index 6150756a13b9d157d36e95c9fc051a421a96434d..dd9d6f3fb5ca43a58ac7b2d217d90ba4f1751101 100644 GIT binary patch delta 17 Zcmdnax}BBd)W2Q(7#JALH*&0J0sudf24VmJ delta 17 Zcmdnax}BBd)W2Q(7#J9AH*&0J0sud-250~P diff --git a/bin/code/GUI/DepositSlot.class b/bin/code/GUI/DepositSlot.class index eb913b9d8358d246fc3bc56178ad54d117dbcd4f..e93ccbfbc4a449769a346461c06577c770b07f05 100644 GIT binary patch delta 17 ZcmaFK^pc6=)W2Q(7#JALH*zF00sutY25|rY delta 17 ZcmaFK^pc6=)W2Q(7#J9AH*zF00sut$26q4e diff --git a/bin/code/GUI/Keypad.class b/bin/code/GUI/Keypad.class index 0075ac2b06ebce77e44e45ef190961e0ddafe9d0..17a7e8e5a8e798aa4f1fd7a0ae0fd65838725fc4 100644 GIT binary patch delta 17 ZcmZ3ff$?3=9nB47wY+>KRRBHGGouQ&RPvN{ch|Qj3e@bMn(Oll5Ioi}I~C z!#EgJ7#Y}9RCV->(zqDJ8Ps?f)EP7;KVuA*mcp%XvNcm6Bgf=kCVN(126hI%$rqVC zS%rZt5g}i#lQ%J+CUx?gAM>F0W4_% delta 243 zcmeBWU%<|F>ff$?3=9mm48|L|>KS8MG+Z>pI2cqI8Q4@*b@YtVxERzJG}sx`85sn! z63Y_xa}x8?^9T#Bo~loU=U*v0b0QgW`X#k3_J|HKpMo-XE0!31VTd~ IkBPwu01}fbz5oCK diff --git a/src/code/Business_logic/Account.java b/src/code/Business_logic/Account.java index fee5a2e..dcc8e78 100644 --- a/src/code/Business_logic/Account.java +++ b/src/code/Business_logic/Account.java @@ -6,12 +6,12 @@ public class Account { private int accountNumber; // account number private int pin; // PIN for authentication - private double availableBalance; // funds available for withdrawal - private double totalBalance; // funds available + pending deposits + private Euro availableBalance; // funds available for withdrawal + private Euro totalBalance; // funds available + pending deposits // Account constructor initializes attributes public Account( int theAccountNumber, int thePIN, - double theAvailableBalance, double theTotalBalance ) + Euro theAvailableBalance, Euro theTotalBalance ) { accountNumber = theAccountNumber; pin = thePIN; @@ -29,28 +29,28 @@ public boolean validatePIN( int userPIN ) } // end method validatePIN // returns available balance - public double getAvailableBalance() + public Euro getAvailableBalance() { return availableBalance; } // end getAvailableBalance // returns the total balance - public double getTotalBalance() + public Euro getTotalBalance() { return totalBalance; } // end method getTotalBalance // credits an amount to the account - public void credit( double amount ) + public void credit( Euro amount ) { - totalBalance += amount; // add to total balance + totalBalance.somma(amount); // add to total balance } // end method credit // debits an amount from the account - public void debit( double amount ) + public void debit( Euro amount ) { - availableBalance -= amount; // subtract from available balance - totalBalance -= amount; // subtract from total balance + availableBalance.sottrai(amount); // subtract from available balance + totalBalance.sottrai(amount); // subtract from total balance } // end method debit // returns account number diff --git a/src/code/Business_logic/BalanceInquiry.java b/src/code/Business_logic/BalanceInquiry.java index 3ebe480..90f3b45 100644 --- a/src/code/Business_logic/BalanceInquiry.java +++ b/src/code/Business_logic/BalanceInquiry.java @@ -22,11 +22,11 @@ public void execute() Screen screen = getScreen(); // get the available balance for the account involved - double availableBalance = + Euro availableBalance = bankDatabase.getAvailableBalance( getAccountNumber() ); // get the total balance for the account involved - double totalBalance = + Euro totalBalance = bankDatabase.getTotalBalance( getAccountNumber() ); // display the balance information on the screen diff --git a/src/code/Business_logic/Deposit.java b/src/code/Business_logic/Deposit.java index 76a7913..3a94241 100644 --- a/src/code/Business_logic/Deposit.java +++ b/src/code/Business_logic/Deposit.java @@ -9,10 +9,10 @@ public class Deposit extends Transaction { - private double amount; // amount to deposit + private Euro amount; // amount to deposit private Keypad keypad; // reference to keypad private DepositSlot depositSlot; // reference to deposit slot - private final static int CANCELED = 0; // constant for cancel option + private final static Euro CANCELED = new Euro(0, 0); // constant for cancel option // Deposit constructor public Deposit( int userAccountNumber, Screen atmScreen, @@ -71,7 +71,7 @@ public void execute() } // end method execute // prompt user to enter a deposit amount in cents - private double promptForDepositAmount() + private Euro promptForDepositAmount() { Screen screen = getScreen(); // get reference to screen @@ -79,13 +79,15 @@ private double promptForDepositAmount() screen.displayMessage( "\nPlease enter a deposit amount in " + "CENTS (or 0 to cancel): " ); int input = keypad.getInput(); // receive input of deposit amount + + Euro amount = new Euro(input / 100, input % 100); // check whether the user canceled or entered a valid amount - if ( input == CANCELED ) + if ( amount == CANCELED ) return CANCELED; else { - return ( double ) input / 100; // return dollar amount + return amount; // return dollar amount } // end else } // end method promptForDepositAmount } // end class Deposit diff --git a/src/code/Business_logic/Euro.java b/src/code/Business_logic/Euro.java index f518760..a0093e2 100644 --- a/src/code/Business_logic/Euro.java +++ b/src/code/Business_logic/Euro.java @@ -12,8 +12,8 @@ public Euro(long euro, long cent) { } } - public Euro(double d) { - valore = (long)(d*100); + public Euro(Euro d) { + valore = (d.getValore()*100); } public long getValore() { @@ -43,6 +43,6 @@ public boolean minoreDi(Euro e){ } public String stampa(){ - return (double)valore/100 +" euro"; + return getValore()/100 +" euro"; } } \ No newline at end of file diff --git a/src/code/Business_logic/Withdrawal.java b/src/code/Business_logic/Withdrawal.java index 5981f63..069a91f 100644 --- a/src/code/Business_logic/Withdrawal.java +++ b/src/code/Business_logic/Withdrawal.java @@ -9,7 +9,7 @@ public class Withdrawal extends Transaction { - private int amount; // amount to withdraw + private Euro amount; // amount to withdraw private Keypad keypad; // reference to keypad private CashDispenser cashDispenser; // reference to cash dispenser @@ -33,7 +33,7 @@ public Withdrawal( int userAccountNumber, Screen atmScreen, public void execute() { boolean cashDispensed = false; // cash was not dispensed yet - double availableBalance; // amount available for withdrawal + Euro availableBalance; // amount available for withdrawal // get references to bank database and screen BankDatabase bankDatabase = getBankDatabase(); @@ -46,22 +46,22 @@ public void execute() amount = displayMenuOfAmounts(); // check whether user chose a withdrawal amount or canceled - if ( amount != CANCELED ) + if ( amount.getValore() != CANCELED ) { // get available balance of account involved availableBalance = bankDatabase.getAvailableBalance( getAccountNumber() ); // check whether the user has enough money in the account - if ( amount <= availableBalance ) + if ( amount.minoreDi(availableBalance) ) { // check whether the cash dispenser has enough money - if ( cashDispenser.isSufficientCashAvailable( amount ) ) + if ( cashDispenser.isSufficientCashAvailable( (int) amount.getValore() ) ) { // update the account involved to reflect withdrawal bankDatabase.debit( getAccountNumber(), amount ); - cashDispenser.dispenseCash( amount ); // dispense cash + cashDispenser.dispenseCash( (int) amount.getValore() ); // dispense cash cashDispensed = true; // cash was dispensed // instruct user to take cash @@ -91,7 +91,7 @@ public void execute() // display a menu of withdrawal amounts and the option to cancel; // return the chosen amount or 0 if the user chooses to cancel - private int displayMenuOfAmounts() + private Euro displayMenuOfAmounts() { int userChoice = 0; // local variable to store return value @@ -134,7 +134,8 @@ private int displayMenuOfAmounts() } // end switch } // end while - return userChoice; // return withdrawal amount or CANCELED + Euro result = new Euro (userChoice / 100, userChoice % 100); + return result; // return withdrawal amount or CANCELED } // end method displayMenuOfAmounts } // end class Withdrawal diff --git a/src/code/Database/BankDatabase.java b/src/code/Database/BankDatabase.java index 743c5b9..ab2d9c2 100644 --- a/src/code/Database/BankDatabase.java +++ b/src/code/Database/BankDatabase.java @@ -1,8 +1,9 @@ package code.Database; + // BankDatabase.java // Represents the bank account information database -import code.Business_logic.Account; +import code.Business_logic.*; public class BankDatabase { @@ -11,9 +12,12 @@ public class BankDatabase // no-argument BankDatabase constructor initializes accounts public BankDatabase() { + Euro e1 = new Euro(1000, 0); + Euro e2 = new Euro(1200, 0); + Euro e3 = new Euro(200, 0); accounts = new Account[ 2 ]; // just 2 accounts for testing - accounts[ 0 ] = new Account( 12345, 54321, 1000.0, 1200.0 ); - accounts[ 1 ] = new Account( 98765, 56789, 200.0, 200.0 ); + accounts[ 0 ] = new Account( 12345, 54321, e1, e2 ); + accounts[ 1 ] = new Account( 98765, 56789, e3, e3 ); } // end no-argument BankDatabase constructor // retrieve Account object containing specified account number @@ -45,25 +49,25 @@ public boolean authenticateUser( int userAccountNumber, int userPIN ) } // end method authenticateUser // return available balance of Account with specified account number - public double getAvailableBalance( int userAccountNumber ) + public Euro getAvailableBalance( int userAccountNumber ) { return getAccount( userAccountNumber ).getAvailableBalance(); } // end method getAvailableBalance // return total balance of Account with specified account number - public double getTotalBalance( int userAccountNumber ) + public Euro getTotalBalance( int userAccountNumber ) { return getAccount( userAccountNumber ).getTotalBalance(); } // end method getTotalBalance // credit an amount to Account with specified account number - public void credit( int userAccountNumber, double amount ) + public void credit( int userAccountNumber, Euro amount ) { getAccount( userAccountNumber ).credit( amount ); } // end method credit // debit an amount from of Account with specified account number - public void debit( int userAccountNumber, double amount ) + public void debit( int userAccountNumber, Euro amount ) { getAccount( userAccountNumber ).debit( amount ); } // end method debit diff --git a/src/code/GUI/Screen.java b/src/code/GUI/Screen.java index d9ed691..e083412 100644 --- a/src/code/GUI/Screen.java +++ b/src/code/GUI/Screen.java @@ -1,4 +1,7 @@ package code.GUI; + +import code.Business_logic.Euro; + // Screen.java // Represents the screen of the ATM @@ -17,7 +20,7 @@ public void displayMessageLine( String message ) } // end method displayMessageLine // display a dollar amount - public void displayDollarAmount( double amount ) + public void displayDollarAmount( Euro amount ) { System.out.printf( "$%,.2f", amount ); } // end method displayDollarAmount From 07b76dd41dff3d16982af6f686d1b5028f015de9 Mon Sep 17 00:00:00 2001 From: s5003659 Date: Sat, 25 Nov 2023 10:02:46 +0100 Subject: [PATCH 05/10] Fix balance calculation and data type conversion --- bin/code/Business_logic/Account.class | Bin 1433 -> 1442 bytes bin/code/Business_logic/BalanceInquiry.class | Bin 1343 -> 1343 bytes bin/code/Business_logic/Deposit.class | Bin 2452 -> 2316 bytes bin/code/Business_logic/Euro.class | Bin 1700 -> 1687 bytes bin/code/Business_logic/Transaction.class | Bin 921 -> 921 bytes bin/code/Business_logic/Withdrawal.class | Bin 3017 -> 2828 bytes bin/code/Database/BankDatabase.class | Bin 1866 -> 1752 bytes bin/code/GUI/ATM.class | Bin 3263 -> 3263 bytes bin/code/GUI/ATMCaseStudy.class | Bin 492 -> 492 bytes bin/code/GUI/Screen.class | Bin 909 -> 967 bytes src/code/Business_logic/Account.java | 6 +++--- src/code/Business_logic/Deposit.java | 14 ++++++------- src/code/Business_logic/Euro.java | 6 +++--- src/code/Business_logic/Withdrawal.java | 15 +++++++------ src/code/Database/BankDatabase.java | 21 ++++++++----------- src/code/GUI/Screen.java | 7 +++---- 16 files changed, 31 insertions(+), 38 deletions(-) diff --git a/bin/code/Business_logic/Account.class b/bin/code/Business_logic/Account.class index 233829a34a0f7a0e628414f86ef08b352106bb4a..c3a91c4c3cd6950336d917d62e403608cbebc205 100644 GIT binary patch delta 186 zcmbQqy@;FR)W2Q(7#J9AH*&0Esdr^yW?%yHc(t^)Fo0suf+1`PlJ delta 17 ZcmdnbwV#XQ)W2Q(7#JALH*%P>0sufe1_uBD diff --git a/bin/code/Business_logic/Deposit.class b/bin/code/Business_logic/Deposit.class index 8d47630a4f7c6eff48ad7a2a77672bb6afd9cf27..661bb47c6cd5a2225237aac3e6c463e117dfc974 100644 GIT binary patch delta 1082 zcmX|AO>Yxd6g|)5nX%m=I1^K2>;wk_#FGgrp{dj6gO-@42@WBIn1q(L#-5TXj%~0L z38|HrU9?h(UZn~I>uf4Ttr{b>Qhz{yMK@h`(85+_~@0dH0@k@0}m|zO$o$ zzWnVE05iB}A|R05Jr~;@$_7MkcW33KSP(cgSF1Lf#cH!qtZaK4u@Eq({i@%b6_i2$;Y=YyzoL*6^FF zm0HunRjlx$-?&uW@hY{tcg-t#{*G7f2)-G@s=(98Ms53k+IxjaZx$Qr+ny(%1iv-b zEEI4=(ohCylh-BzC^{u zUHQ<6XGnf-v}wIZ1c)8EhvJJirkrp&uarbLU1v zZkh4cG5WJzB$7z+#5?GR%B;Kr9A|drr7_4F$~%D&vn%f;A{?8*5KeXLia0kzecN{0 zIGv|)mK@r%2N-vL#dyz;k5F*!x7&Ef{TSLxgYh=< zv;B{7)U~fMGQwon6}FA_J=m`ODT8|myY}aFlrjwo+C|v3gJgGt9EW&1Lwybvj!=`s zFD`YDwvgj0=5d~*o#1e$aGQ(d;R5dBBC6b;Cg!1<HI@`#l@3skF^Q4;DN~sp*N9;T72xT2Mt-k~Ij3sZ!}Vu}*~vlmDxK4ej2AOKPS E4}A@}ZvX%Q delta 1172 zcmYjQO>Y}j6g|)5@z`ce%)~8;V<&A$TYEBYK1zupc7ofc!KstfggQ;yKwWzX2FJD> zN1_svC8X}ySi`3KLRGOTA8{o>`~X()AK38^SVWvR38k`heczq)?mOq)_r5Z|9t{6} z^z&~3=FrmM5g6&sM0yi*o@jxIx^&QP&i8hTF@L5~uQh6&1py_IED3n8HmkOVu)q+3 zNeK*M0EUi1LmZaNunT)gjWdmo!0=(q)%7~Zuzxk^QHTszpiZ?|1{^FiFkwuUW%s8bZth>knB zOHawETBDlLL|&?K{#F9wL+6gVF77$ssXJoV3HTP{HGHPw)0f5EuphL_RULJd9NSmw z`Z#Yd{Lm4i6|ZuYf~*0dUofy02t3DYKjPH)EO_ubqmM9fx+ZO)2k-qn}>3Sw@kSNp9RY#%w-;VHrCtK0&}TK4Kz;DXujuFqoeulX3Ey z;OYXEnTV6u82`s%F{UuhUmBN?!R0QlU><8si&(@aSKC;^JuJJ1n8y-M3{i0xWr`PU zzKQ#;A!#p@4W7;b%nU!u7CXJ6Ny-Qi~K0e9H zVaLMN`a_1+Lk@i{MUTFP#`rAt?1jcrjt#ucD%Sagi=5pCXH%lGO{&^{iT3OZ+9{W; iyeMPXqc0xr2+21GCFb(hA&xLDNo%}W0u3JFLGxer+r2da diff --git a/bin/code/Business_logic/Euro.class b/bin/code/Business_logic/Euro.class index 931362deecba7e08984e4d5faabd85f91279ae9d..4d85228ccef1fd653102bac4bed90a5180116d58 100644 GIT binary patch delta 417 zcmaJ-yG{a85IuMA-4&LXL=waYim2=^s|&sm6qQJ&m4z5f6A6VT7-Qi#SV+tic2<6Z z(S*Xr&VR5p*7imn@X?rflev?7=A1b*_d0YLG9TaD_W;URy)a)aWmWB(v9`+y9|5t? zQ5Env>L<0m!{%{aKw9<&d7@&POc)Dd7)d%34I>+biz#{%Nl~RYQ88vP*MnJF*KFxx zo|@W~%KNZLQ8^%%$d!&N3)XrvNvHB5wh0}QT_esNOeYgV;-E!aDj~y&(uax%1~Jqb zscYC$B{_moO6mO~Mb9c9NF&y*j{l-1J)izTCosuXKeyk8g2uVmxj`g*ixi#f1^0^= zXIw&rnVR`W@TwPbe*_lnZ-*i;BD#yP!x`_;;Yj Oiu~&QY6;6&LE;mkd^@KA delta 485 zcmaJ;%PvDv6kYp1dW$|0deN)(?7d3W>sFaGMw*ymE^*UHs!dv^UVk8az>vfbNIVjQ zPK=lt`2auQ3&d_(CK5S0kG=L@d#{yq5xfaTUca6i09>pZPzW(DQ0zSQ!bcQOZg+w( z5WpaY2puKwV0))rt$74BWfuvw%O(|gmrA}=05%+cBa4dsNd;d9Sp&1|Dz;%`j&Pac zD<#Iq%GvOYABzMZCA`C0l@M63RJ__+d8c0Y>IQP0P#rB#u=rZ(7lOfM^?7pxIuy|v zbso{_Og+HtMR4yP;adR}MCA-Yl`{+t5m`}mOVrmQp$EMZ2_12HiS(u?KGpK7g<)=J zF*5mG%XTH&+2k*p*0ZBO=mW^gAb3JL6<#?eANA?X~y%);f7o zcF(K*^6bZ-0rcT+PCIWC;oRnQ?)Tg7QXR!OED*~59h6@RXOTyT3YQxKWpY>i930ws$^W*`nl+st)UBVspuA{l>N3!MMn=#$Y1TYoxDiccxHg4{{4-|oxQ+=-%AXwN;$8WN!&g0p zX%*)M4#rY(BY0*y9Gr@!4I`;z2D9?85)|*rL1jW*lJ}KSF(?02hI8}Pvewy@y((}> zn@wbv;_1jnWZ5@vB-eXfSQ1b}z7}6yTdND#NZL%&PO?mL+$5bONdZ^8NkXk;t7IL8 zLu6?IZztJcBpEZ7eVKG5xfY3K5~-vMET>u8pW{cbMoXT+D8wT45eidv73*`Ux6;k0ZdPWe=gi z_Xw3ZcX6eKj^lZBX2(s}o#s4xzxoFKBwo{z$LR-Xw1P~!lgHVYTW>phD;%Zo z)DT^;kca4^g^GwS6Fshau>ZMPs~zREX;uZk)W(lOMH3Y}22U0t7TAFXwA0;9djh8^ z$Ry|ZA_j07Lzu@f7P!VRf~z=-C4_N}>k7uO$}vqdI>U7X=Wqkl*y2cT;{xt7!%KO0 zp37^)9cH{jxf(Hr>;fWu(Ka{=e{Y|oKAK9pZ;z21-MrS_jyefL8Ad6eBRnwvM}Xt(C$(F-{qB5O^Xie0N-8=G;9 lzb*DH%2sT1x1fOs$}{){OIPvfQ$&TT{9}#ZZKkEJ{{j(!@Du<5 delta 1503 zcmZWpTT@$A6#jN{F3IVkP$bYarNmNb62i5lAYxlAP!j}NDYOM^JxPv`HY70@kV*}` zP*G6G?7r{=9A6x#9V9q7~Xxe`89at%Glh^@Z?+g#`;c52e>sRHBBTWxWS#RmiZ}!El)0 zV}D5}Re0d#3zix?%`IdOZVYr-9Awp6RK#z>mMu>uV zctk}n-e9oL>e(qRo=ocuR*yF%QfkIW_6%>SID@kcRb(^}i6nE0>{xC-tfx)epn?IM zm+>}lu{Kx-F~mo$y>$UxQ1K3e47T}Lg5nOw80tMnHWl7!1tS=h@h(Gcp-?NT7{fUK z)7s=1z$F#$VS+)7>fu>(U($MRKf>;RPbEBu$h-6PFJ)HcGT$evW_)OUnE*vF|d{7S~vVo4F zfubA8jo0Z8109Erq8q3Y3iU0+2{e`OW#7|@(VqotzpseqF%rH$!ADEmF1ma_psR@P z8uUHdMzqye%%i`EbEC$-zlh;&3=^z-ZnjoLXd6B|Y z{@t^eV1LC-e#MNgq92h_wQ7KUMRyxz+c(SRz%9LqSW=*+Z%1=yr zyNG3~jH8G=FWLKj4``PtU;7DxYp$wje3e9Mbq^2w1gG%$MIFNQo4cf3kMGfwU-Gp7 zf~Ozxh1rKPc1$8HXvQP5U8g#RsYV-gDqxQ^BmFW>4v5d-WyFq*um47v$>LM9MK|eM H3%33N&J`l* diff --git a/bin/code/Database/BankDatabase.class b/bin/code/Database/BankDatabase.class index 535e64590271908e733f16a4dc9add2209170858..5255d4550e677dc93e72a62c06355ac8271bbf8f 100644 GIT binary patch literal 1752 zcmah|U2hXd6g}g$z1Z1&*d%F+?KJ%WY?EN1KnZ~m(j=`z5_eaXBP#VTRHf(cuALM))RtCvX6~GG?zwk<|L5120B+-< ziHO1(yHRyYOWM;F-EvBcy1v_8n20KjJk|TURMYjH(*4R)$MzIXY1?kJ>t0J?^7A$S z{$ji3)}2=C%UWZ{wM%z{ggJ%yEw}D^^9n}3u%!_Fm~2TH7_eaCl!-xw%o`9AP#Crl zL)-xVxNIV=Fwrl6x!r8USQdZApGl-JE(C8W#PX}Fg{|-?dXR*Lj2vYZX7lB8U-<$y zck+o8GQ7rmH`;p@r};=%YK}sBtzqlhmTtPT4mYFT6PGq+1F){K|8bcnC3hSzv`k?t zUoQ0J?wTqkd|=@$&apd3Hv=)g(Pf3fut(ip#l0cB-E2DbBdXjRc?h!UX?u5Ff8|$W zB2Gfx_MQ;KwYBGb)^eKSaJgJ~oMfjiS$G%kiM}fqKEzdpfqh+bt4w`R-eC7x+GB-O zoA<(My82An^OFXSohqD`0{69B6H^y8=g_9txsyEdJ0}9>EZo2?I-l=vrk}_*68=%c z)3p#d1rx3y%9oHa+WPDU`2%Vwa`bGF^TIvc_|8Ni8xiK;(9Wi z_hbUs#1H}t-iC#;;3YR3?WXOlxH3_xBJ$%f^b5@L!8hm40h0}%Y@C$<6BtDXS^g&(pC^S7PWjaqLPEmxBu~mwBpDY;dVyJEFkVq< zoLk7ejp>Q>CVKG1Eb5W9By`X0jbzer7!5ZXhJ6`aJ6>68-|~p7BK# zgPT1OXrUN#zzk;w{6M!)E-A5z}|;24+JAx0x3qSHf4&!A)@>ushBa@WDvM z<3Uo7ED@3^4&_Nu^RGkA{twgw?uM$q;Mj;SSznb5ME=`REbjT=uQ?bUEFH~7(ieA! zjaoR?o@`HSw&zS1pWstwE6#P7Ym;@o z{0063ee$IbaYmCFt9|TrobgQ`eRsyc;8?%AEF^ZI8p3k!-E+S4o$s9U^WQ%_25=c$ zIsyVOSzWvAh|D*{?3TNMbdGMfPnBPMj5&@n1-W)Q;lPOBLr zP5xNZPzbSU^-LE4h-w{L=`?`B9B=%_b9SU-0M?GU{rQH z*t-?H8?!pCmfbi?m40C!f^50cy1ywu^D5U7W#b6S!^6_<2*f&!^Q-Cc)772lG;-{%z_==KPdatgfTH9W zTkK1Em_}Z|6@gU~?_iBx$_y6Mb7ad2f4k|*x(}^F-!*Yvg@&z`z2k6QrZO)Wu54As zyk}w^WkqbDq+T|)K4JMlEgnVNv1^X2LT{O$C!ln&bC8>k6pJ@hka~CskiovDm&6dVDFUt$c&T zWGKC`Idgyu$*&Na+5bWl=|u4BXMc))I%^)a)075ClEf6#oaHmgROdW8)1G`;pAO+s zV0uAc1M^s5(u<5uKzqiz!W38VU&kB3Sb%PC;*!tLrK?gpo=YC!awY!+k$ma^ix0Jj zeIjwsBgZ=Ogr8;gbH_A^_esQY)gwVPtk6=Gn|PaaG>;Cu`xl}*=R|OzulWqF(l5YV z5s$$Eib{cQbHa21sj3E??mG38Mf_xf13nDu#`93i{{gj*lFzElbZSBkj};rWaWpfA qN2SO~UG?y~%`p1ZjJ^&AHoe&pT#KQ|H=jpdCvxe3Bfsy-^}#9 delta 17 ZcmaFE{Dzt1)W2Q(7#JALH*!2-1OP@~2K)d3 diff --git a/bin/code/GUI/Screen.class b/bin/code/GUI/Screen.class index 9703af9985ba4473c44ede877823d4991d981c66..9599c2c1f1412e46ad0292ae25f2f94eec7fb7fb 100644 GIT binary patch delta 201 zcmeBWKhDl|>ff$?3=9mm42B!I<}z|~F{m)8u`{SLGDuABVU*D4VNhq#U}Rt`E=kNS zNMvLX(a`kCN-Rs%&q>Tn*AFf!%FIi*=3)?M(BfgxX3&|umvKKM`{Y_CdsZF>b_U+b z2bnxsg@7z!AWMF-9y3?42Lm$$6VOJ1O$-9s+ZdFY_cAbVW6%uW2oz&t-~y6dV0j4! jeg;VfZXjO_qMm_=ffvXF>SWMm&|_c(LVX~QiNOE>vhpEL delta 162 zcmX@k-pkH)>ff$?3=9nB47wY+<}!+LFsLvxu&Jo(=ozJPF^Ds$@i3?}XiWaexSx?@ z@=hjuR$c~n2ENIEnLJsAfh-XqOMY?|Ggqh=0~-Sq&>*2r3<5&REPEN4Bbl{>w=t-O wZv=`mF>nD%F0cwo20;cX25ul<45EX9hk+N!1L|eaWYA(@1VU{fkBLDC03Y)g{Qv*} diff --git a/src/code/Business_logic/Account.java b/src/code/Business_logic/Account.java index dcc8e78..433c7d7 100644 --- a/src/code/Business_logic/Account.java +++ b/src/code/Business_logic/Account.java @@ -43,14 +43,14 @@ public Euro getTotalBalance() // credits an amount to the account public void credit( Euro amount ) { - totalBalance.somma(amount); // add to total balance + totalBalance=totalBalance.somma(amount) ; // add to total balance } // end method credit // debits an amount from the account public void debit( Euro amount ) { - availableBalance.sottrai(amount); // subtract from available balance - totalBalance.sottrai(amount); // subtract from total balance + availableBalance = availableBalance.sottrai(amount); // subtract from available balance + totalBalance = totalBalance.sottrai(amount); // subtract from total balance } // end method debit // returns account number diff --git a/src/code/Business_logic/Deposit.java b/src/code/Business_logic/Deposit.java index 3a94241..c8d0093 100644 --- a/src/code/Business_logic/Deposit.java +++ b/src/code/Business_logic/Deposit.java @@ -9,10 +9,10 @@ public class Deposit extends Transaction { - private Euro amount; // amount to deposit + private double amount; // amount to deposit private Keypad keypad; // reference to keypad private DepositSlot depositSlot; // reference to deposit slot - private final static Euro CANCELED = new Euro(0, 0); // constant for cancel option + private final static int CANCELED = 0; // constant for cancel option // Deposit constructor public Deposit( int userAccountNumber, Screen atmScreen, @@ -41,7 +41,7 @@ public void execute() // request deposit envelope containing specified amount screen.displayMessage( "\nPlease insert a deposit envelope containing " ); - screen.displayDollarAmount( amount ); + screen.displayDollarAmount( new Euro((long)amount/100 , (long)amount%100)); screen.displayMessageLine( "." ); // receive deposit envelope @@ -71,7 +71,7 @@ public void execute() } // end method execute // prompt user to enter a deposit amount in cents - private Euro promptForDepositAmount() + private double promptForDepositAmount() { Screen screen = getScreen(); // get reference to screen @@ -79,15 +79,13 @@ private Euro promptForDepositAmount() screen.displayMessage( "\nPlease enter a deposit amount in " + "CENTS (or 0 to cancel): " ); int input = keypad.getInput(); // receive input of deposit amount - - Euro amount = new Euro(input / 100, input % 100); // check whether the user canceled or entered a valid amount - if ( amount == CANCELED ) + if ( input == CANCELED ) return CANCELED; else { - return amount; // return dollar amount + return ( double ) input; // return dollar amount } // end else } // end method promptForDepositAmount } // end class Deposit diff --git a/src/code/Business_logic/Euro.java b/src/code/Business_logic/Euro.java index a0093e2..f518760 100644 --- a/src/code/Business_logic/Euro.java +++ b/src/code/Business_logic/Euro.java @@ -12,8 +12,8 @@ public Euro(long euro, long cent) { } } - public Euro(Euro d) { - valore = (d.getValore()*100); + public Euro(double d) { + valore = (long)(d*100); } public long getValore() { @@ -43,6 +43,6 @@ public boolean minoreDi(Euro e){ } public String stampa(){ - return getValore()/100 +" euro"; + return (double)valore/100 +" euro"; } } \ No newline at end of file diff --git a/src/code/Business_logic/Withdrawal.java b/src/code/Business_logic/Withdrawal.java index 069a91f..2d1e47c 100644 --- a/src/code/Business_logic/Withdrawal.java +++ b/src/code/Business_logic/Withdrawal.java @@ -9,7 +9,7 @@ public class Withdrawal extends Transaction { - private Euro amount; // amount to withdraw + private int amount; // amount to withdraw private Keypad keypad; // reference to keypad private CashDispenser cashDispenser; // reference to cash dispenser @@ -46,22 +46,22 @@ public void execute() amount = displayMenuOfAmounts(); // check whether user chose a withdrawal amount or canceled - if ( amount.getValore() != CANCELED ) + if ( amount != CANCELED ) { // get available balance of account involved availableBalance = bankDatabase.getAvailableBalance( getAccountNumber() ); // check whether the user has enough money in the account - if ( amount.minoreDi(availableBalance) ) + if ( amount <= availableBalance.getValore() ) { // check whether the cash dispenser has enough money - if ( cashDispenser.isSufficientCashAvailable( (int) amount.getValore() ) ) + if ( cashDispenser.isSufficientCashAvailable( amount ) ) { // update the account involved to reflect withdrawal bankDatabase.debit( getAccountNumber(), amount ); - cashDispenser.dispenseCash( (int) amount.getValore() ); // dispense cash + cashDispenser.dispenseCash( amount ); // dispense cash cashDispensed = true; // cash was dispensed // instruct user to take cash @@ -91,7 +91,7 @@ public void execute() // display a menu of withdrawal amounts and the option to cancel; // return the chosen amount or 0 if the user chooses to cancel - private Euro displayMenuOfAmounts() + private int displayMenuOfAmounts() { int userChoice = 0; // local variable to store return value @@ -134,8 +134,7 @@ private Euro displayMenuOfAmounts() } // end switch } // end while - Euro result = new Euro (userChoice / 100, userChoice % 100); - return result; // return withdrawal amount or CANCELED + return userChoice; // return withdrawal amount or CANCELED } // end method displayMenuOfAmounts } // end class Withdrawal diff --git a/src/code/Database/BankDatabase.java b/src/code/Database/BankDatabase.java index ab2d9c2..9b5b521 100644 --- a/src/code/Database/BankDatabase.java +++ b/src/code/Database/BankDatabase.java @@ -1,9 +1,9 @@ package code.Database; - // BankDatabase.java // Represents the bank account information database -import code.Business_logic.*; +import code.Business_logic.Account; +import code.Business_logic.Euro; public class BankDatabase { @@ -12,12 +12,9 @@ public class BankDatabase // no-argument BankDatabase constructor initializes accounts public BankDatabase() { - Euro e1 = new Euro(1000, 0); - Euro e2 = new Euro(1200, 0); - Euro e3 = new Euro(200, 0); accounts = new Account[ 2 ]; // just 2 accounts for testing - accounts[ 0 ] = new Account( 12345, 54321, e1, e2 ); - accounts[ 1 ] = new Account( 98765, 56789, e3, e3 ); + accounts[ 0 ] = new Account(12345, 54321, new Euro(1000, 0),new Euro(1200,0)); + } // end no-argument BankDatabase constructor // retrieve Account object containing specified account number @@ -61,15 +58,15 @@ public Euro getTotalBalance( int userAccountNumber ) } // end method getTotalBalance // credit an amount to Account with specified account number - public void credit( int userAccountNumber, Euro amount ) + public void credit( int userAccountNumber, double amount ) { - getAccount( userAccountNumber ).credit( amount ); + getAccount( userAccountNumber ).credit(new Euro((long)amount/100 , (long)amount%100) ); } // end method credit - // debit an amount from of Account with specified account number - public void debit( int userAccountNumber, Euro amount ) + // debit an amount from of Account with specified account number12345 + public void debit( int userAccountNumber, double amount ) { - getAccount( userAccountNumber ).debit( amount ); + getAccount( userAccountNumber ).debit( new Euro(amount)); } // end method debit } // end class BankDatabase diff --git a/src/code/GUI/Screen.java b/src/code/GUI/Screen.java index e083412..24d8edb 100644 --- a/src/code/GUI/Screen.java +++ b/src/code/GUI/Screen.java @@ -1,10 +1,9 @@ package code.GUI; - -import code.Business_logic.Euro; - // Screen.java // Represents the screen of the ATM +import code.Business_logic.Euro; + public class Screen { // displays a message without a carriage return @@ -22,7 +21,7 @@ public void displayMessageLine( String message ) // display a dollar amount public void displayDollarAmount( Euro amount ) { - System.out.printf( "$%,.2f", amount ); + System.out.printf( amount.stampa() ); } // end method displayDollarAmount } // end class Screen From b7cf2adc10964c80173c7f6483a8618322f1536b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CMassi1399=E2=80=9D?= <“massi9.1.9.3@gmail.com”> Date: Mon, 27 Nov 2023 17:31:20 +0100 Subject: [PATCH 06/10] aggiunto il secondo account all'array 'accounts' eliminato accidentalmente in BankDatabase.java --- bin/code/Business_logic/Account.class | Bin 1442 -> 1442 bytes bin/code/Business_logic/BalanceInquiry.class | Bin 1343 -> 1343 bytes bin/code/Business_logic/Deposit.class | Bin 2316 -> 2316 bytes bin/code/Business_logic/Euro.class | Bin 1687 -> 1687 bytes bin/code/Business_logic/Transaction.class | Bin 921 -> 921 bytes bin/code/Business_logic/Withdrawal.class | Bin 2828 -> 2828 bytes bin/code/Database/BankDatabase.class | Bin 1752 -> 1814 bytes bin/code/GUI/ATM.class | Bin 3263 -> 3263 bytes bin/code/GUI/ATMCaseStudy.class | Bin 492 -> 492 bytes bin/code/GUI/CashDispenser.class | Bin 695 -> 695 bytes bin/code/GUI/DepositSlot.class | Bin 361 -> 361 bytes bin/code/GUI/Keypad.class | Bin 553 -> 553 bytes bin/code/GUI/Screen.class | Bin 967 -> 967 bytes src/code/Database/BankDatabase.java | 1 + 14 files changed, 1 insertion(+) diff --git a/bin/code/Business_logic/Account.class b/bin/code/Business_logic/Account.class index c3a91c4c3cd6950336d917d62e403608cbebc205..e82fcb770817d1c9c3a5aa69c25726b59175a4d9 100644 GIT binary patch delta 17 ZcmZ3)y@;FR)W2Q({{Lri*vK)96#z_~2sr=% delta 17 ZcmZ3)y@;FR)W2Q(7#J9AH*(Bk1pqyr1~>o! diff --git a/bin/code/Business_logic/BalanceInquiry.class b/bin/code/Business_logic/BalanceInquiry.class index 4c515c780f345eb89167f65f62c65bb68052368c..dccb3493414586fbecb3881df93418d1f10e0c76 100644 GIT binary patch delta 17 ZcmdnbwV#XQ)W2Q({{Lri*vMhd3II=82o3-M delta 17 ZcmdnbwV#XQ)W2Q(7#J9AH*%P>0suf+1`PlJ diff --git a/bin/code/Business_logic/Deposit.class b/bin/code/Business_logic/Deposit.class index 661bb47c6cd5a2225237aac3e6c463e117dfc974..daf298a7deb5028d9957f243cad777ad8aa04696 100644 GIT binary patch delta 28 kcmeAX>Jbt+^>5d{|Nj{r7z)`Lm>3zPCmM=uRC&Px0HehT`~Uy| delta 28 kcmeAX>Jbt+^>5cc1_lOOhC+4*CPoJ7iH0H@RbFra0Dig$`v3p{ diff --git a/bin/code/Business_logic/Euro.class b/bin/code/Business_logic/Euro.class index 4d85228ccef1fd653102bac4bed90a5180116d58..4cf69b739c75e28f916bbfa18b59d108bdc23832 100644 GIT binary patch delta 29 lcmbQvJDpeH)W2Q({{LriV6bOrU}9vDnC!?Xu~8$R4FIX@33C7d delta 29 lcmbQvJDpeH)W2Q(7#J9A8SL2^m>3x(COa}pY}CkS0|0{G2XX)a diff --git a/bin/code/Business_logic/Transaction.class b/bin/code/Business_logic/Transaction.class index 2e1fd6c514b357d8eaea0224cec0442a25afb4a9..2fca7e96c2bf18c73eff54d77f39887a48a4cc2d 100644 GIT binary patch delta 17 ZcmbQqK9il})W2Q({{Lri*vK)F830Q02owMS delta 17 ZcmbQqK9il})W2Q(7#J9AH*!p51^_$p1`_}P diff --git a/bin/code/Business_logic/Withdrawal.class b/bin/code/Business_logic/Withdrawal.class index f4a83dec8f872fd9870a8cb92418ec4ed0750f01..e909201cec299ac8654b25fb5f7b65959ee2c3cb 100644 GIT binary patch delta 33 pcmeAX>k$(;^>5d{|Nj{r7~0qwm>3!4CQoD)nS7R!Yop#hE&$$B3-AB{ delta 33 pcmeAX>k$(;^>5cc1_lOOhBkHvCPoIi$rD*cCZA>G+NgJr3jnV}3GV;^ diff --git a/bin/code/Database/BankDatabase.class b/bin/code/Database/BankDatabase.class index 5255d4550e677dc93e72a62c06355ac8271bbf8f..852a0cc8f6547f5a051f9192729d7a445b9f6f2b 100644 GIT binary patch delta 828 zcmah{O=uHA7=5$5N!?`x#H)yhf;SJL;9X&$ z7cYA6p#@36f=3ZW@FIBe>P0W!#rS5n*_K}1g_)0;@4ffE@0)Ll<)ruV@7s5s4r;iy z=2b$-AC5BN_pTvt)MdAPsdXP9SF@Y26k@YlwR$>x0^~)NM zpOctkSg`ZnC5bv_1#(68+Zt34?aZ!ui5^@NaEkTe+nVHt#8u3ym-e)~j06N#@2MYl zqsvI*zLB_wtn%94LN|Z_S^hcXF@OSw4BZfOz>b7;Iy!_A zN(Asw#$gsTs=hcu^9Yc%czzVexVpqV;hn?XFJ)R7n=8METh6vHzGAOL%D%}cB2HG1 zyeTqj6QvLtsroo+RLO=aBZ~-$Q_Qw8%KRNkh(Ad6826Jntrla!#8?Yww8^k%anqNI zq3`DzSY+3fyFo8FPlIg|JG~uS{SUT|^BdOhlUrNQ8tZzD#peNL9-DQMlWpPR<}^K1 zO$`~UYx8V*Q-h=OvXT2NF5?Q*1z%EEtii{i#nPK%ZOpZBeY?U8+k2s_paGFUIub~S M0v;6_OtEnD9~}f_H2?qr delta 788 zcmZva&rTCj6vn?hw@jJIEw)XICLJm&(o(3Xv`Q;VA%Lj--9Xsz0>%XiI}#cbw?>nj zxYj)(bTcHHxOBl2u<`|b0uy8X?ww{tVrFu3dha>E^UZhqVcHpH+?AFSC~RgA36u_BZXOs-YG!K(%#?j6Y^ zo<>Tdk1D|>*(W(ofKgG2I%5@C)U66*!vkgxI}{$WPFg+v5WkR4S~I56poBIx(0Ydt z;8_VFn#P03PM0;{#>}+As3@N1^`;2|4C{ZWCznx;e^G6_4vvmlEzI>;yF4|{1Xk7; zWOmB$a+rT*9 diff --git a/bin/code/GUI/CashDispenser.class b/bin/code/GUI/CashDispenser.class index dd9d6f3fb5ca43a58ac7b2d217d90ba4f1751101..67900162f6d998378e6e8afcd95b967caeecbfea 100644 GIT binary patch delta 17 Zcmdnax}BBd)W2Q({{Lri*vPS-2>?#82x$NS delta 17 Zcmdnax}BBd)W2Q(7#JALH*&0J0sudf24VmJ diff --git a/bin/code/GUI/DepositSlot.class b/bin/code/GUI/DepositSlot.class index e93ccbfbc4a449769a346461c06577c770b07f05..40194bad11d30f2b08d58ea8e4bc8ea5c53b0bff 100644 GIT binary patch delta 17 ZcmaFK^pc6=)W2Q({{Lri*vOH{2mn+02zUSh delta 17 ZcmaFK^pc6=)W2Q(7#JALH*zF00sutY25|rY diff --git a/bin/code/GUI/Keypad.class b/bin/code/GUI/Keypad.class index 17a7e8e5a8e798aa4f1fd7a0ae0fd65838725fc4..a2e161f2a2d679e7da699a3e821bce1cce873b06 100644 GIT binary patch delta 17 ZcmZ3}-)W2Q({{Lri*vPS;830iY2%Z1{ delta 17 ZcmX@kew>}-)W2Q(7#J9AH*)M}1^_}02Au!^ diff --git a/src/code/Database/BankDatabase.java b/src/code/Database/BankDatabase.java index 9b5b521..d50bc05 100644 --- a/src/code/Database/BankDatabase.java +++ b/src/code/Database/BankDatabase.java @@ -14,6 +14,7 @@ public BankDatabase() { accounts = new Account[ 2 ]; // just 2 accounts for testing accounts[ 0 ] = new Account(12345, 54321, new Euro(1000, 0),new Euro(1200,0)); + accounts[ 1 ] = new Account(98765, 56789, new Euro(200, 0),new Euro(200,0)); } // end no-argument BankDatabase constructor From 1086566c43df33c1740c2210ebfdc52036051a7c Mon Sep 17 00:00:00 2001 From: s5003659 Date: Tue, 28 Nov 2023 16:21:45 +0100 Subject: [PATCH 07/10] Fix withdrawal amount type --- src/code/Business_logic/Deposit.java | 2 +- src/code/Business_logic/Withdrawal.java | 16 ++++++++-------- src/code/Database/BankDatabase.java | 6 +++--- src/code/GUI/CashDispenser.java | 4 ++-- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/code/Business_logic/Deposit.java b/src/code/Business_logic/Deposit.java index c8d0093..359fb43 100644 --- a/src/code/Business_logic/Deposit.java +++ b/src/code/Business_logic/Deposit.java @@ -53,7 +53,7 @@ public void execute() screen.displayMessageLine( "\nYour envelope has been " + "received.\nNOTE: The money just deposited will not " + "be available until we verify the amount of any " + - "enclosed cash and your checks clear." ); + "enclosed cash and your checks clear" ); // credit account to reflect the deposit bankDatabase.credit( getAccountNumber(), amount ); diff --git a/src/code/Business_logic/Withdrawal.java b/src/code/Business_logic/Withdrawal.java index 2d1e47c..90ee7ca 100644 --- a/src/code/Business_logic/Withdrawal.java +++ b/src/code/Business_logic/Withdrawal.java @@ -9,7 +9,7 @@ public class Withdrawal extends Transaction { - private int amount; // amount to withdraw + private Euro amount; // amount to withdraw private Keypad keypad; // reference to keypad private CashDispenser cashDispenser; // reference to cash dispenser @@ -46,22 +46,22 @@ public void execute() amount = displayMenuOfAmounts(); // check whether user chose a withdrawal amount or canceled - if ( amount != CANCELED ) + if ( !amount.ugualeA(new Euro(CANCELED))) { // get available balance of account involved availableBalance = bankDatabase.getAvailableBalance( getAccountNumber() ); // check whether the user has enough money in the account - if ( amount <= availableBalance.getValore() ) + if ( amount.minoreDi(availableBalance) || amount.ugualeA(availableBalance) ) { // check whether the cash dispenser has enough money - if ( cashDispenser.isSufficientCashAvailable( amount ) ) + if ( cashDispenser.isSufficientCashAvailable( (int)amount.getValore()) ) { // update the account involved to reflect withdrawal bankDatabase.debit( getAccountNumber(), amount ); - cashDispenser.dispenseCash( amount ); // dispense cash + cashDispenser.dispenseCash( (int)amount.getValore() ); // dispense cash cashDispensed = true; // cash was dispensed // instruct user to take cash @@ -85,13 +85,13 @@ public void execute() screen.displayMessageLine( "\nCanceling transaction..." ); return; // return to main menu because user canceled } // end else - } while ( !cashDispensed ); + } while ( !cashDispensed ); } // end method execute // display a menu of withdrawal amounts and the option to cancel; // return the chosen amount or 0 if the user chooses to cancel - private int displayMenuOfAmounts() + private Euro displayMenuOfAmounts() { int userChoice = 0; // local variable to store return value @@ -134,7 +134,7 @@ private int displayMenuOfAmounts() } // end switch } // end while - return userChoice; // return withdrawal amount or CANCELED + return new Euro(userChoice); // return withdrawal amount or CANCELED } // end method displayMenuOfAmounts } // end class Withdrawal diff --git a/src/code/Database/BankDatabase.java b/src/code/Database/BankDatabase.java index d50bc05..ebe46aa 100644 --- a/src/code/Database/BankDatabase.java +++ b/src/code/Database/BankDatabase.java @@ -61,13 +61,13 @@ public Euro getTotalBalance( int userAccountNumber ) // credit an amount to Account with specified account number public void credit( int userAccountNumber, double amount ) { - getAccount( userAccountNumber ).credit(new Euro((long)amount/100 , (long)amount%100) ); + getAccount( userAccountNumber ).credit( new Euro(amount) ); } // end method credit // debit an amount from of Account with specified account number12345 - public void debit( int userAccountNumber, double amount ) + public void debit( int userAccountNumber, Euro amount ) { - getAccount( userAccountNumber ).debit( new Euro(amount)); + getAccount( userAccountNumber ).debit( amount ); } // end method debit } // end class BankDatabase diff --git a/src/code/GUI/CashDispenser.java b/src/code/GUI/CashDispenser.java index 4e95de8..548ac3e 100644 --- a/src/code/GUI/CashDispenser.java +++ b/src/code/GUI/CashDispenser.java @@ -17,14 +17,14 @@ public CashDispenser() // simulates dispensing of specified amount of cash public void dispenseCash( int amount ) { - int billsRequired = amount / 20; // number of $20 bills required + int billsRequired = (amount/100) / 20; // number of $20 bills required count -= billsRequired; // update the count of bills } // end method dispenseCash // indicates whether cash dispenser can dispense desired amount public boolean isSufficientCashAvailable( int amount ) { - int billsRequired = amount / 20; // number of $20 bills required + int billsRequired = (amount/100) / 20; // number of $20 bills required if ( count >= billsRequired ) return true; // enough bills available From 1e4a5b558ba8e933f6cfec92eebb7e4f010616ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CMassi1399=E2=80=9D?= <“massi9.1.9.3@gmail.com”> Date: Tue, 28 Nov 2023 16:21:59 +0100 Subject: [PATCH 08/10] fixata operazione deposito --- src/code/Business_logic/Deposit.java | 14 +++++++------- src/code/Business_logic/Withdrawal.java | 2 +- src/code/Database/BankDatabase.java | 4 ++-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/code/Business_logic/Deposit.java b/src/code/Business_logic/Deposit.java index c8d0093..004a719 100644 --- a/src/code/Business_logic/Deposit.java +++ b/src/code/Business_logic/Deposit.java @@ -9,10 +9,10 @@ public class Deposit extends Transaction { - private double amount; // amount to deposit + private Euro amount; // amount to deposit private Keypad keypad; // reference to keypad private DepositSlot depositSlot; // reference to deposit slot - private final static int CANCELED = 0; // constant for cancel option + private Euro CANCELED = new Euro(0); // constant for cancel option // Deposit constructor public Deposit( int userAccountNumber, Screen atmScreen, @@ -41,7 +41,7 @@ public void execute() // request deposit envelope containing specified amount screen.displayMessage( "\nPlease insert a deposit envelope containing " ); - screen.displayDollarAmount( new Euro((long)amount/100 , (long)amount%100)); + screen.displayDollarAmount( amount); screen.displayMessageLine( "." ); // receive deposit envelope @@ -71,21 +71,21 @@ public void execute() } // end method execute // prompt user to enter a deposit amount in cents - private double promptForDepositAmount() + private Euro promptForDepositAmount() { Screen screen = getScreen(); // get reference to screen // display the prompt screen.displayMessage( "\nPlease enter a deposit amount in " + "CENTS (or 0 to cancel): " ); - int input = keypad.getInput(); // receive input of deposit amount + Euro input = new Euro(keypad.getInput()); // receive input of deposit amount // check whether the user canceled or entered a valid amount - if ( input == CANCELED ) + if ( input.ugualeA(CANCELED) ) return CANCELED; else { - return ( double ) input; // return dollar amount + return input; // return dollar amount } // end else } // end method promptForDepositAmount } // end class Deposit diff --git a/src/code/Business_logic/Withdrawal.java b/src/code/Business_logic/Withdrawal.java index 2d1e47c..7e5e308 100644 --- a/src/code/Business_logic/Withdrawal.java +++ b/src/code/Business_logic/Withdrawal.java @@ -138,7 +138,7 @@ private int displayMenuOfAmounts() } // end method displayMenuOfAmounts } // end class Withdrawal - +// /************************************************************************** * (C) Copyright 1992-2007 by Deitel & Associates, Inc. and * diff --git a/src/code/Database/BankDatabase.java b/src/code/Database/BankDatabase.java index d50bc05..e66f297 100644 --- a/src/code/Database/BankDatabase.java +++ b/src/code/Database/BankDatabase.java @@ -59,9 +59,9 @@ public Euro getTotalBalance( int userAccountNumber ) } // end method getTotalBalance // credit an amount to Account with specified account number - public void credit( int userAccountNumber, double amount ) + public void credit( int userAccountNumber, Euro amount ) { - getAccount( userAccountNumber ).credit(new Euro((long)amount/100 , (long)amount%100) ); + getAccount( userAccountNumber ).credit(amount); } // end method credit // debit an amount from of Account with specified account number12345 From 60a09aeaefb681ea3ac4bf6d792a2504b2c420c3 Mon Sep 17 00:00:00 2001 From: Massi1399 <116018459+Massi1399@users.noreply.github.com> Date: Tue, 28 Nov 2023 17:17:58 +0100 Subject: [PATCH 09/10] Create componenti.txt --- componenti.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 componenti.txt diff --git a/componenti.txt b/componenti.txt new file mode 100644 index 0000000..846034f --- /dev/null +++ b/componenti.txt @@ -0,0 +1,3 @@ +Riccardo Traversa 5003659 +Massimo Mantovani 5186259 +Leonardo De Vincenzi 4631057 From b9a232014dc7c032aa2043e839376c9628bac4e2 Mon Sep 17 00:00:00 2001 From: s5003659 Date: Tue, 28 Nov 2023 17:34:34 +0100 Subject: [PATCH 10/10] Fix deposit amount conversion bug --- src/code/Business_logic/Deposit.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/code/Business_logic/Deposit.java b/src/code/Business_logic/Deposit.java index 8c3f9c4..1db0993 100644 --- a/src/code/Business_logic/Deposit.java +++ b/src/code/Business_logic/Deposit.java @@ -78,7 +78,7 @@ private Euro promptForDepositAmount() // display the prompt screen.displayMessage( "\nPlease enter a deposit amount in " + "CENTS (or 0 to cancel): " ); - Euro input = new Euro(keypad.getInput()); // receive input of deposit amount + Euro input = new Euro((double)keypad.getInput()/100); // receive input of deposit amount // check whether the user canceled or entered a valid amount if ( input.ugualeA(CANCELED) )