Question: Background This assignment aims to challenge students to work with basic input / output , simple data structures such as arrays and vectors, and user

Background
This assignment aims to challenge students to work with basic input/output, simple data structures
such as arrays and vectors, and user interaction in C++, providing them with a fun and engaging
project that combines programming skills with a bit of creativity from CS135(or any programming
class that you have taken at a different institution). You will also practice reading CSV files for
the first, second, third, or fourth time. Note that the output of your program will be two printed
maps - an outline of the United States map and the same outline with states/cities superimposed
on it, and the interactions between the user and your program.
Requirements
ASCII Map Generator:
The program must create a visual representation of the United States map using ASCII
characters. Each state/city should be represented with its corresponding label.
The map should be display on the terminal/console, maintaining the relative geograph-
ical positions of the states.
User Interaction:
Implement a user-friendly interface that prompts the user to input the name of a state.
The program should handle both uppercase and lowercase inputs, and it should provide
error handling for invalid inputs.
State Information Retrieval:
Design your code with modular functions to enhance readability and maintainability.
Implement proper documentation and comments to explain the code logic and function-
alities.
Data Structures:
Utilize appropriate data structures to store information about the states and their cor-
responding details.
The only data structures that you are allowed to use for this programming assignment
are arrays and/or vectors.
Error Handling:
Implement error handling mechanism to deal with invalid input and guide the user in
case of mistakes.
Your program should never terminate from an invalid name of a city. Instead, it ought
to "guess" what the user meant to type when searching for a city by providing a possible
answer or a list of possible answers.Assessment Criteria
Correctness and functionality of the ACII map generation.
User interface design and interaction.
Accuracy and completeness of state/city information retrieval.
Code structure, modularity, and documentation.
Creativity in implementing optional features.
A 50% grade penalty will be applied for any hard-coded values.
Input Files
The program is designed to open and read two CSV files through command-line arguments. The
file named boundary .csv serves as the input, containing geographic coordinates of locations along
the United States border. Each line in the file represents one coordinate, comprising two double
values separated by a comma. An example is provided below:
48.453197,-124.769867
48.423256,-123.110991
49,-123.321457
49,-120.5077814
49,-117.6941058
49,-114.8804302
In contrast, the city.csv input file comprises state/city names along with their corresponding
geographic coordinates. Each line in the file includes a city name, a state abbreviation, and the
latitude and longitude of the city's geographic coordinates, all separated by commas. An example
is illustrated below:
Aberdeen , SD,45.4647222,-98.4861111
Albuquerque, NM,35.0844444,-106.6505556
Allentown , PA,40.6083333,-75.4905556
Arlington, VA,38.8902778,-77.0844444
Ashland, OR,42.1947222,-122.7083333
Atlanta, GA,33.7488889,-84.3880556
Boundary Map
Here is the output of the program.
 Background This assignment aims to challenge students to work with basic

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!