#ifndef CONF_H #define CONF_H struct listenerList; typedef struct conf { int id; char title[30]; char speaker[20]; int day; int month; int year; struct listenerList *listeners; struct conf *next; } tConf; typedef struct confList { struct conf *conf; int grade; struct confList *next; } tConfList; typedef struct listener { int id; char name[20]; int age; int level; struct confList *confs; struct listener *prev; struct listener *next; } tListener; typedef struct listenerList { struct listener *listener; int grade; struct listenerList *next; } tListenerList; typedef tConf *ptConf; typedef tListener *ptListener; typedef tConfList *ptConfList; typedef tListenerList *ptListenerList; int findConfId(ptConf confChain); ptConf newConfChain(); void addConf(ptConf confChain, int id, char title[], char speaker[], int day, int month, int year); void removeConf(ptConf confChain, int id); int findListenerId(ptListener listenerChain); ptListener newListenerChain(); int addListener(ptListener listenerChain, int id, char name[], int age, int level); void removeListener(ptListener listenerChain, int id); void addConfToConfList(ptConfList confList, ptConf conf, int grade); void removeConfFromConfList(ptConfList confList, ptConf conf); void printConfList(ptConfList confList); void addListenerToListenerList(ptListenerList listenerList, ptListener listener, int grade); void removeListenerFromListenerList(ptListenerList listenerList, ptListener listener); void printListenerList(ptListenerList listenerList); int participateToConf(ptConf confChain, ptListener listenerChain, int confId, int listenerId, int grade); int confGradeAvg(ptConf conf); int confParticipations(ptConf conf); #endif // CONF_H