/**** * * Implementation of planet.h. See that file for function descriptions. * */ #include "planet.h" #include #include #include Planet* new_planet(char name[NAME_SIZE], double diameter, int moons, double orbit_time, double rotation_time) { Planet* p = (Planet*) malloc(sizeof(Planet)); strcpy(p->name, name); p->diameter = diameter; p->moons = moons; p->orbit_time = orbit_time; p->rotation_time = rotation_time; return p; } Planet* read_planet() { Planet* p = (Planet*) malloc(sizeof(Planet)); printf( "Input planet name, diameter, number of moons, orbit time, and rotation time:\n"); scanf("%s%lf%d%lf%lf", p->name, &p->diameter, &p->moons, &p->orbit_time, &p->rotation_time); return p; } void print_planet(Planet* p) { if (!is_empty(p)) { printf( "Planet name: %s\nDiameter: %.3f\nNumber of moons: %d\n\ Orbit time: %.3f\nRotation time: %.3f\n", p->name, p->diameter, p->moons, p->orbit_time, p->rotation_time); } else { printf("Empty Planet\n"); } } void change_name(Planet* p, char* name) { strcpy(p->name, name); } void change_diameter(Planet* p, double diameter) { p->diameter = diameter; } void change_moons(Planet* p, int moons) { p->moons = moons; } void change_orbit_time(Planet* p, double orbit_time) { p->orbit_time = orbit_time; } void change_rotation_time(Planet* p, double rotation_time) { p->rotation_time = rotation_time; } int is_empty(Planet* p) { return p == NULL; }