/* hiking.h    A struct for hiking data */
/* P. Conrad for CISC105, Project 3, Fall 2005 */


/* NOTE: every .h file you ever write should start with
   the two lines #ifndef and #define below, and should end with
   a matching #endif.   

   The #ifndef and #define lines are both followed by a symbol
   which is the same as the name of the .h file, but with the .
   replaced by an _, and converted to all uppercase.

   The reason is explained on pp. 670-674 and p. 684 of Hanly and Koffman 4e,
   though they use #if !defined (HIKING_H_INCL) instead, which is
   equivalent )    */

#ifndef HIKING_H
#define HIKING_H


#define HIKING_TRAIL_NAME_LEN 30 /* max length of hiking trail name */
#define HIKING_TRAIL_LOCATION_LEN 30 /* max length of hiking trail name */
#define HIKING_TRAIL_STATE_LEN 3 /* two chars + \0 */



struct Hiking_S
{
  char name[HIKING_TRAIL_NAME_LEN]; /* e.g. South Kaibab Trail */   
  char location[HIKING_TRAIL_LOCATION_LEN];  /* e.g. Grand Canyon NP */
  double lengthInMiles;
  char state[HIKING_TRAIL_STATE_LEN];  /* two char abbreviation e.g. AZ */
  int numTimesHiked;
};

/* remember to end struct definitions with a ; after the final } */
/* don't need to prefix each field with "hiking" because these are
   already wrapped up in a struct! */


#endif /* HIKING_H */






