ﺗﻤﺮﯾﻦ ﺷﻤﺎره 3 ﻣﻬﻠﺖ ﺗﺤﻮﯾﻞ 15 :اردﯾﺒﻬﺸﺖ 1392 ﻗﺒﻞ ار اﻧﺠﺎم ﺗﻤﺮﯾﻦﻫﺎ ﻣﻮارد زﯾﺮ را ﺑﻪ دﻗﺖ ﻣﻄﺎﻟﻌﻪ ﺑﻔﺮﻣﺎﯾﯿﺪ: در ﺧﻂ اول ﻫﺮ ﯾﮏ از ﺑﺮﻧﺎﻣﻪﻫﺎ ﺷﻤﺎرهي داﻧﺸﺠﻮﯾﯽ و ﻧﺎم ﺧﻮد را ﺑﻪ ﺻﻮرت زﯾﺮ ﺑﻨﻮﯾﺴﯿﺪ: )//ID: Your Student ID (First Last Name ﺑﻌﺪ از ﻧﻮﺷﺘﻦ ﺗﻤﺮﯾﻦﻫﺎ ﻓﺎﯾﻞ ﻣﺮﺑﻮﻃﻪ را در ﯾﮏ ﭘﻮﺷﻪ ﺑﺎ ﻧﺎم assignment#assNom-StudentIDﻗﺮار دﻫﯿﺪ و ﺳﭙﺲ اﯾﻦ ﭘﻮﺷﻪ را ﻓﺸﺮده ﮐﻨﯿﺪ .ﻓﺎﯾﻞ ﻓﺸﺮده را ﺑﻪ آدرس [email protected]ارﺳﺎل ﻧﻤﺎﯾﯿﺪ. ﻋﻨﻮان ﻣﯿﻞ ﺑﻪ ﺻﻮرت assignment#assNom-StudentIDﺑﺎﺷﺪ. اﺷﺘﺒﺎه در ﻧﺎم ﮔﺬاري ﻓﺎﯾﻞ ﻣﻮﺟﺐ ﻋﺪم ﺗﺼﺤﯿﺢ ﺗﻤﺮﯾﻦ ﺧﻮاﻫﺪ ﺷﺪ. ﻧﺤﻮهي ﺧﻮاﻧﺪن ورودي و ﻧﻮﺷﺘﻦ ﺧﺮوﺟﯽ ﺑﺎﯾﺪ رﻋﺎﯾﺖ ﺷﻮد. ﮔﺬاﺷﺘﻦ ﮐﺎﻣﻨﺖﻫﺎ و اﺳﻢﮔﺬاري ﻣﻨﺎﺳﺐ ﺧﻮد ﻗﺴﻤﺘﯽ از ﻧﻤﺮه ﺳﻮال اﺳﺖ. ﺑﻪ ازاي ﻫﺮ روز ﺗﺎﺧﯿﺮ در ارﺳﺎل ﺗﻤﺮﯾﻦﻫﺎ %20از ﻧﻤﺮه ﺗﻤﺮﯾﻦ ﮐﺎﺳﺘﻪ ﺧﻮاﻫﺪ ﺷﺪ. ﺳﻮاﻻت ﺧﻮد را ﺑﺎ اﻧﺘﺨﺎب ﻣﻮﺿﻮع ﻣﻨﺎﺳﺐ در [email protected]ﻣﻄﺮح ﻧﻤﺎﯾﯿﺪ. ﺑﻪ ﺷﻤﺎ ﭘﺮوژه اي داده ﺷﺪه ﺗﺎ ﺳﯿﺴﺘﻢ ﯾﮏ ﺑﺎﻧﮏ ﺟﺪﯾﺪ اﻟﺘﺎﺳﯿﺲ را ﭘﯿﺎده ﺳﺎزي ﮐﻨﯿﺪ. در اﯾﻦ ﺑﺎﻧﮏ ﻣﯽ ﺗﻮان ﯾﮑﯽ از ﭼﻬﺎر ﻧﻮع ﺣﺴﺎب ﮐﻮﺗﺎه ﻣﺪت ،ﺑﻠﻨﺪ ﻣﺪت ،ﺟﺎري و ﻗﺮض اﻟﺤﺴﻨﻪ را اﯾﺠﺎد ﮐﺮد ﮐﻪ ﻫﺮﮐﺪام وﯾﮋﮔﯽ ﻫﺎي ﺧﺎص ﺧﻮد را دارﻧﺪ. در اﺑﺘﺪا ﯾﮏ ﮐﻼس Accountرا ﭘﯿﺎده ﺳﺎزي ﻣﯽ ﮐﻨﯿﺪ ﮐﻪ ﻫﺮ ﺷﯽ از اﯾﻦ ﮐﻼس ﻣﻌﺮف ﯾﮏ ﺣﺴﺎب ﺑﺎﻧﮑﯽ اﺳﺖ .اﯾﻦ ﮐﻼس داراي ﺗﺎﺑﻊ ﻫﺎي زﯾﺮ اﺳﺖ: :Deposit ﻣﻘﺪاري را ﺑﻪ ﻣﻮﺟﻮدي ﺣﺴﺎب وارﯾﺰ ﻣﯽ ﮐﻨﺪ. :Withdraw ﻣﻘﺪاري را از ﻣﻮﺟﻮدي ﺣﺴﺎب ﺑﺮداﺷﺖ ﻣﯽ ﮐﻨﺪ اﻟﺒﺘﻪ ﺑﺮ ﺣﺴﺐ ﻧﻮع ﺣﺴﺎب و ﻣﻘﺪار ﻣﻮﺟﻮدي ﻣﻤﮑﻦ اﺳﺖ ﻗﺎدر ﺑﻪ ﺑﺮداﺷﺖ وﺟﻪ ﻧﺒﺎﺷﯿﻢ .ﺗﺎﺑﻊ ﺑﺎﯾﺪ ﻗﺎدر ﺑﻪ اﻋﻼم اﯾﻦ ﺑﺎﺷﺪ ﮐﻪ آﯾﺎ اﯾﻦ ﻋﻤﻠﯿﺎت ﺑﺎ ﻣﻮﻓﻘﯿﺖ اﻧﺠﺎم ﺷﺪه اﺳﺖ ﯾﺎ ﺧﯿﺮ. :getBlance ﻣﻮﺟﻮدي ﺣﺴﺎب را ﺑﺮﻣﯽﮔﺮداﻧﺪ. :getID ﺷﻤﺎره ﺣﺴﺎب را ﺑﺮﻣﯽﮔﺮداﻧﺪ. :benefit ﺑﺮ ﺣﺴﺐ روز اﯾﺠﺎد ﺣﺴﺎب و روزي ﮐﻪ ﻓﺮاﺧﻮاﻧﺪه ﻣﯽ ﺷﻮد ﺳﻮد را ﺑﻪ ﺻﻮرت روز ﺷﻤﺎر ﺣﺴﺎب ﻣﯽ ﮐﻨﺪ. )اﮔﺮ ﺳﻮد ﺳﺎﻻﻧﻪ rﺑﺎﺷﺪ ﺳﻮد روزاﻧﻪ ﺑﺮاﺑﺮ اﺳﺖ ﺑﺎ (r/365 ﺣﺎل ﭼﻬﺎر ﻧﻮع ﺣﺴﺎب ﻣﺎ از ﮐﻼس Accountارث ﻣﯽ ﺑﺮﻧﺪ. :ShortTerm ﺣﺴﺎب ﮐﻮﺗﺎه ﻣﺪت داراي ﺳﻮد ﺳﺎﻻﻧﻪ .%24 ﺣﺪاﻗﻞ ﻣﺎﻧﺪه ﺣﺴﺎب ﺑﺎﯾﺴﺘﯽ 10000واﺣﺪ ﭘﻮﻟﯽ ﺑﺎﺷﺪ. :LongTerm ﺣﺴﺎب ﺑﻠﻨﺪ ﻣﺪت داراي ﺳﻮد ﺳﺎﻻﻧﻪ .%17 ﺣﺪاﻗﻞ ﻣﺎﻧﺪه ﺣﺴﺎب ﺑﺎﯾﺴﺘﯽ 15000واﺣﺪ ﭘﻮﻟﯽ ﺑﺎﺷﺪ. :Current ﺣﺴﺎب ﺟﺎري داراي ﺳﻮد ﺳﺎﻻﻧﻪ .%0 ﺣﺪاﻗﻞ ﻣﺎﻧﺪه ﺣﺴﺎب ﺑﺎﯾﺴﺘﯽ 0واﺣﺪ ﭘﻮﻟﯽ ﺑﺎﺷﺪ. ) :GharzolHasaneﺗﻘﺼﯿﺮ ﺧﺎرﺟﯿﺎﺳﺖ ﮐﻪ ﻗﺮض اﻟﺤﺴﻨﻪ ﻧﺪارن! ( ﺣﺴﺎب ﻗﺮض اﻟﺤﺴﻨﻪ داراي ﺳﻮد ﺳﺎﻻﻧﻪ .%12 ﺣﺪاﻗﻞ ﻣﺎﻧﺪه ﺣﺴﺎب ﺑﺎﯾﺴﺘﯽ ﺑﺮاﺑﺮ ﺑﺎ ﻣﻘﺪار اوﻟﯿﻪاي ﺑﺎﺷﺪ ﮐﻪ ﺑﺎ آن ﺣﺴﺎب اﯾﺠﺎد ﺷﺪه اﺳﺖ. ﺣﺎل ﺑﺎﯾﺪ ﯾﮏ ﮐﻼس دﯾﮕﺮ ﺑﻪ ﻧﺎم Bankﭘﯿﺎده ﺳﺎزي ﮐﻨﯿﺪ ات ﺑﺎ آن ﮐﻞ ﺳﯿﺴﺘﻢ رو ﮐﻨﺘﺮل ﮐﻨﯿﺪ. در اﯾﻦ ﮐﻼس ﻟﯿﺴﺘﯽ از اﺷﺎره ﮔﺮﻫﺎ ﺑﻪ ﺗﻤﺎﻣﯽ ﺣﺴﺎب ﻫﺎ ﻣﻮﺟﻮد اﺳﺖ(Account* accounts) . ﺗﺎﺑﻊ getAccountﻫﻢ ﻟﯿﺴﺖ ﺣﺴﺎب ﻫﺎي ﻣﻮﺟﻮد را ﻧﺸﺎن ﻣﯽدﻫﺪ. ﺗﺎﺑﻊ ) deposit(ID, cashﻣﻘﺪاري را ﺑﻪ ﺷﻤﺎره ﺣﺴﺎب ﻣﻮرد ﻧﻈﺮ اﺿﺎﻓﻪ ﻣﯽﮐﻨﺪ. ﺗﺎﺑﻊ ) withdraw(ID, cashﻣﻘﺪار ﻣﻮرد ﻧﻈﺮ را در ﺻﻮرت اﻣﮑﺎن از ﺷﻤﺎره ﺣﺴﺎب ﻣﻮرد ﻧﻈﺮ اﺿﺎﻓﻪ ﻣﯽ ﮐﻨﺪ .در ﺻﻮرت ﻣﻮﻓﻘﯿﺖ ﯾﺎ ﻋﺪم ﻣﻮﻓﻘﯿﺖ ﺑﺎﯾﺪ ﻗﺎدر ﺑﻪ اﻋﻼم ان ﺑﺎﺷﺪ. ﺗﺎﺑﻊ sertitionﯾﮏ ﻗﺮﻋﻪ ﮐﺸﯽ ﺑﺮاي دارﻧﺪﮔﺎن ﺣﺴﺎب ﻗﺮض اﻟﺤﺴﻨﻪ اﻧﺠﺎم ﻣﯽ دﻫﺪ .اﻣﺘﯿﺎز دﻫﯽ اﯾﻦ ﻗﺮﻋﻪ ﮐﺸﯽ ﺑﻪ اﯾﻦ ﺻﻮرت اﺳﺖ " :ﻫﺮ 20000واﺣﺪ ﭘﻮﻟﯽ ﯾﮏ اﻣﺘﯿﺎز" ﭘﺲ اﺣﺘﻤﺎل ﺑﺮﻧﺪه ﺷﺪن ﻫﺮ ﺣﺴﺎب ﺑﺎﯾﺪ ﺑﺎ اﻣﺘﯿﺎز آن ﻣﺘﻨﺎﺳﺐ ﺑﺎﺷﺪ .ﺑﻪ ﺑﺮﻧﺪه ﻗﺮﻋﻪ ﮐﺸﯽ 1000000واﺣﺪ ﭘﻮﻟﯽ ﺟﺎﯾﺰه داده ﻣﯽ ﺷﺌﺪ ﮐﻪ ﺑﻪ ﺣﺴﺎب او وارﯾﺰ ﻣﯽ ﮔﺮدد. ﺗﺎﺑﻊ getDateﻫﻢ ﺗﺎرﯾﺦ ﻓﻌﻠﯽ ﺳﯿﺴﺘﻢ را ﺑﺮﻣﯽﮔﺮداﻧﺪ. در mainﺷﻤﺎ ﺗﻨﻬﺎ ﯾﮏ ﺷﯽ از ﮐﻼس Bankاﯾﺠﺎد ﻣﯽ ﺷﻮد).دﻗﺖ ﮐﻨﯿﺪ ﻓﻘﻂ ﯾﮑﯽ( و ﺑﻪ وﺳﯿﻠﻪ ﻫﻤﯿﻦ ﺷﯽ ﺑﺎﯾﺴﺘﯽ ﺑﺘﻮان ﻋﻤﻠﯿﺎت زﯾﺮ را از ﻃﺮﯾﻖ ﮐﻨﺴﻮل اﻧﺠﺎم داد: Create_S_ID_balanceاﯾﺠﺎد ﺣﺴﺎب ﮐﻮﺗﺎه ﻣﺪت ﺑﺎ IDو balanceداده ﺷﺪه. Create_L_ID_balanceاﯾﺠﺎد ﺣﺴﺎب ﺑﻠﻨﺪ ﻣﺪت ﺑﺎ IDو balanceداده ﺷﺪه. Create_C_ID_balanceاﯾﺠﺎد ﺣﺴﺎب ﺟﺎري ﺑﺎ IDو balanceداده ﺷﺪه. Create_G_ID_balanceاﯾﺠﺎد ﺣﺴﺎب ﻗﺮض اﻟﺤﺴﻨﻪ ﺑﺎ IDو balanceداده ﺷﺪه. Increase_ID_Cashﻣﻘﺪار ﻣﻮﺟﻮدي IDرا ﺑﻪ اﻧﺪازه Cashاﻓﺰاﯾﺶ ﻣﯽدﻫﺪ. Decrease_ID_Cashﻣﻘﺪار ﻣﻮﺟﻮدي IDرا ﺑﻪ اﻧﺪازه Cashﮐﺎﻫﺶ ﻣﯿﺪﻫﺪ. Set_dd_mm_yyﻟﻄﻒ ﻣﯽﮐﻨﯿﻢ دﺳﺘﯽ ﺑﻪ ﺳﯿﺴﺘﻢ زﻣﺎن ﻓﻌﻠﯽ را اﻋﻼم ﻣﯽ ﮐﻨﯿﻢ. ShowAccountﻟﯿﺴﺖ ﺗﻤﺎﻣﯽ ﺣﺴﺎب ﻫﺎ را ﺑﺎ IDو 5ﻋﻤﻠﯿﺎت آﺧﺮي ﮐﻪ اﻧﺠﺎم داده اﻧﺪ را ﻧﺸﺎن ﻣﯽ ShowIDsﺗﻤﺎﻣﯽ ﺷﻤﺎره ﺣﺴﺎب ﻫﺎ را ﻧﻤﺎﯾﺶ ﻣﯽ دﻫﺪ. دﻫﺪ. Sertitionﺑﺮاي ﺣﺴﺎب ﻫﺎي ﻗﺮض اﻟﺤﺴﻨﻪ ﯾﮏ ﻗﺮﻋﻪ ﮐﺸﯽ اﻧﺠﺎم ﻣﯽ دﻫﺪ و ﺷﻤﺎره ﺣﺴﺎب ﺑﺮﻧﺪه را اﻋﻼم ﻣﯽ ﮐﻨﺪ. ﺗﻮﺟﻬﺎت: زﻣﺎن اوﻟﯿﻪ ﺳﯿﺴﺘﻢ 1392/1/1در ﻧﻈﺮ ﺑﮕﯿﺮﯾﺪ. در ﻫﺮ ﮐﻼس ﺑﺮ ﺣﺴﺐ ﻧﯿﺎز ﻣﯽ ﺗﻮاﻧﯿﺪ ﻣﺘﻐﯿﺮ و ﻣﺘﺪ اﺿﺎﻓﻪ ﺑﺮ ﺻﻮرت ﺳﻮال در ﻧﻈﺮ ﺑﮕﯿﺮﯾﺪ. ﺑﺮاي ﻫﺮ ﮐﻼس وﺟﻮد دو ﻓﺎﯾﻞ ﺟﺪاﮔﺎﻧﻪ .hو .cppﺿﺮوري اﺳﺖ. ﺣﺘﻤﺎ ﭼﻨﺪرﯾﺨﺘﯽ و وراﺛﺖ را رﻋﺎﯾﺖ ﮐﻨﯿﺪ .در ﻏﯿﺮ اﯾﻦ ﺻﻮرت ﻣﻮﺟﺐ ﮐﺴﺮ ﻧﻤﺮه ﺧﻮاﻫﺪ ﺷﺪ. ﺑﻪ ﻫﻤﺮاه ﮐﺪ ﻓﺎﯾﻞ UMLﺑﺮﻧﺎﻣﻪ را ﻫﻢ در ﻓﺎﯾﻠﯽ pdfﭘﯿﻮﺳﺖ ﮐﻨﯿﺪ).ارﺳﺎل UMLﺑﺨﺸﯽ ار ﺳﻮال اﺳﺖ و ﺑﻪ آن ﻧﻤﺮه ﺗﻌﻠﻖ ﻣﻮﺟﻮدي ﺣﺴﺎبﻫﺎ را ﺑﻪ ﺻﻮرت ﺻﺤﯿﺢ ذﺧﯿﺮه ﮐﻨﯿﺪ .ﻗﺴﻤﺖ اﻋﺸﺎري آﻧﻬﺎ را ﻗﻄﻊ ﮐﻨﯿﺪ. ﻣﯽﮔﯿﺮد(. ﺟﻬﺖ راﻫﻨﻤﺎﯾﯽ ﻫﻢ ﻣﯽ ﺗﻮاﻧﯿﺪ از ﻟﯿﻨﮏﻫﺎي زﯾﺮ اﺳﺘﻔﺎده ﮐﻨﯿﺪ: /http://www.cplusplus.com/doc/tutorial/inheritance /http://www.cplusplus.com/doc/tutorial/polymorphism ﻣﻮﻓﻖ ﺑﺎﺷﯿﺪ
© Copyright 2026 Paperzz