title: How do I make this loop work?
body: <p>I'm supposed to be gathering input of numbers until the user types '0'. 
  Also once the user decides to exit the loop, the user can decide whether to start again or not. 
  How do I fix my program? Or is there another way that is more efficient to deliver this program?</p>
  
  <p>`</p>
  
  <pre><code>int regular, special, vip;
  int i;
  bool flag = true;
  
  while(flag)
  {
      cout &lt;&lt; "input please: ";
      cin &gt;&gt; i;
  
      if ((i &lt;10000) &amp;&amp; (i &gt; 0))
      {
          regular++;
      }
  
      if ((i &gt;10000) &amp;&amp; (i&lt;=50000))
      {
          special++;
      }
  
      if (i &gt; 50000)
      {
          vip++;
      }
  
      if (i==0);
      {
          flag = false;
          cout &lt;&lt; "Your branch has " &lt;&lt; regular &lt;&lt;  " Regular Customers, "
              &lt;&lt;  special &lt;&lt; " Special Customers and " &lt;&lt; vip &lt;&lt; " VIP Customers"
          &lt;&lt; "Try again? [1 = yes/ 0 = no] " &lt;&lt; endl;
      }
  }
  </code></pre>
  
  <p>}`</p>