联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-23:00
  • 微信:codinghelp2

您当前位置:首页 >> CS作业CS作业

日期:2020-12-05 11:13

ISOM3013 - Advanced Business Programming

2020/2021

Section 001


Final Project (Group)Due Date: 18 Dec., 2020 (IN CLASS)

Note: Submit both hardcopy (printed format) and softcopy.


1.For hardcopy, you are required to submit program listing, documentation, sample inputs and outputs. Documentation includes program description, function description, variable description and statement description. Inside program description, you need to mention the author name, i.e. your name, and student no.


2.For softcopy, please compress all the class and program files and send the compressed file through UMMoodle. For each group, save your compressed file as “bb8xxxx_project.zip”. Please remember to use group leader’s student number as part of compressed file name.


Implement part of a loan management system as follows:

a)Develop an account class (super class), a loan class (sub-class) and a saving account (sub-class)

Account class

-customerIdCard: int

-accountId: int (should be auto-generated)

-customerName: String

-customerPhone: int

-balance: double

-annualInterestRate: double

-accountCreationDate: Date


+Account(customerIdCard: int, customerName: String, customerPhone: int, balance: double, annualInterestRate: double)

+getCustomerIdCard(): int

+getAccountId(): int

+getCustomerName(): String

+getBalance():double

+getAnnualInterestRate(): double

+setBalance(balance: double): void

+setAnnualInterestRate(annualInterestRate: double): void

+withdraw(amount: double): void

+deposit(amount: double): void



Loan class

-loanAmount: double

-numberofYears: int

-savingAccountId: int

-nextPaymentDate: Date

-monthlyPaymentAmt: double

-totalPaymentAmt: double


+loan(customerIdCard: int, customerName: String, customerPhone: int, loanAmount: double, savingAccountId: int, annualInterestRate: double,  numberOfYears: int)

+getNumberOfYears():int

+getSavingAccountId(): int

+getLoanAmount(): double

+getLoanAccountId(): int

+SetNumberOfYears(numberOfYears: int): void

+setLoanAmount(loanAmount: double): void

+ReduceLoanBalance(Amount: double): void

+monthlyPayment(): double

+totalPayment(): double


SavingAccount class

+SavingAccount(customerIdCard: int, customerName: String, customerPhone: int, balance: double, annualInterestRate: double)

+calculateInterest(numberOfYears): void



b)Create a program class that displays the following menu containing five functions and the system will ask the user to input a menu item to execute a particular function:


1)Create a new loan account

2)Create a new saving account

3)Reduce Loan balance

4)Loan Enquiry

5)Exit

For i), the system should ask the user to input the Customer ID card number.

If the customer ID card number is matched with the ID card number in saving account, it will display the following items on screen: 1) Customer name, 2) Customer telephone number, 3) Customer savings account number.

Then, it will transfer all those items to loan account. If customer ID card number not found, ask the user to create a saving account first.

Then, it will continue to ask user to input: 1) Loan amount, 2) annual interest rate, 3) number of years. The system should generate a loan id and the date of creating the loan (current date). Based on the date of creating the loan, it will deduce the next payment date (28 days from now). The loan balance should be equal to the loan amount initially. Besides, it will calculate the monthly payment based on the formula on next page. After that, it will store all the information in a new loan object.

For ii), the system should ask the user to input the following: 1) Customer name, 2) Customer ID card number, 3) Customer telephone, 4) Annual interest rate, 5) Initial balance. The system will generate the account id and the account creation date. All the information above will be stored in a new savings account object.

For iii), the system will ask the user to input the loan id number and it will display corresponding loan information on screen. Then, it will ask user to input the total amount for loan payment. Based on the amount, it will check the corresponding savings account to see if the reduced amount is sufficient there. If sufficient, it will reduce the loan balance from his/her loan account. In addition, it will calculate the new monthly payment and the total amount together with displaying them on screen. Furthermore, the system will save the new values in the corresponding loan account. However, it will send error message to user if reduced amount is not sufficient in savings account.

For iv), it will ask user to input the loan account number and all the information about the corresponding loan will be displayed on screen.


For v), the execution of system will be terminated.

Please don’t forget that after each function is performed, the system should display the main menu again and then ask the user to input a main item number. Finally, do the validations properly.



版权所有:留学生编程辅导网 2020 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp