rendered paste body#include <stdlib.h>
#include <stdio.h>
#define TEXT_WIDTH 20
#define VALUE_WIDTH 13
struct element_t{
int atomic;
char *name;
char *symbol;
char *class;
double weight;
int electrons[7];
};
struct element_t scan_element();
void print_element(struct element_t e);
int main(int argc, char **argv){
struct element_t sodium;
sodium = scan_element();
print_element(sodium);
return 0;
}
struct element_t scan_element(){
struct element_t e;
e.name = malloc(10*sizeof(char));
e.symbol = malloc(3*sizeof(char));
e.class = malloc(15*sizeof(char));
printf("Please enter the element properties: \n");
scanf("%d %s %s %s %lf %d %d %d %d %d %d %d",
&e.atomic,
e.name,
e.symbol,
e.class,
&e.weight,
&e.electrons[0],
&e.electrons[1],
&e.electrons[2],
&e.electrons[3],
&e.electrons[4],
&e.electrons[5],
&e.electrons[6]
);
printf("%f\n", e.weight);
return e;
}
void print_element(struct element_t e){
printf("%-*s: %*d\n", TEXT_WIDTH, "Atomic number", VALUE_WIDTH, e.atomic);
printf("%-*s: %*s\n", TEXT_WIDTH, "Name", VALUE_WIDTH, e.name);
printf("%-*s: %*s\n", TEXT_WIDTH, "Symbol", VALUE_WIDTH, e.symbol);
printf("%-*s: %*s\n", TEXT_WIDTH, "Class", VALUE_WIDTH, e.class);
printf("%-*s: %*f\n", TEXT_WIDTH, "Weight", VALUE_WIDTH, e.weight);
printf("%-*s: %d %d %d %d %d %d %d\n", TEXT_WIDTH, "Electrons", e.electrons[0], e.electrons[1], e.electrons[2], e.electrons[3], e.electrons[4], e.electrons[5], e.electrons[6]);
}