//-----------------------------------------------------------------------------
// short_demoIV.c
//
// some small code snips
// demonstrating what does logiacal mean
//
// group: group 1,13 study assistant AltiHar
//
// author: Altinger Harald 0630xxx
//
// last change: created all (Altinger Harald)
//-----------------------------------------------------------------------------
//

#include <stdio.h>

//----------------------------------------------------------------------------- 
/// 
/// The main program. 
///
/// print different excamples, demonstrating logical programming mistakes
/// 
///  @return int  always zero 
// 
int main()
{
  int logical_var_a;
  
  //what does logical true mean
  printf("numbers\n");
  if(0)
  {
    printf("0 does mean true\n");
  }
  else
  { 
    printf("0 does mean false\n");
  }
  
  if(1)
  {
    printf("1 does mean true\n");
  }
  else
  { 
    printf("1 does mean false\n");
  }
  
  printf("chars\n");
  if('x')
  {
    printf("x does mean true\n");
  }
  else
  { 
    printf("x does mean false\n");
  }
  
   printf("calculations\n");
  if(2*3 - 3*2)
  {
    printf("2*3 - 3*2 = %d does mean true\n",2*3 - 3*2);
  }
  else
  { 
    printf("2*3 - 3*2 = %d does mean false\n",2*3 - 3*2);
  }
  
   printf("calculations\n");
  if(2*3 - 2*2)
  {
    printf("2*3 - 2*2 = %d does mean true\n",2*3 - 2*2);
  }
  else
  { 
    printf("2*3 - 2*2 = %d does mean false\n",2*3 - 2*2);
  }
  
  printf("comparisons\n");
  logical_var_a = 1;
  
  if(logical_var_a == 1)
  {
    printf("a=%d compares to 1 means true\n",logical_var_a);
  }
  else
  {
    printf("logical_var_a=%d compares to 1 means false\n",logical_var_a);
  }

  printf("a is now %d\n",logical_var_a);
  if(logical_var_a = 3)
  {
    printf("asign 2 to a means true, a is now %d\n",logical_var_a);
  }
  else
  {
    printf("asign 2 to a means false, a is now %d\n",logical_var_a);
  }
  
  if(logical_var_a % 2) //tricky!
  {
    printf("logical_var_a is odd\n");
  }
  else if ((logical_var_a % 2) == 1)
  {
    printf("logical_var_a is odd\n");
  }
  return 0;  
}

