![]() |
![]() |
![]() |
![]() |
![]() |
|
The first step toward improving the output would be to replace the industry codes with industry names, thus producing a report such as the following:
Food 3.300000 300 990.000000 Trucking 2.500000 400 1000.000000 Airline 9.900000 100 990.000000 Airline 10.100000 100 1010.000000 Computers 5.000000 200 1000.000000
One way to have analyze_trades do the required work is to introduce
a function, display_industry_name, that displays an industry name
when given a trade object, as determined by the enumeration constants for
the various industries:
void display_industry_name (struct trade *t) {
switch (t -> industry) {
case food: printf ("Food"); break;
case trucking: printf ("Trucking"); break;
case computers: printf ("Computers"); break;
case metals: printf ("Metals"); break;
case health: printf ("Health"); break;
case airline: printf ("Airline"); break;
default: printf ("Unknown"); break;
}
}
Given display_industry_name, you could revise the
information-displaying statement:
for (counter = 0; counter < limit; ++counter) {
display_industry_name (trade_pointers[counter]);
printf (" %f %i %f\n",
trade_pointers[counter] -> price,
trade_pointers[counter] -> number,
trade_price(trade_pointers[counter]));
}