Developing programs via functional decomposition and pointer

Assignment Help Computer Engineering
Reference no: EM131452602

Assignment

Aim:

Developing programs via functional decomposition and pointers.
On completion you should know how to:
- design a program by decomposing the problem into small functional units,
- implement a program using pointers and dynamic memory,
- produce a database program for maintaining records.

Requirements:

You are provided with an incomplete database program for accessing an electronic phone book. Your task is to firstly convert memory management from static to dynamic memory and implement the main search function. Each record in the database contains the following information:

Phone Number // 8 digit number
Family Name; // up to 20 chars
Given Name; // up to 20 chars
Street Number; // number 1..2500
Street Name // up to 30 chars
Suburb // up to 30 chars
PostCode // 4 digit number

The program is implemented in 3 files: main.cpp contains the text-menu based user interface. ass2.h contains public function prototypes. ass2.cpp contains the function definitions of the database program. Test data is provided in phone.txt.

Step 1: involves converting the program from static to dynamic memory. To do this, first convert the DB array into an array of pointers to PhoneRecords:

PhoneRecord *gPhoneRecs[cMaxRecs];

Then modify the ReadFile() function so that as records are read, dynamic memory is allocated to array elements using the new operator:

gPhoneRecs[i] = new PhoneRecord;

This statement should go just after the break statement within in the read file loop. Now convert all references to the PhoneRecord fields to ‘->'. e.g.

fin >> gPhoneRecs[i]->PostCode;

Also, complete the DisplayRecord() function for displaying records in the DB array five records at a time. (Make sure the format complies with that shown below.) Example:

Command: d
56391746 John Johns, 520 Park Lane, Oak Flats, 2532
14053398 Jill Jackson, 153 Seaview Dr, Mt Keira, 2211
70399355 Jack Hendly, 134 Parker St, Blacktown, 5933
83438529 Chris Smith, 788 Crest St, Albion Park, 2544
41878844 Joe Jones, 89 Keira Lane, Kanahooka, 2322 Display more records? y/n: <y>

92392252 Jack Bell, 707 Cherry Lane, Waterfall, 2233
93037935 Lauren Hendly, 557 Cope St, Kanahooka, 2322
50981291 Mary Hendly, 94 Crest St, Blacktown, 5344
93220958 Jenifer Parker, 415 Park Lane, Oak Flats, 2456
23339704 Mavis Johnstone, 904 Peace Dr, Mt Keira, 2211 Display more records? y/n: <n>

Step 2: involves implementing an AddRecord() function for adding a new record to the DB:

a adds a new record to the file

Example:

Command > a
Adding a new Record to Database...
Enter phone number: 42219999
Enter family name: Gates
Enter given name: Bill
Enter street number: 123
Enter street name: Silicon Dr
Enter suburb name: Silicon Valley
Enter postcode: 9999
A new record has been added to the database
...there are 245 records in the database

Note: The new record should be both added to the gPhoneRecs[] array and the data file. To append the record data to the end of the data file use:

fout.open(filename, ios::app); // opens file in append mode.

Step 3: involves implementing a Search() function for searching the database. The search function should request the Phone number from the user and display the matching phone number on the screen. Example:

Command > s
Enter phone number: 85332209
Jill, Dell, 779, Parker St, Smithville, 2958

Command > s
Enter phone number: 88884444
Record not found!

Also, implement a CleanUp() function for deleting all memory in the DB array when the program ends to avoid a memory leak.

Step 4: Add an erase record menu item to main.cpp e.g.:
"(e) Erase record"
and implement this function in ass2.cpp. e.g.

Command > e
Enter phone number: 88884444
88884444 has been erased from the database
...there are 244 records in the database

Attachment:- Assignment-CPP.zip

Reference no: EM131452602

Questions Cloud

