Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

C++ Step 1: Requirements: An Address Database Create a C++ console application that will store and retrieve names and addresses in a text file. The

C++

Step 1: Requirements: An Address Database

Create a C++ console application that will store and retrieve names and addresses in a text file.

The program should do the following.

It should accept a series of names and addresses from the console.

The user's input should be written to a text file in the CSV format described in the lecture, but do not include the field names in the first row of the file.

Read the records from the text file, and display them in a user-friendly format.

Provide a menu to allow the user to append records to the file, display the records, or exit the application.

Build upon the code below to complete the assignment.

//Specification: Append and display records in a address database

#include #include #include

using namespace std;

void menu(void); void writeData(void); void readData(void); string * split(string, char); const char FileName[] = "TestAddress.txt";

int main () { menu(); return 0; } //end main

void menu(void) { //allow user to choose to append records, display records or exit the program

}//end menu

void writeData(void){ //Write the Address Info to a file

}//end write data

void readData(void){ //read data from a file //use the split function to break a //deliminated line of text into fields

}//end read data

string * split(string theLine, char theDeliminator){ //Break theline into fields and save the fields to an array. //Each field will occupy one element in a character array. //theLine is a string with fields separated with theDeliminator character. //Assumes the last field in the string is terminated with a newline. //Useage: string *theFields = split(lineBuffer, ','); //determine how many splits there will be so we can size our array int splitCount = 0; for(int i = 0; i < theLine.size(); i++){ if (theLine[i] == theDeliminator) splitCount++; } splitCount++; //add one more to the count because there is not an ending comma

//create an array to hold the fields string* theFieldArray; theFieldArray = new string[splitCount];

//split the string into seperate fields string theField = ""; int commaCount = 0; for(int i = 0; i < theLine.size(); i++){ //read each character and look for the deliminator if (theLine[i] != theDeliminator) { theField += theLine[i]; //build the field } else { //the deliminator was hit so save to the field to the array theFieldArray[commaCount] = theField; //save the field to the array theField = ""; commaCount++; } } theFieldArray[commaCount] = theField; //the last field is not marked with a comma... return theFieldArray; } //end split

Step 2: Processing Logic

Using the pseudocode below, write the code that will meet the requirements.

The pseudocode for the writeData function is shown below.

Start

open the text file to append

start do while loop

Allow user to enter name

store name (using getline method)

Allow user to enter city

store city (using getline method)

.

.

write name, city, etc. to the file

end loop

close the file

End

The program input should appear similar to this.

Append Records Name..........John Smith Street.........902 Union Ave City............Any Town State...........TX Zip Code......78552 "Enter another Record? (Y/N) "

The file structure should look like this.

John Smith, 902 Union Ave, Any Town, TX, 79552 Eric Jones, 345 State Way, Fresno, CA, 93432 ...

The file output should appear similar to the following.

Show Records __________________________________________ Record #1 Name...........John Smith Street..........902 Union Ave City.............Any Town State...........TX Zip Code......78552 __________________________________________ Record #2 Name...........Eric Jones Street..........345 State Way City.............Fresno State...........CA Zip Code.......93432 __________________________________________ (A)ppend Records, (S)how Records, (E)xit

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Advances In Databases And Information Systems 25th European Conference Adbis 2021 Tartu Estonia August 24 26 2021 Proceedings Lncs 12843

Authors: Ladjel Bellatreche ,Marlon Dumas ,Panagiotis Karras ,Raimundas Matulevicius

1st Edition

3030824713, 978-3030824716

More Books

Students also viewed these Databases questions

Question

5. Our efficiency focus eliminates free time for fresh thinking.

Answered: 1 week ago