117 lines
3.0 KiB
C
117 lines
3.0 KiB
C
#include <stdio.h>
|
|
|
|
#include "animals.h"
|
|
#include "vector.h"
|
|
#include <stdlib.h>
|
|
int main(){
|
|
// ================= FISH ===============
|
|
/*
|
|
struct fish *f = fish_init("Salmon", 10, 5, 1);
|
|
printf("Fish species: %s\n", f->species);
|
|
printf("Swimming speed: %d\n", f->swimming_speed);
|
|
printf("Size: %zu\n", f->size);
|
|
printf("Lives in fresh water: %d\n", f->lives_in_fresh_water);
|
|
free_fish(f);
|
|
*/
|
|
/*
|
|
struct fish *f = fish_init("Trout", 8, 4, 1);
|
|
struct animal *a = animal_from_fish("Blue", f);
|
|
printf("Animal type: %d\n", a->type);
|
|
printf("Animal color: %s\n", a->color);
|
|
printf("Fish species from animal: %s\n", a->animal.fish->species);
|
|
free_fish(f);
|
|
free(a->color);
|
|
free(a);
|
|
*/
|
|
/*
|
|
struct fish *f = fish_init("Carp", 6, 3, 0);
|
|
free_fish(f);
|
|
*/
|
|
|
|
// ================ INSECT ==============
|
|
/* struct insect *i = insect_init("Dragonfly", 2, 1, 0);
|
|
printf("Insect species: %s\n", i->species);
|
|
printf("Size: %zu\n", i->size);
|
|
printf("Can fly: %d\n", i->can_fly);
|
|
printf("Can swim: %d\n", i->can_swim);
|
|
free(i->species);
|
|
free(i);
|
|
*/
|
|
/*
|
|
struct insect *i = insect_init("Butterfly", 1, 1, 0);
|
|
struct animal *a = animal_from_insect("Yellow", i);
|
|
printf("Animal type: %d\n", a->type);
|
|
printf("Animal color: %s\n", a->color);
|
|
printf("Insect species from animal: %s\n", a->animal.insect->species);
|
|
free(i->species);
|
|
free(i);
|
|
free(a->color);
|
|
free(a);
|
|
*/
|
|
/* struct insect *i = insect_init("Beetle", 3, 0, 1);
|
|
free_insect(i);
|
|
*/
|
|
// ============ VECTOR ==============
|
|
/*
|
|
struct vector *v = vector_init(5);
|
|
printf("Initial size: %zu\n", v->size);
|
|
printf("Initial capacity: %zu\n", v->capacity);
|
|
free(v->animal);
|
|
free(v);
|
|
*/
|
|
/*
|
|
struct vector *v = vector_init(2);
|
|
v = vector_resize(v, 4);
|
|
printf("Resized capacity: %zu\n", v->capacity);
|
|
free(v->animal);
|
|
free(v);
|
|
*/
|
|
/*
|
|
struct vector *v = vector_init(2);
|
|
|
|
struct fish *f1 = fish_init("Salmon", 10, 5, 1);
|
|
struct animal *a1 = animal_from_fish("Blue", f1);
|
|
v = vector_append(v, a1);
|
|
|
|
struct fish *f2 = fish_init("Trout", 8, 4, 1);
|
|
struct animal *a2 = animal_from_fish("Green", f2);
|
|
v = vector_append(v, a2);
|
|
|
|
struct fish *f3 = fish_init("Carp", 6, 3, 0);
|
|
struct animal *a3 = animal_from_fish("Red", f3);
|
|
v = vector_append(v, a3);
|
|
|
|
printf("Vector size after appends: %zu\n", v->size);
|
|
printf("Vector capacity after appends: %zu\n", v->capacity);
|
|
free(f1->species);
|
|
free(f1);
|
|
free(a1->color);
|
|
free(a1);
|
|
|
|
free(f2->species);
|
|
free(f2);
|
|
free(a2->color);
|
|
free(a2);
|
|
|
|
free(f3->species);
|
|
free(f3);
|
|
free(a3->color);
|
|
free(a3);
|
|
|
|
free(v->animal);
|
|
free(v);
|
|
*/
|
|
/* struct fish *f = fish_init("Salmon", 10, 5, 1);
|
|
struct animal *a = animal_from_fish("Blue", f);
|
|
free_animal(a);
|
|
*/
|
|
struct vector *v = vector_init(5);
|
|
|
|
struct fish *f = fish_init("Trout", 8, 4, 1);
|
|
struct animal *a = animal_from_fish("Green", f);
|
|
v = vector_append(v, a);
|
|
|
|
vector_destroy(v);
|
|
|
|
}
|