Answered step by step
Verified Expert Solution
Question
1 Approved Answer
c++ Language neat & explanations please and thank you! With no errors The purpose of this assignment is to demonstrate how to design a class
c++ Language neat & explanations please and thank you! With no errors
The purpose of this assignment is to demonstrate how to design a class when given a diagram of the specification and implementation details, how to split the specification and implementation into different files, and how to use objects as array elements and pass the array to a function. Along with these assignment instructions you should find a UML diagram outlining the class members, and a presentation outlining the steps needed to add the implementation and specification Chand.cpp) files where the class will be declared and defined Objectives Demonstrate how to write a class according to UML Diagram specifications. Demonstrate the separation of class specification and implementation into separate files Demonstrate how to define and use an array with objects as array elements. Demonstrate how to declare, call, and define a function with an array of objects as a function parameter. 3 For this assignment, you will need to define a class that encapsulates a single day's weather information based on the UML diagram I have provided. The diagram specifies data members, constructors, and function members. Included is a list of implementation details for defining the constructors and function members. Once you have written, compiled, and tested your class, you begin writing the main program (client code) that will define and use an array of these objects. I recommend starting with new empty project to focus first on completing the Weather Info class requirements along with a temporary test program to make sure the constructors and function members all work correctly. For example, create one object using the constructor with no arguments and use it to test all the transformer (setXXX) member functions and print it with the toString member function. Then create another object using the constructor with arguments and use that one to print its values by calling all the observer (getXXX) member functions. Once you are satisfied the class is implemented properly. exclude the test program from Solution Explorer keeping only the Weatherinfo.h and Weather Info.cpp files, and then add a new.cpp file to the project for completing the assignment (Add New) Requirements Follow the UML diagram specifications and implementation details. The specifications for the Weather Info class should be placed in a header (Weatherinfo.h) file where you define that class with data and function member declarations only. The constructor and function member definitions for the Weather info class should be placed in an implementation (Weatherinfo.cpp) file. In the program's main() function, define a single 1-dimensional array of size 7 defined using type Weather Info to hold data for at most 7 days of weather information Use a DO-WHILE loop to input data for creating objects and storing them in the array, Demonstrate how to declare, call, and define a function where you pass the array and day counter to that function, and that uses a FOR loop to print the list of weather information. Declare, call, and define 3 value-returning functions in your main program named indexoflightest Temp. indexOf Lowest Temp, and total Rainfall. The first one should find and return the array location index) of the highest temperature, and the second one should find and return the array location for the lowest temperature. The last one should find and return the total rainfall. The main program calls these functions to get those values and then print the reading and day for the highest and lowest temperatures, and the total rain fall. Declare, call, and define 2 more value returning functions in your main program named averageligh and averagelow. The first one should find and return the average high temperature, and the second one should find and return the average low temperature. The main program calls these functions to get those values and then print them at the bottom of the list under those columns of output. Also, calculate and print the average rain fall since you already should have that total handy. Declare, call, and define a function named user Input. Modify the program as necessary to move the input DO-WHILE loop into that function. This will need to be a value-returning function and should return the day count incremented by the loop back to main since other functions (and loops) will need to know that counter value. This function also will need the array and size passed in as parameters since it will be getting filled with objects created from user input. Run your program twice testing that it works with a partially-filled array (only 5 days input) and also with a completely filled array (all 7 days input). Considerations: You may need to include string and using namespace std; in your Weather info h file. You will need to include eelream and possibly lomanip in your Weather Info.cpp file. Because the string header and namespace are already included in Weatherinfo.h, you should not need to add them in this file, but you can if you want to You will need to add include "Weather Info.h" in any file that uses the weather Info class declarations, for example in the source code (.cpp) file where you define the main function. You can use a temporary Weather info object in the input loop while storing objects in the array. For example, define and use variables to read the week day, high temperature, low temperature and rain fall from the user, you then use those variables to declare a temporary Weather info object and assign it to the next array element: Weatherinfo temp (weekDay, highTemp, lowTemp, rainfall); weekdayCount] = temp: Or you can simply use the constructor by itself to assign an object directly to the array elements week [dayCountl Weather Info (weekDay, high Temp, lowTemp, rainfall); When defining the toString() function member, refer to the Employee.cpp example (lab exercise) demonstrating how to do this with numeric types using an ostringstream output object, which is an "output string stream" that formats an output string 'in memory." You will need to include the sstream library header in order to declare one of these objects in a function, and include iomanip if you want to use set and precision () manipulators. Then you can use basically the same formatting including setw(), precision (1. fixed, and showpoint that we've used elsewhere to format a line of output for the weather information list. You even can insert endl manipulators into the string but always should use one last ends manipulator (meaning "end string") to mark the end of the string that is being formatted in memory, otherwise your output could print garbage at the end of the string, Defining a function like this will allow you to simplify the code in the rest of the program by just calling the toString() function for each array element, and if the formatted string prints on one line (no end1 inserted into the string by the function) then you can adjust the overall width as necessary coutStep by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started