home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / listings / v_11_11 / janzen / example.cpp next >
C/C++ Source or Header  |  1993-09-01  |  2KB  |  58 lines

  1. EXAMPLE FIVE (5):
  2.  
  3. int main(void)
  4. {
  5.     auto double temperature,
  6.                 weights[3],
  7.                 open_inches;
  8.  
  9.     auto fzy_set    temperature_set(4), 
  10.                     set_result(3);
  11.     fam_2           memory(3, 4);
  12.  
  13.     auto trapezoid_membership cold(-24.0, -8.0, 8.0, 
  14.                                    24.0),
  15.         cool(8.0, 24.0, 40.0, 48.0),
  16.         warm(40.0, 56.0, 72.0, 88.0),
  17.         hot(72.0, 88.0, 104.0, 120.0),
  18.         closed(0.0, 2.0, 4.0, 8.0),
  19.         part_open(4.0, 8.0, 10.0, 14.0),
  20.         open(10.0, 14.0, 16.0, 18.0);
  21.  
  22.     cout << "Enter the outside temperature: ";
  23.     cin >> temperature;
  24.  
  25.     temperature_set[0] = cold.membership(temperature);
  26.     temperature_set[1] = cool.membership(temperature);
  27.     temperature_set[2] = warm.membership(temperature);
  28.     temperature_set[3] = hot.membership(temperature);
  29.  
  30.     memory[0][0] = 1.0;
  31.     memory[0][1] = 0.5;
  32.     memory[0][2] = 0.3;
  33.     memory[0][3] = 1.0;
  34.     memory[1][0] = 0.5;
  35.     memory[1][1] = 0.5;
  36.     memory[1][2] = 0.8;
  37.     memory[1][3] = 0.0;
  38.     memory[2][0] = 0.0;
  39.     memory[2][1] = 0.5;
  40.     memory[2][2] = 1.0;
  41.     memory[2][3] = 0.0;
  42.  
  43.     set_result = temperature_set * memory;
  44.     cout << set_result;
  45.  
  46.     weights[0] = closed.weight(set_result[0]);
  47.     weights[1] = part_open.weight(set_result[1]);
  48.     weights[2] = open.weight(set_result[2]);
  49.     
  50.     open_inches 
  51.         = ((weights[0] * 3.0) + (weights[1] * 9.0) 
  52.         + (weights[2] * 15.0))
  53.         /(weights[0] + weights[1] + weights[2]);
  54.     cout << "open " << open_inches << "inches\n";
  55.  
  56.     exit(1);
  57. }
  58.