#include <stdio.h> 
/* Define the trade apparatus */
struct trade {double price; int number;};
/* Define enumeration constants, needed in switch statement */
enum {food, trucking, computers, metals, health, airline};
/* Define types */
typedef struct trade Trade_description;
typedef int Industry_code;
typedef int Number_of_shares_traded;
typedef double Price_per_share_traded;
typedef double Total_cost_of_trade;
/* Define trade array */
Trade_description *trade_pointers[100];
/* Define price-computing function */
Total_cost_of_trade trade_price (Trade_description *x) {
  return x -> price * x -> number;
}
main ( ) {
  /* Declare various variables */
  int limit, counter;
  double sum = 0.0;
  Industry_code industry;
  Price_per_share_traded price;
  Number_of_shares_traded number;
  /* Read trade information and compute cost */
  for (limit = 0; 3 == scanf ("%i%lf%i", &industry, &price, &number);)
    switch (industry) {
      case trucking: case airline:
        trade_pointers[limit] =
          (Trade_description*) malloc (sizeof (Trade_description));
        trade_pointers[limit] -> price = price;
        trade_pointers[limit] -> number = number;
        ++limit;
        break;
      case food: case computers: case metals: case health:
        break;
      default: printf ("Industry code %i is unknown!\n", industry); 
               exit (0);
    }
  for (counter = 0; counter < limit; ++counter)
    sum = sum + trade_price (trade_pointers[counter]);
  printf ("The total cost of %i selected trades is %f.\n",
                             limit,                sum);
}
