1
0
mirror of https://gitlab.com/klmp200/LO41.git synced 2024-11-25 10:34:17 +00:00
LO41/main.c

60 lines
2.1 KiB
C
Raw Normal View History

#include <stdio.h>
#include <signal.h>
#include "Objects.h"
#include "List/List.h"
2018-06-06 01:00:35 +00:00
#include "Building/Building.h"
2018-06-06 11:50:11 +00:00
#include "SharedData/SharedData.h"
#include "Visitor/Visitor.h"
#include "Resident/Resident.h"
void clean_exit(int error_code){
2018-06-07 20:35:20 +00:00
printf("Signal %d received, exiting app\n", error_code);
DELETE(GET_INSTANCE(SharedData));
exit(0);
}
int main() {
List *l = NEW(List);
Visitor * roger = NEW(Visitor, 8, "Roger");
Resident * sli = NEW(Resident, 1, "Sli", 2);
char text1[30] = "Patate";
char text2[30] = "Patator";
2018-06-06 11:50:11 +00:00
GET_INSTANCE(SharedData);
signal(SIGINT, clean_exit);
2018-06-06 11:50:11 +00:00
printf("La taille est de %d\n", l->get_size(l));
l->insert_tail(l, text1, sizeof(char) * 30);
l->insert_head(l, text2, sizeof(char) * 30);
l->insert_head(l, "Bite", sizeof(char) * 30);
printf("La taille est de %d\n", l->get_size(l));
printf("%s\n", (char *) l->get_head_data(l));
printf("%s\n", (char *) l->get_tail_data(l));
printf("%s\n", (char *) l->get_element_data(l, 0));
printf("%s\n", (char *) l->get_element_data(l, 1));
l->insert_inside(l, "Rigolo", sizeof(char) * 30, 2);
printf("%s\n", (char *) l->get_element_data(l, 1));
printf("%s\n", (char *) l->get_element_data(l, 3));
l->remove_tail(l);
printf("La taille est de %d\n", l->get_size(l));
DELETE(l);
Building *main_building = NEW(Building, "../residents.txt", "../visitors.txt");
2018-06-06 01:00:35 +00:00
printf("Il y a %d étages dans l'immeuble\n", main_building->floors);
printf("%s est le second visiteur\n", ((Visitor *) main_building->visitors->get_element_data(main_building->visitors, 1))->name);
printf("%s est le second resident\n", ((Resident *) main_building->residents->get_element_data(main_building->residents, 1))->name);
for (int i=0; i < ELEVATOR_NB; i++)
printf("Ascenseur %s\n", main_building->elevators[i]->name);
GET_INSTANCE(SharedData)->main_building = main_building;
2018-06-06 01:00:35 +00:00
DELETE(main_building);
printf("Hello, World!\n");
printf("%s veut rentrer\n", roger->get_name(roger));
printf("%s habite dans l'appartement %d\n", sli->get_name(sli), sli->get_apartment_floor(sli));
2018-06-06 11:50:11 +00:00
DELETE(GET_INSTANCE(SharedData));
DELETE(roger);
DELETE(sli);
return 0;
}