// This code just demonstrates what CMT++ calculates of various
// C/C++ language constructs. This file compiles ok, but as
// executable code this is nonsense.

#include "demofile.h"

int a;

int MyClass::foo1(int i) {
   if (i > 5 || i > 6 || i > 7 || i > 8 || i > 9) {
      a = a + i;
   }
   return a;
}

int MyClass::foo2(int i) {
   if (i > 10) {
      a--;
   } else {
      a = a - i;
   }
   return 0;
}         

int SomeFunction() {
   if (a > 0) {
      switch (a) {
         case 0:
         case 1:
         case 2:
            a++;
            break;
         case 3:
            a--;
            break;
         default:
           a = 0;
      }
   }
   return a == 0 ? 100 : 200;
}