Class and Data members:
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.
Feel free to use the sort function that is available in the
Or, if you would prefer to write your own sort code, you may find this site to be helpful:
http://www.cplusplus.com/articles/NhA0RXSz/
- 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. [Note that to receive credit for this function, it must contain an algorithm to search through the vector to determine the minimum value. You cannot simply sort the vector and return the first data member.]
- A member function to determine the highest temperature for the month. [Note that to receive credit for this function, it must contain an algorithm to search through the vector to determine the maximum value. You cannot simply sort the vector and return the last data member.]
- 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).
Trending nowThis is a popular solution!
Step by stepSolved in 3 steps with 1 images
- Network Class The Network class represents a network of people that are connected to each other and are able to contact and send messages to each other through the network. Create a Network class with the following: Member Variables A Network has just one private member variable: phonebook_ - a std::map which maps from a std::string for a person's name, to the std::shared_ptr<Phone> object that belongs to that person. Constructor You do not need to explicitly define a constructor. The default constructor will implicitly be created for us by the compiler, initializing the phonebook_ to an empty map. AddPhone Create a function AddPhone that accepts a std::shared_ptr to a Phone and inserts that Phone to the phonebook_. The key is the name of that phone's owner, and the value is the shared pointer to the Phone. SendMessage Create a function SendMessage that accepts a std::shared_ptr to a Message and a const reference to a std::string representing the intended recipient of this…arrow_forward1. Assume the following: class Complex{public:Complex(int, int); //initializes the private data members to the passed in values: // real = value of the first argument // imag = value of the second argumentComplex add( Complex ); //returns a Complex object that holds the sum of two //Complex objectsvoid print(); //prints the values of the private data members in the format: // (real, imag)private:int real, imag;}; Will these two lines work below in a driver program for the class? Complex c1(40,50); //create object (line 1) c1.real=55; //move in value of 55 (line 2) a. yes it will work fine b. no, you will get a compiler error c. need more information on the object d. line 1 will cause an error line 2 will work finearrow_forwardStatic vs. non-static class data members: What real-world circumstance might benefit from a static data member?arrow_forward
- Date class to use: #ifndef DATE_H_ #define DATE_H_ #include <iostream> #include <iomanip> using namespace std; class Date { friend ostream &operator<<( ostream &, const Date & ); private: int day; int month; int year; static const int days[]; // array of days per month void helpIncrement(); // utility function for incrementing date public: Date(int=1, int=1, int=0); void setDate(int,int,int); bool leapYear( int ) const; // is date in a leap year? bool endOfMonth( int ) const; // is date at the end of month? Date &operator++(); // prefix increment operator Date operator++( int ); // postfix increment operator const Date &operator+=( int ); // add days, modify object bool operator<(const Date&) const; void showdate(); }; const int Date::days[] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; Date::Date(int d, int m, int y) { day = d; month = m; year = y; // initialize static member at file scope; one classwide copy } // set month,…arrow_forward17. Phone Book ArrayList Write a class named PhoneBookEntry that has fields for a person's name and phone number. The class should have a constructor and appropriate accessor and mutator methods. Then write a program that creates at least five PhoneBookEntry objects and stores them in an ArrayList. Use a loop to display the contents of each object in the ArrayList.arrow_forwardclockType.h file provided //clockType.h, the specification file for the class clockType#ifndef H_ClockType#define H_ClockType class clockType {public: void setTime(int hours, int minutes, int seconds); //Function to set the time. //The time is set according to the parameters. //Postcondition: hr = hours; min = minutes; // sec = seconds // The function checks whether the values of // hours, minutes, and seconds are valid. If a // value is invalid, the default value 0 is // assigned. void getTime(int& hours, int& minutes, int& seconds) const; //Function to return the time. //Postcondition: hours = hr; minutes = min; // seconds = sec void printTime() const; //Function to print the time. //Postcondition: The time is printed in the form // hh:mm:ss. void incrementSeconds(); //Function to increment the time by one…arrow_forward
- The code is in C++arrow_forwardc++ Write a class named TestScores. The class constructor should accept an array of test scores as itsargument. The class should have a member function that returns the average of the test scores. If any testscore in an array is negative or greater than 100 it should display a message.arrow_forwardWrite a program that will contain an array of person class objects. The program should include two classes: 1) One class will be the person class. 2) The second class will be the team class, which contain the main method and the array or array list. The person class should include the following data fields; Name Phone number Birth Date Jersey Number Be sure to include get and set methods for each data field.The team class should contain the data fields for the team, such as: Team name Coach name Conference name The program should include the following functionality. Add person objects to the array; Find a specific person object in the array; (find a person using any data field you choose such as name or jersey number) Output the contents of the array, including all data fields of each person object. (display roster)arrow_forward
- There are two types of data members in a class: static and non-static. Give an example of real-world use for a static data member.arrow_forwardc++ class runner with constructor and COPY CONSTRUCTORarrow_forwardProgram: File GamePurse.h: class GamePurse { // data int purseAmount; public: // public functions GamePurse(int); void Win(int); void Loose(int); int GetAmount(); }; File GamePurse.cpp: #include "GamePurse.h" // constructor initilaizes the purseAmount variable GamePurse::GamePurse(int amount){ purseAmount = amount; } // function definations // add a winning amount to the purseAmount void GamePurse:: Win(int amount){ purseAmount+= amount; } // deduct an amount from the purseAmount. void GamePurse:: Loose(int amount){ purseAmount-= amount; } // return the value of purseAmount. int GamePurse::GetAmount(){ return purseAmount; } File main.cpp: // include necessary header files #include <stdlib.h> #include "GamePurse.h" #include<iostream> #include<time.h> using namespace std; int main(){ // create the object of GamePurse class GamePurse dice(100); int amt=1; // seed the random generator srand(time(0)); // to play the…arrow_forward
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education