Minimum deposit to open and has the highest fees : Which of the following accounts typically requires the largest minimum deposit to open and has the highest fees?
The cash to total assets ratio : Which of the following is accounted for by Lambda but not the Cash to total assets ratio?
What is the minimum number of bits that the binary register : Referring back to Problem 6.26, the mechanical inaccuracies in the open-loop positioning system can be described by a normal distribution whose standard.
How can you categorize the scientific information : How can you categorize the scientific information that you learned about your sport/recreation? For example, does it involve physics, chemistry, and/or biology?
Developing programs via functional decomposition and pointer : CSCI251/851 Advanced Programming Developing programs via functional decomposition and pointers.On completion you should know how to design a program by decomposing the problem into small functional units - You are provided with an incomplete database..
Evaluate current or future applications of biotechnology : Biotechnology refers to the technical applications. Evaluate current or future applications of biotechnology in the fields of medicine or agriculture.
Analyze how the company can manage these risks. : Explain what risks the company could face in entering the market in Mexico.Explain how these risks might be different than those risks faced in staying.
How many bits are required in the control memory : Stepping motors are used to drive the two axes of an insertion machine used for electronic assembly.
How can you revise this sentence to make it clearer : Do you see how I was able to be more direct and still express the same point? Which version is easier for you to follow?

Reviews

len1452602

4/6/2017 4:01:53 AM

Developing programs via functional decomposition and pointers. On completion you should know how to: • design a program by decomposing the problem into small functional units, • implement a program using pointers and dynamic memory, • produce a database program for maintaining records. Before submitting your files, test your program with the input provided below and save the output to a file named “output.txt”. Submit your files using the submit facility on UNIX as shown below: $ submit -u login -c CSCI251 –a2 main.cpp ass2.h ass2.cpp output.txt where 'login' is your UNIX login ID (Note: CSCI851 should also submit to –c CSCI251). Deductions will be made for untidy work or for failing to comply with the submission instructions. Requests for alternative submission arrangements will only be considered before the due date. An extension of time for the assignment submission may be granted in certain circumstances. Any request for an extension of the submission deadline must be made to the Subject Coordinator before the submission deadline. Supporting documentation must accompany the request for any extension.

Write a Review

Computer Engineering Questions & Answers

  Write the logic equations for both functions

Prepare a truth table for these two functions - Write the logic equations for both functions.

  Description of taskyour team 2-3 members will conduct an

description of taskyour team 2-3 members will conduct an analysis on selected organisation with regards to their use of

  Cryptography in embedded systems

The purpose of this activity is to provide students with an opportunity to practice critiquing scholarly articles, which is a vital research skill.

  Research best practices for system integration approaches

1.research best practices for system integration approaches such as the systems development life cycle sdlc approach

  Write down a 500 word essay based on the issue of ways in

write a 500 word essay based on the issue of ways in which the internet has changed political interactions globally.

  Program dealing with selection of five random cards

Generate a program which deals with the five random cards.

  Raw the uml diagram fro classes triangle and geometricobject

raw the UML diagram fro the classes Triangle and GeometricObject and implement the classes. Write a program that prompts the user to enter three sides of the triangle, a color and a Boolean value to indicate whether the triangle is filled.

  Explain technique for developing prototype of user interface

Describe techniques for developing prototypes of user interfaces. You must add at least 5 critical issue UI design items to your interface. Remember to ensure that these are easily understood by users.

  Using the division algorithm

Using the division algorithm where the 8 bit dividend is put into a 16 bit register R and the divisor is put into an 8 bit register D, and the result is that the quotient is in the lower half of R and the remainder is in the upper half of R, divid..

  Find the solution to each of these recurrence relations

find the solution to each of these recurrence relations with the given intial conditions. use an iterative approach.c

  A comfort level with the switches and maybe routers

Do you feel comfortable working with network infrastructure itself.

  Inventory all your computer equipment

Create a section in the same document titled "Priorities". Inventory all your computer equipment. (Include printers, scanners, monitors, iPads, smart phones, keyboards, etc. EVERYTHING)

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd