Chapter 10 // Exercise 2
Write a program that creates a file of data in the form of the temperature Reading type defined in section 10.5. For testing, fill the file with at least 50 "temperature readings". Call this program store_temps.cpp and the file it creates raw_temps.txt.
Main.cpp
//--------------------------------------------// //main.cpp //--------------------------------------------//
#include <iostream> #include <string> #include <fstream> #include <vector> #include <conio.h> using namespace std;
struct Reading { int hour; double temperature; };
int main() { vector<Reading> temps; int hour; double temperature;
cout << "Please enter temperatures in format HOUR TEMP. Example: 1 32.65 Press Ctrl+Z to stop.\n";
while (cin >> hour >> temperature) { if (hour < 0 || hour > 23) cout << "Error. Hour out of range.\n" << endl; temps.push_back(Reading{ hour, temperature }); }
ofstream readOut{ "raw_temps.txt" }; for (uint32_t i = 0; i < temps.size(); ++i) readOut << temps[i].hour << " " << temps[i].temperature << "\n";
cout << "\nPress any key..."; _getch();
return 0; }
New version on GitHub. This one has more error checking and actually parses the weird format instead of changing it. https://github.com/l-paz91/principles-practice/blob/master/Chapter%2010/Exercise%202
No comments:
Post a Comment