Using a structure representing a length : Struct Define « Structure « C / ANSI-C






Using a structure representing a length

#include <stdio.h>
#include <ctype.h>

#define INCHES_PER_FOOT 12
#define FEET_PER_YARD    3

struct Length
{
  unsigned int yards;
  unsigned int feet;
  unsigned int inches;
};

struct Length add(struct Length first, struct Length second);
void show(struct Length length);

int main()
{
  char answer = 'n';
  struct Length length;
  struct Length total = { 0,0,0};
  int i = 0;

  length.yards =9;
  length.feet = 10;
  length.inches = 1;
  total = add(total,length);

  show(total);
  printf("\n");
}

struct Length add(struct Length first, struct Length second)
{
  unsigned long inches = 0;
  struct Length sum;
  inches = first.inches + second.inches+
    INCHES_PER_FOOT*(first.feet+second.feet+FEET_PER_YARD*(first.yards+second.yards));
  sum.inches = inches%INCHES_PER_FOOT;
  sum.feet = inches/INCHES_PER_FOOT;
  sum.yards = sum.feet/FEET_PER_YARD;
  sum.feet %= FEET_PER_YARD;
  return sum;
}

void show(struct Length length)
{
  printf("%d yards %d feet %d inches", length.yards,length.feet, length.inches);
}



           
       








Related examples in the same category

1.Using a structure representing a person's name
2.Using a structure to record the count of occurrences of a word
3.How to use struct
4.Exercising the horse: Structure declaration
5.Pointing out the horses: allocate memory for struct
6.Define a simplest struct
7.Define and use a struct