It turns out the biologists who were collecting water temperatures forgot to agr
ID: 3637644 • Letter: I
Question
It turns out the biologists who were collecting
water temperatures forgot to agree on which temperature scale to use. Some used Fahrenheit and
some used Celsius. The biologists used a thermometer that recorded the time and date of the
reading and the temperature. Your job is to create a human readable output file that shows the
time and date, as well as the temperature in Celsius. Lastly, you need to print out the average
temperature for the entire sample, in Celsius.
Your program must be able to work for an input file that contains following information:
# of temperature readings
time stamp temperature
The time stamp will have the following format:
YYYYMMDDHHMM (e.g. 200708201425)
This should be converted to:
08/20/2007 1425
The temperature will have the following format:
Xtemp, where X is either a C or an F (e.g. C17.5 or F68.34)
Note that some of the temperatures are already in Celsius and some are in Fahrenheit. You only
need to convert the Fahrenheit temperatures to Celsius.
So, the file could look like this
2
200707211245 F70.5
200708220812 C19.97
and the output could look like this:BIODATA Formatted Ouput
21.38 C --- recorded on 07/21/2007 at 1245
19.97 C --- recorded on 08/22/2007 at 0812
Average Temp --- 20.68 C
(Note: Please format the floating point numbers to two decimal places.)
Input to program: Input file of time stamps and temperatures (Name this file
"biodata.dat"). For testing purposes you have to create this file yourself according to the
rules described above. Grader will use his/her own file to test your program.
Output from program: Formatted output must be stored in “filtered_biodata.dat”. This
file should be created by your code.
You should have at least two functions: One to convert the time stamp to a human
readable string and another to convert a Fahrenheit temperature to Celsius. You may
have more if you wish.
You must use character arrays (c-strings) to re-arrange data. You cannot use string
objects and any methods that are included in string.h library, i.e, you cannot use
#include <string> in your code, otherwise you will be penalized.
NOTE: You need to create your own test file according to the rules presented in the assignment.
P.S. Please make sure to assign the variables with clear names not 'X' or 'Y'. i.e. "dates", "bioDates" and so one.
Explanation / Answer
#include #include #include #include using namespace std; float ftoc(float); void converttime(string,string&,string&,string&,string&,string&); int main() {int entry,i; string timedate,m,d,y,hr,min,xtemp,type; float time,temp,total=0; ifstream in; ofstream out; in.open("biodata.dat"); if(in.fail()) { out>xtemp; converttime(timedate,y,m,d,hr,min); temp=atof(xtemp.substr(1,4).c_str()); if(xtemp[0]=='F') temp=ftoc(temp); total+=temp; outRelated Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.