1
0
Files
Laboratori-ASD/Laboratorio 4/Esercizio 2/item.h
2024-03-22 17:37:24 +01:00

55 lines
995 B
C

// Laboratorio 4 - Esercizio 2 - item.h
// Matteo Schiff - s295565
#ifndef ITEM_H_DEFINED
#define ITEM_H_DEFINED
#define CODE_LEN 5
#define STR_LEN 50
typedef struct date_s {
int day;
int month;
int year;
} Date;
typedef struct item_s {
char code[CODE_LEN+1];
char name[STR_LEN+1];
char surname[STR_LEN+1];
Date date;
char address[STR_LEN+1];
char city[STR_LEN+1];
int cap;
} *Item;
typedef struct node_s *Link;
typedef struct node_s {
Item val;
Link next;
} Node;
typedef char* Key;
// Date
int DateGreater(Date a, Date b);
// Item
Item ItemFromString(char *str);
Item ItemRead(FILE * fp);
Key ItemKey(Item item);
int ItemEq(Key x, Key y);
void ItemPrint(FILE *fp, Item x);
// List
Link insertOrderedByDate(Item val, Link head);
Item getItemByCode(Link head, Key key);
void printList(FILE *fp, Link head);
Item extractCode(Link *headp, Key key);
Item extractDates(Link *headp, Date first, Date last);
void freeList(Link head);
#endif