943,871 Members | Top Members by Rank

Ad:
  • C++ Discussion Thread
  • Unsolved
  • Views: 2552
  • C++ RSS
Jul 30th, 2007
0

Programming student find distances btwn cities using array of structs

Expand Post »
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..
Similar Threads
Reputation Points: 34
Solved Threads: 0
Light Poster
radskate360 is offline Offline
37 posts
since May 2007
Jul 30th, 2007
0

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

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.
Featured Poster
Reputation Points: 1536
Solved Threads: 431
Posting Expert
iamthwee is offline Offline
5,865 posts
since Aug 2005
Jul 30th, 2007
0

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

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.
C++ Syntax (Toggle Plain Text)
  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.
Reputation Points: 180
Solved Threads: 34
Posting Whiz
Hamrick is offline Offline
322 posts
since Jun 2007
Jan 14th, 2008
0

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

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
Reputation Points: 10
Solved Threads: 0
Newbie Poster
jmvr_danga_14 is offline Offline
11 posts
since Jan 2008

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in C++ Forum Timeline: Destructor Function for List structure
Next Thread in C++ Forum Timeline: Replacing system("pause"); with a function





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC