SOLUTION: Portsmouth Create a C Programming Language Program Programming & Algorithms Task

Academic Year 2020/21
Introduction to Programming & Algorithms
Coursework 1 (Portfolio)
Deadline For Submission:
This is a portfolio based assignment. There are five milestones with
different submission dates. Please see the description for the deadlines.
Submission Instructions
Submit your milestone work on the Moodle dropboxes.
Instructions for completing the
assessment:
Assignments must either be .txt or .c format. Your solution for each
milestone must be written in the C programming language. Solutions
from other programming languages (C++, python etc) will not be
acceptable.
Examiners:
Dr Josh Robertson
This coursework contributes 30% to the ENG421 unit mark. The assignment is made up of five
milestones. Each milestone is worth 20% of the grade and are due at different points throughout
Teaching Block 1 (TB1) and Teaching Block 2 (TB2). Please refer to each specific milestone for their
deadlines and requirements in the description below
Course Assignment:
The specification for this assignment is to design and program a working banking system. This bank
program is to be written for university and college students who ​may have some limited experience
with budgeting and managing their money.
You have authority to brand and name the bank as you wish. Your solution must provide
appropriate and informative messages to the user where necessary and use data verification
processes when required.
The following milestones will be required for the completion of this coursework:
1. Provide a secure login process whereby the user will need to verify their identity and PIN
number to access their information and accounts
2. Display a menu system, which gives the users options to access each of their accounts or
update their personal information
3. After successful login and from the menu system, provide an option to interact with either
the users current or saving account by way of displaying their balance and making payments
or withdrawals
4. Personalise the user experience by allowing the user to register a new account and to
provide an option to open up a single current account and up to 2 savings accounts,
whereby the customer is allowed a maximum of one type of each savings account:
a. A ISA account, which can either be a stock and shares ISA or a cash ISA
b. A regular savings account with a fixed interest rate
5. After (and only after!) completing, the main features above (1-4), provide a development
update that allows up to 20 users to register an account.
To gain the full 20% for each milestone, all of the specified objectives for that milestone must be
met. For each late submission for each milestone, whereby the submission is made after the
deadline, there will be a penalty of 10% applied to that milestone. Not completing or missing
milestones equals a grade of zero for each non-submission unless you submit and have a valid ECF.
M21387
2020-21
Page | 1
Example:
Milestone 1 on time, all specifications met 20%
Milestone 2 late, all specifications met: 15% (5% penalty applied)
Milestone 3 late, half specifications met: 5% (original mark 10% for half objectives, 5%
penalty for late)
Milestone 4 on time, half specifications met 10%
Milestone 5 non-submission 0%
Final grade is 50%
Milestone 1
Upload to CW1-Milestone1 dropbox on Moodle by Friday 27​th​ November 15:00.
Requirement:
1. Provide a secure login process whereby the user will need to verify their identity to access
their account(s)
Specification:
As this project is in a development stage, you will need to set a userID and PIN yourself in order to
test the login process. Therefore, your program should perform the following:
● You should create test variables that you will use for milestones 1-4. Declare and initialise
variables called testID ​and testPIN​. ​testID should be an integer variable and
should be six digits long. ​testPIN​, that should be an integer variable and four digits long
The specifications for the login process are the following:
● Request the user to enter a ​userID​. Complete a logical check to see if the inputted
userID​ matches the stored ​testID​ you created in the previous step
o If the IDs do not match, provide the user a further 2 attempts using a For Loop
sequence
▪ Each time the ​userID does not match, display an informative message.
After 3 unsuccessful attempts you should display a message to say your
account has been blocked and then proceed to exit the program
● After a successful ID match, request the user to enter their PIN
o Perform a length check to make sure PIN entered meets the four digit requirement
o Perform a Do While Loop to provide the user a maximum of 3 attempts to enter
their PIN
▪ As before, display informative messages where appropriate. You should
countdown the number of tries left after each attempt
▪ If the PIN is not correct after three tries, display a message to say your
account has been blocked and exit the program
o If the PIN number is correct, display a message to say you have successfully logged in
M21387
2020-21
Page | 2
Milestone 2
Upload to CW1-Milestone2 dropbox on Moodle by Friday 11​TH December 15:00. Your submission
should include source code from Milestone 1 in order to fulfil the functionality of the project.
Requirement:
Display a menu system, which gives the users options to access each of their accounts or update
their personal information
Specification:
Following Milestone 1, a successful login should take the user to a menu system. During this
development stage, you should continue to use test variables and print messages to demonstrate
functionality.
The menu system should display the following information and make use of functions ready for the
next milestones. The menu system should also use a switch-case statement and a loop sequence to
enable the user to make a selection. Additionally the program should run until the user chooses to
exit the program.
The functions, for now, should use a print statement to state a successful function call.
1. Update user information
a. Ask the user if they wish to change their PIN number
b. Update or enter their account details (e.g. name, address, DOB)
2. View current account
a. Function call to currentAccount()
3. View savings account
a. Function call to savingsAccount()
4. Exit the program
Milestone 3
Upload to CW1-Milestone3 dropbox on Moodle by Friday 8​th January 15:00. Your submission
must include the code from the previous milestones to ensure continued functionality.
Requirement:
After successful login and from the menu system, provide an option to interact with their current or
saving account by way of displaying their balance and making payments or withdrawals
Speciation:
M21387
2020-21
Page | 3
Write and complete the functionality for the currentAccount and savingsAccount functions created
in the previous milestone (which is option 2 and 3 from the menu system). For testing, you should
start the user with a balance of 500.00 in each account.
The following functionality should be implemented for each account:
1. Display balance
2. Make a withdrawal
3. Deposit money
4. Transfer balance between the current and savings account.
a. You must make use of at least one global variable for this component
b. Have suitable checks to make sure the balance does not drop below 0.
You should take the time to test all the functionality that you have written so far and to make sure
that you have written appropriate methods for data verification.
Milestone 4
Upload to CW1-Milestone4 dropbox on Moodle by Friday 21​st January 15:00. Your submission
must include the code from the previous milestones to ensure continued functionality.
Requirement:
Personalise the user experience by allowing the user to register an account and to provide an
option to open up a single current account and up to 2 savings accounts, whereby the customer is
allowed a maximum of one type of each savings account:
a. A ISA account, which can either be a stock and shares ISA or a cash ISA
b. A regular savings account with a fixed interest rate
Specification:
Rename the test variables to default account – so we can continue to test functionality with the
previous milestones.
When the program is first run, you should now provide an option to either:
● login (using the credentials from before) or
● register a new account
When registering an account, you should request the following
● The users first and last name, storing the information as string
● The users DOB, storing the information as string
● Set a user ID and password. It must not rewrite the default account information
● Ask the user what type of savings account they wish to open, you should display a brief
message explaining the account and what interest rates belong to those accounts
M21387
2020-21
Page | 4
Upon registering, you should now provide the user the option to login and disable the test account
so only one account can be accessed.
You should update the view savings account functionality to match the account opened.
Additionally you should write and insert pseudocode explaining your project for milestone 1-4.
Milestone 5:
Upload to CW1-Milestone5 drop box on Moodle by Friday 19​th February 15:00. Your submission
must include the code from the previous milestones to ensure continued functionality.
Requirement:
Provide a development update that allows up to 20 users to register an account.
Specification:
Building on the success of milestones 1-4, you should enable your program to allow up to 20 users
to register an account with your bank. You must make use of arrays and more advanced features
where appropriate. You have flexibility on how to implement this feature. Marks will be given
based on enabling full functionality of your bank account.
M21387
2020-21
Page | 5

