title: Prolog doesn't pass variables
body: <p>In a Prolog rule, I tried to pass variable from case to another but it doesn't work </p>
  
  <pre><code>plane(c130,propeller,high,conventional,conventional,under-wing).
  plane(c141,jet,high,sweptback,ttail,upperwing).
  plane(c5a,jet,high,sweptback,ttail,none).
  plane(b747,jet,low,sweptback,conventional,aftcockpit).
  
  planeinfo:-
      plane(Name,Eng,Wing,Shape,Tail,Bulges),
      write(Name),put(10),
      write(Eng),put(10),
      write(Wing),put(10),
      write(Shape),put(10),
      write(Tail),put(10),
      write(Bulges).
  
  getplane:-
      write('enter engine type '),
      read(Eng),
      Eng == 'propeller' ,Name ='c130',
      planeinfo,!;
      write('enter wing postion'),
      read(Wing),
      Wing == 'low' , Name = 'b747',
      planeinfo,!;
      write('enter the bulges type'),
      read(Bulges),
      Bulges == 'upperwing' , Name = 'c141', write(Eng),write(Wing),
      planeinfo,!;
      write('enter wing shape'),
      read(Shape),
      write('enter tail'),
      read(Tail),
      planeinfo,
      write("Plane Is Not Found , Please Retry"),
      repeat.
  </code></pre>
  
  <p>and here is the output</p>
  
  <pre><code>?- getplane.
  enter engine type jet.
  enter wing postion|: high.
  enter the bulges type|: upperwing.
  _L155_L156c130
  
  propeller
  high
  conventional
  conventional
  under-wing
  true.
  </code></pre>
  
  <p>in addition to a wrong output .</p>