Like
Richard already said,
typedef
is just syntax sugar.
Anyway, here you are
#include <stdio.h>
#include<stdlib.h>
typedef struct
{
int feet;
float inch;
} Distance;
Distance dist1, dist2, sum;
int main()
{
Distance* distance1 = NULL;
Distance* distance2 = NULL;
Distance* distance3 = NULL;
distance1 = (Distance*)malloc(sizeof(Distance*));
distance2 = (Distance*)malloc(sizeof(Distance*));
distance3 = (Distance*)malloc(sizeof(Distance*));
printf("input feet for distance no.1:");
scanf("%d", &distance1->feet); printf("input inch for distance no.1:");
scanf("%f", &distance1->inch); printf("input feet for distance no.2:");
scanf("%d", &distance2->feet); printf("input inch for distance no.2:");
scanf("%f", &distance2->inch); printf("input feet for distance no.3:");
scanf("%d", &distance3->feet); printf("input inch for distance no.3:");
scanf("%f", &distance3->inch); printf("1st distance\n");
printf("Enter feet: ");
scanf("%d", &dist1.feet); printf("Enter inch: ");
scanf("%f", &dist1.inch);
printf("2nd distance\n"); printf("Enter feet: ");
scanf("%d", &dist2.feet); printf("Enter inch: ");
scanf("%f", &dist2.inch); sum.feet = dist1.feet + dist2.feet;
sum.inch = dist1.inch + dist2.inch; while (sum.inch >= 12)
{
++sum.feet;
sum.inch = sum.inch - 12;
} printf("Sum of distances = %d\'-%.1f\"", sum.feet, sum.inch);
return 0;
}
Please note:
each call to
malloc
is like a sword of Damocles hanging above your head. You should check the returned pointer value before actually use it (
malloc
may fail) and, at the end you should release all the successfully allocated memory (see
free - cppreference.com[
^]).