Purchase answer to see full
attachment

Order a unique copy of this paper
(550 words)

Approximate price: $22

Our Basic features
  • Free title page and bibliography
  • Plagiarism-free guarantee
  • Unlimited revisions
  • Money-back guarantee
  • 24/7 support
Our Options
  • Writer’s samples
  • Expert Proofreading
  • Overnight delivery
  • Part-by-part delivery
  • Copies of used sources
Paper format
  • 275 words per page
  • 12 pt Arial/Times New Roman
  • Double line spacing
  • Any citation style (APA, MLA, Chicago/Turabian, Harvard)

AcademicWritingCompany guarantees

Our customer is the center of what we do and thus we offer 100% original essays..
By ordering our essays, you are guaranteed the best quality through our qualified experts.All your information and everything that you do on our website is kept completely confidential.

Money-back guarantee

Academicwritingcompany.com always strives to give you the best of its services. As a custom essay writing service, we are 100% sure of our services. That is why we ensure that our guarantee of money-back stands, always

Read more

Zero-plagiarism tolerance guarantee

The paper that you order at academicwritingcompany.com is 100% original. We ensure that regardless of the position you are, be it with urgent deadlines or hard essays, we give you a paper that is free of plagiarism. We even check our orders with the most advanced anti-plagiarism software in the industry.

Read more

Free-revision guarantee

The Academicwritingcompany.com thrives on excellence and thus we help ensure the Customer’s total satisfaction with the completed Order.To do so, we provide a Free Revision policy as a courtesy service. To receive free revision the Academic writing Company requires that the you provide the request within Fifteen (14) days since the completion date and within a period of thirty (30) days for dissertations and research papers.

Read more

Privacy and Security policy

With Academicwritingcompan.com, your privacy is the most important aspect. First, the academic writing company will never resell your personal information, which include credit cards, to any third party. Not even your lecturer on institution will know that you bought an essay from our academic writing company.

Read more

Adherence to requirements guarantee

The academic writing company writers know that following essay instructions is the most important part of academic writing. The expert writers will, therefore, work extra hard to ensure that they cooperate with all the requirements without fail. We also count on you to help us provide a better academic paper.

Read more

Calculate the price of your order

550 words
We'll send you the first draft for approval by September 11, 2020 at 10:52 AM
Total price:
$26
The price is based on these factors:
Customer Academic level
Number of pages required
Urgency of paper