Programming student find distances btwn cities using array of structs

Reply

Join Date: May 2007
Posts: 37
Reputation: radskate360 is an unknown quantity at this point 
Solved Threads: 0
radskate360 radskate360 is offline Offline
Light Poster

Programming student find distances btwn cities using array of structs

 
0
  #1
Jul 30th, 2007
Hi I am newer to programming and need a bit of help with this program.

You all have helped me in the past with my programs but this is a very complicated array of structs program and I don't really understand it very well.

OK, heres the directions.

The distance between two places on earth can be calculated by using their latitudes and longitudes. The calculation for this is as follows: (The latitudes and longitudes must be converted to radians (radians=degrees * pi / 180)). PI must be set set to 20 decimals as follows: PI = 3.1419265358979323846 Earth's Radius = 3963.1
Definitions: acos is arccosine; sin is sine; cos is cosine.
Calculation formula:

miles = acos(cos(lat1)*cos(long1)*cos(lat2)*cos(long2)+cos(lat1)*sin(long1)*cos(lat2)*sin(long2)+sin(lat1)*sin(lat2))*earth radius

The chart shows the latitude and longitude in degrees of 20 various locations around the world. These should be read in from a file, named latlong.txt and for each location hold its name, latitude and longitude.

Write a Program using an array of structs, that will allow the user to choose location 1 and location 2 from a menu and calculate the approximate distance between them.

So here is what the file should look like

Ankara Turkey 40.03000 32.90000
Aukland New Zealand -36.88320 174.75000
Buenos Aires Argentina -34.33320 -58.49990
Calcutta India 22.53330 88.36670
Copenhagen Denmark 55.71670 12.45000

There is a total of 20 locations but here are the first few. When displayed in the menu in the beginning they need to be listed with numbers next to them. So it will output enter starting destination and you type in the number of the starting location and then the number of the ending location. and it will compute the distance using the formula.

I am not familiar with the array of structs so any help would be great

I think the file can contain the city and its coordinates as listed about of can be listed like this:

Ankara Turkey
40.03000
32.90000

I really appreciate all the help..
Reply With Quote Quick reply to this message  
Join Date: Aug 2005
Posts: 5,264
Reputation: iamthwee is a splendid one to behold iamthwee is a splendid one to behold iamthwee is a splendid one to behold iamthwee is a splendid one to behold iamthwee is a splendid one to behold iamthwee is a splendid one to behold iamthwee is a splendid one to behold iamthwee is a splendid one to behold 
Solved Threads: 376
Featured Poster
iamthwee's Avatar
iamthwee iamthwee is offline Offline
Posting Expert

Re: Programming student find distances btwn cities using array of structs

 
0
  #2
Jul 30th, 2007
I guess something along the line of...

struct
string country
double lattitude
double longitude

click_me
Last edited by iamthwee; Jul 30th, 2007 at 5:21 pm.
*Voted best profile in the world*
Reply With Quote Quick reply to this message  
Join Date: Jun 2007
Posts: 322
Reputation: Hamrick will become famous soon enough Hamrick will become famous soon enough 
Solved Threads: 33
Hamrick's Avatar
Hamrick Hamrick is offline Offline
Posting Whiz

Re: Programming student find distances btwn cities using array of structs

 
0
  #3
Jul 30th, 2007
An array of structs is just like an array of other stuff. Once you index the array you have a single struct and can use it just like normal.
  1. #include <fstream>
  2. #include <iostream>
  3. #include <string>
  4.  
  5. using namespace std;
  6.  
  7. struct Location {
  8. string name;
  9. double latitude;
  10. double longitude;
  11. };
  12.  
  13. int main() {
  14. Location test[5];
  15. ifstream fin( "locations" );
  16.  
  17. if ( fin.is_open() ) {
  18. int n;
  19.  
  20. for ( n = 0; n < 5 && !fin.eof(); ++n ) {
  21. if ( getline( fin, test[n].name ) ) {
  22. fin>> test[n].latitide >> test[n].longitude;
  23. }
  24. }
  25.  
  26. for ( int i = 0; i < n; ++i ) {
  27. cout<< test[i].name <<" | ("
  28. << test[i].latitude <<", "
  29. << test[i].longitude <<")\n";
  30. }
  31. }
  32.  
  33. return 0;
  34. }
Last edited by Hamrick; Jul 30th, 2007 at 5:27 pm.
The truth does not change according to our ability to stomach it.
Reply With Quote Quick reply to this message  
Join Date: Jan 2008
Posts: 11
Reputation: jmvr_danga_14 is an unknown quantity at this point 
Solved Threads: 0
jmvr_danga_14 jmvr_danga_14 is offline Offline
Newbie Poster

Re: Programming student find distances btwn cities using array of structs

 
0
  #4
Jan 14th, 2008
Hi! im interested with this post... actually i have a similar problem same as the guy who made this post... i dont understand arrays and structs much.. is there any other way to make this kind of program without using stucts and arrays? using only basic knowledge of c++..i also tried the code here and im not able to run it... also have you made this program work? if yes, can you help me with this kind of program? plz...i need your help..<snipped>
Last edited by happygeek; Jan 15th, 2008 at 7:08 am. Reason: request for email help deleted
Reply With Quote Quick reply to this message  
Reply

This thread is more than three months old.
Perhaps start a new thread instead?
Message:


Thread Tools Search this Thread



About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC