Large repositories of recorded measurement data are availabl

Large repositories of recorded measurement data are available on the World Wide Web from a wide spectrum of applications such as stock market data, weather/climate data, etc. Use your Web browser to view the following URL: http://earthquake.usgs.gov/earthquakes/nap/This site is maintained by the US Geological Service and reports recent earthquake activity around the world. If you examine the upper left comer of this web page, you will see a link marked \'download\'. Select this link and then choose \'CSV\' as the file format Now save the downloaded file in your home directory and then use a text editor to examine it. The file contains a large quantity of information that is detailed in the first line of the file. We will only be interested in the magnitude of the earthquake and the place (the string indicating where the event occurred, not the latitude/longitude). As you examine the file, note that the place is actually two comma separated strings. The first begins with a double-quote and the second ends with another double quote. The \"general\" location we are interested in is the second of the two strings that make up the place description. First, write a program that will read the file and output the categories from the first line, along with their relative location in the line: Example: 0 time 1 latitude 2 longitude 3 depth 4 nag 5 nagType 6 nst 7 gap 8 dmin 9 rms 10 net 11 id 12 updated 13 place 14 type You should use the getline() function to read the first line of the file and the split function presided on the website to create the value array. Now, modify your program to print out the magnitude and location of each earthquake in the file. Compare your program results to the actual file data to verify that it works correctly.

Solution

Part 1

#include <iostream>
#include <sstream.h>
#include <fstream>
#include <string>

int main()
{
std::ifstream data(\"2.5_day.csv\");

std::string line;
std::getline(data,line);
//while(std::getline(data,line))
{
std::stringstream lineStream(line);
std::string cell;
int count=0;
while(std::getline(lineStream,cell,\',\'))
{
cout<<count<<\" \";
cout<<cell<<endl;
count++;
}
}
}

Part 2

#include <iostream>
#include <sstream.h>
#include <fstream>
#include <string>

int main()
{
std::ifstream data(\"2.5_day.csv\");

std::string line;
//std::getline(data,line);
while(std::getline(data,line))
{
std::stringstream lineStream(line);
std::string cell;
int count=0;
while(std::getline(lineStream,cell,\',\') )
{
//cout<<count<<\" \";
if(count==4) cout<<cell<<\" \";
if(count==13) cout<<cell;
count++;
}
cout<<endl;
}
}

 Large repositories of recorded measurement data are available on the World Wide Web from a wide spectrum of applications such as stock market data, weather/cli
 Large repositories of recorded measurement data are available on the World Wide Web from a wide spectrum of applications such as stock market data, weather/cli

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site