forked from Danielbet21/Amusement_Park
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfacility.h
41 lines (31 loc) · 1.34 KB
/
facility.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#ifndef __FACILITY_H
#define __FACILITY_H
#include <stdio.h>
#include <crtdbg.h> // TODO: remove before release
#include "General.h"
#include "string.h"
#include "fileHelper.h"
#include "def.h"
#include "listGen.h"
typedef enum { eChildrenFacility, eIntermidateFacility, eAdultFacility, eExtremeFacility, eSuper_ExtremesFacility, eNofTypesFacility } Category;
static const char* facilityTypeTilte[eNofTypesFacility] = { "Childrens","Intermidate","Adults","Extreme","Super_Extremes" };
typedef struct facility {
char* name;
int minHeight;
int maxHeight;
Category category;
} Facility;
int initFacility(Facility* pFacility,char* name, int minHeight, int maxHeight, Category category);
void initFacilityByUser(Facility* pFacility);
int validFacility(char* name, int minHeight, int maxHeight, Category category);
int compareFacilitiesByCategory(const void* pFacility1, const void* pFacility2);
void printFacility(const void* pFacility);
void freeFacility(void* pFacility);
// save and load functions
int saveFacilityToTextFile(const Facility* facility, FILE* fp);
int loadFacilityFromTextFile(Facility* facility, FILE* fp);
int saveFacilityToBinFile(const Facility* facility, FILE* fp);
int loadFacilityFromBinFile(Facility* facility, FILE* fp);
int saveFacilityListToTextFile(LIST list, FILE* fp);
int saveFacilityListToBinFile(LIST list, FILE* fp);
#endif