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

  Consider a dash system for which there are n video version

Consider a DASH system for which there are N video version (at N different rates and qualities) and N audio versions (at N different rates and versions).

  Create a presentation in which you insert a title slide

This is for an CIS 105 class- Create a four slide PowerPoint presentation in which you insert a title slide including your name, course, quarter, and professor's name.

  Given the following information find out the total

given the following information find the total delaypropagation velocity 2.5 108 distance 2000 kmsix routers in the

  What factors in computer design would affect the decision

What factors in computer design would affect the decision.

  Nbspthe last stop boutique is having a five-day sale each

nbspthe last stop boutique is having a five-day sale. each day startingnbspon monday the price will drop 10 of the

  What is the role of a pilot project in information systems

jim watanabe was in his new car driving down i-5 on his way to work. he dreaded the phone call he knew he was going to

  Evaluates equivalence relation

For each of the subsequent relation, evaluates if it's an equivalence relation, if it's right-invariant, and give the index if it is an equivalence relation.

  Define some data are calculated as functions

Some data are calculated as functions. When will you store data in database and when would you use functions? What is the advantage of storing data in database.

  Study on distributed system architectures

We have learned a lot in 15 years. We now know that we need to revisit Deutch's list. We are savvier on what it takes to implement a distributed system. Distributed System Architecture.

  Common runtime libraries such as visual studio.net

should C++ programming language be extended to contain an XML editor and parser as is the case for the Java® programming language, or should this be built into the Integrated Development Environment (IDE) that supports the programming language?

  Define your usage of the mailing list

plan an E-R Diagram showing each entity, its attributes, and it relationships to the other entities. State any assumptions you make. Also Describe your usage of the mailing list, including the dates and subjects of the postings.

  Question1 how many hops are there from one node to another

question1 how many hops are there from one node to another? make up a detailed board.2 what are all of ip addresses?

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