Programming Assignment


CLICK HERE TO DOWNLOAD THIS ANSWER  INSTANTLY $28 Only

 

Description:

COP3010 Programming I in C/C++

Programming Assignment #8_

This assignment is quite simple but could turn out to be one of the more complicated programming projects that you will have this term.  This assignment will involve storing information in a dynamically allocated array, sorting information and then looking at the data and analyzing the data in the form of a summary.

You are to read in a file that contain several records of data, each record will contain:  The Last Name of the person taking the survey, First Name of the person taking the survey,  and a character “C” or Character  “P” that indicates whether a person believes that Cheese cake is a cake “C” or is really a pie “P” .

There are an unknown number of records.

Programming Specifications:

Here are the lists of tasks and specifications.

  1. Ask the user for the name of the input file. You must make sure it is a valid file and that it


can be opened.  If not, you need to continually ask the user for a valid file.

  1. Open the file and read the contents only counting the number of records in the file.

  2. Close file.

  3. Dynamically allocate an array to store the data make sure that you only allocate enough


storage to hold exactly the number of records needed.

  1. Open the file and read the file into the array.

  2. Sort the Array on Last Name in ascending order.

  3. Print out the information (to standard output) using the example at the end of this


document.

  1. Print out at the end of the summary of information (i.e. how many people said that


Cheesecake is a Cake and how many said it was a Pie).

  1. Also print out the number of participants. Be sure that the number of people who said


Cheesecake is a Cake + Cheesecake is Pie is equal to the total number participants.

COP3014  Page 1

Design Considerations:

COP3010 Programming I in C/C++

  1. You will use this C/C++ struct to define your data structure.


struct Roster {

string LName;

string FName;

char Cheesecake;

}

struct Roster * MyRoster;

  1. You must determine how many records are in the file before you allocate the array to hold the data.

  2. You must have the minimum functions to perform the following operations:


o Get a valid file name that holds the data

o Read the data into the array passing the array as a parameter

o Sort the data

o Find the number of people who said Cheesecake is a Pie passing the array as a parameter and returning the number as a return value of the function.

o Find the number of people who said Cheesecake is a Cake passing the array as a parameter and returning the number as a return value of the function.

o Sorting the Array passing the array as a parameter by reference.

o Printing the report passing the array as a const value.

General Requirements:

  1. No global variables, other than constants and type definitions!

  2. Use the const qualifier on member functions wherever it is appropriate.

  3. Your main routine should just mainly handle the calling of functions and basic program


structure.

  1. You will need to use the <iostream> library for output. You may use the <iomanip> library


for formatting your output if you wish.

  1. When you write source code, it should be readable and well-documented.

  2. You must have prototypes for all of your functions.

  3. You may use any sorting technique you wish but the simplest (exchange or bubble sort) is all


that is required.

  1. The size of the array must match exactly the number of records in the file. No more no less.