Requirements: You are working for a meteorologist to maintain a list of temperatures and some related statistics for a month. Create a class called Temperature that stores temperature readings (integers) in a vector (do not use an array).  The class should have data members that store the month name and year of when the temperature readings were collected.  Constructor(s): The class should have a 2-argument constructor that receives the month name and year as parameters and sets the appropriate data members to these values. Member Functions: The class should have functions as follows: Member functions to set and get the month and year variables. A member function that adds a single temperature to the vector. Both negative and positive temperatures are allowed.  Call this function AddTemperature. A member function to sort the vector in ascending order. A member function to compute the average (x̄) of the temperatures in the vector. The formula for calculating an average is x̄ = ∑xi / n  where xi is the value of each temperature reading and n is the total number of temperature readings in the vector.   A member function to determine the lowest temperature for the month. [ A member function to determine the highest temperature for the month. A member function to return the number of temperatures that were read in for the month. A member function to display the sorted temperatures. Write a program (client) that uses the class by creating a Temperatures object and prompting the user for a file name. Appropriate error checking is required to ensure that the file exists and can be opened successfully.  The client should read in the file contents and store them in the object. The file will be formatted such that the first line contains the month name, the second line contains the year, and each successive line contains a temperature. A typical input file might contain: June 2019 90 85 97 91 87 86 88 82 83 85 Note that the file may contain any number of temperatures for a given month.  Therefore, you need to read in and store each temperature until you reach the end of the file. The client (i.e. main()) should read in the contents of the file.  After each temperature is read in, it should call the member function in the Temperatures class to add the new temperature (i.e. one temperature at a time) to the vector.  Main() should then produce a report that displays the month and year of the data, the total number of observations (temperatures) in the file, the lowest temperature, the highest temperature, the average temperature, and finally, a listing of all of the temperatures that were read in.  The listing of all of the temperatures must be displayed in sorted order (ascending – from lowest to highest).  All output should be labeled appropriately, and validity checking should be done on input of the filename and also the temperatures that are read in. If a non-numeric value is encountered in reading in the temperatures, the program should output an error message indicating that a non-numeric value was found in the file, and the entire program should then terminate.  If a non-numeric is found, consider the entire file to be corrupted and don’t try to produce any calculations nor display the contents of the vector – just end the program with an appropriate error message. (Make sure the error message is displayed long enough for the user to read it before ending the program.)  Again, negative temperatures are permitted, but non-numeric temperatures should be caught. Use good coding style (modular, separate .h and .cpp class files, no globals, meaningful comments, etc.) throughout your program.  Finally, make sure that you do not misspell the word “temperature” in your output to the user.   To give you an idea of the general criteria that will be used for grading, here is a checklist that you might find helpful:   Compiles and Executes without crashing Style:  No globals, Files are closed after use, code is modular Appropriate Internal Documentation Temperature Class Created:      Temperature.h (header file)      Temperature.cpp (class file)      TemperatureDriver.cpp (Driver file) Data members:      Appropriate data members are declared Pre-processing directives:      Appropriate Pre-processing and using directives Constructors: Two argument constructor initializes data members Member functions are correct and used correctly:      Set and get functions for data members      Get function for total number of temperatures      addTemperature() -- add s a single temperature to the vector      sortTemperatures() - sorts vector in ascending order      averageTemperature()      findMinTemperature() and findMaxTemperature()      displayTemperatures() Protection:

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question
100%

This is for c++ help.

Requirements:

You are working for a meteorologist to maintain a list of temperatures and some related statistics for a month.

Create a class called Temperature that stores temperature readings (integers) in a vector (do not use an array).  The class should have data members that store the month name and year of when the temperature readings were collected.

 Constructor(s):

The class should have a 2-argument constructor that receives the month name and year as parameters and sets the appropriate data members to these values.

Member Functions:

The class should have functions as follows:

Member functions to set and get the month and year variables.

  1. A member function that adds a single temperature to the vector. Both negative and positive temperatures are allowed.  Call this function AddTemperature.
  2. A member function to sort the vector in ascending order.
  3. A member function to compute the average (x̄) of the temperatures in the vector. The formula for calculating an average is

x̄ = ∑xi / n 

where xi is the value of each temperature reading and

n is the total number of temperature readings in the vector.

 

  1. A member function to determine the lowest temperature for the month. [
  2. A member function to determine the highest temperature for the month.
  3. A member function to return the number of temperatures that were read in for the month.
  4. A member function to display the sorted temperatures.

Write a program (client) that uses the class by creating a Temperatures object and prompting the user for a file name. Appropriate error checking is required to ensure that the file exists and can be opened successfully. 

The client should read in the file contents and store them in the object. The file will be formatted such that the first line contains the month name, the second line contains the year, and each successive line contains a temperature. A typical input file might contain:

June

2019

90

85

97

91

87

86

88

82

83

85

Note that the file may contain any number of temperatures for a given month.  Therefore, you need to read in and store each temperature until you reach the end of the file.

The client (i.e. main()) should read in the contents of the file.  After each temperature is read in, it should call the member function in the Temperatures class to add the new temperature (i.e. one temperature at a time) to the vector. 

Main() should then produce a report that displays the month and year of the data, the total number of observations (temperatures) in the file, the lowest temperature, the highest temperature, the average temperature, and finally, a listing of all of the temperatures that were read in.  The listing of all of the temperatures must be displayed in sorted order (ascending – from lowest to highest). 

All output should be labeled appropriately, and validity checking should be done on input of the filename and also the temperatures that are read in.

If a non-numeric value is encountered in reading in the temperatures, the program should output an error message indicating that a non-numeric value was found in the file, and the entire program should then terminate.  If a non-numeric is found, consider the entire file to be corrupted and don’t try to produce any calculations nor display the contents of the vector – just end the program with an appropriate error message. (Make sure the error message is displayed long enough for the user to read it before ending the program.)  Again, negative temperatures are permitted, but non-numeric temperatures should be caught.

Use good coding style (modular, separate .h and .cpp class files, no globals, meaningful comments, etc.) throughout your program.  Finally, make sure that you do not misspell the word “temperature” in your output to the user.

 

To give you an idea of the general criteria that will be used for grading, here is a checklist that

you might find helpful:

 

Compiles and Executes without crashing

Style:  No globals, Files are closed after use, code is modular

Appropriate Internal Documentation

Temperature Class Created:

     Temperature.h (header file)

     Temperature.cpp (class file)

     TemperatureDriver.cpp (Driver file)

Data members:

     Appropriate data members are declared

Pre-processing directives:

     Appropriate Pre-processing and using directives

Constructors:

Two argument constructor initializes data members

Member functions are correct and used correctly:

     Set and get functions for data members

     Get function for total number of temperatures

     addTemperature() -- add s a single temperature to the vector

     sortTemperatures() - sorts vector in ascending order

     averageTemperature()

     findMinTemperature() and findMaxTemperature()

     displayTemperatures()

Protection:

 
 
 
 
 
 
 
 
 
 
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 6 steps with 5 images

Blurred answer
Knowledge Booster
Reference Types in Function
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education