I need help finding out why my program doesn't return 0 in an if statement : I don't know what im doing wrong my program is not returning 0 when i press n when it ask me if i want to accept the charges. I want the program to stop when i press n and when y to run the $25 charge.
Can someone please explain to me what im doing wrong i would really appreciated I been stuck on this part of the code all day. 
  
    #include <iostream>
    #include <iomanip>
    #include <cmath>
    #include <cstdlib>

    using namespace std;

    int main()
    {
      double InitialAmount, WithdrawAmount; 

      cout << fixed << setprecision(2);

      cout << "Deposite initial amount: ";
      cin >> InitialAmount;
          if (cin.fail())
      	    {
   	      cin >> InitialAmount;
	      cout << "Invalid initial amount" << endl;
    	  return 0;
     	}

          if (InitialAmount < 0)
	    {
	      cout << "Balance under 0, cannot withdraw" << endl;
	      return 0;
	    }

          cout << "Enter an amount to withdraw: ";
          cin >> WithdrawAmount;
          if (cin.fail())
	    {
	      cin >> WithdrawAmount;
	      cout << "Invalid withdraw amount" << endl;
	      return 0;
	    }

          if (WithdrawAmount > 500)
	    {
	      cout << "Cannot withdraw this amount" << endl;
	      return 0;
	    }

          double YesFees, InsufFees;
           if (InitialAmount > 1 and WithdrawAmount > InitialAmount)
	    {
	      cout << "Insufficient funds for this withdrawal There will be a $25.00 service 
    charge. Would you like to continue? (Y/N): ";
	   cin >> InsufFees;

	 
      	     if (InsufFees == 'y')
	        {
	          YesFees = 25;
	        }
	 	 
	       if (InsufFees == 'n')
    	     {
	          return 0;
	         }
	
	    }
       
           double fees;
           if (WithdrawAmount > 300)
	    {
	      fees = WithdrawAmount * .04;
	    }
       
       cout << left << setw(20) << setfill('.') << "Amount withdrawn";
       cout << "$" << setw(10) << setfill (' ') << right << WithdrawAmount << endl;
       cout << left << setw(20) << setfill('.') << "Amount of fees";
       cout << "$" << setw(10) << setfill (' ') << right << fees + YesFees << endl;
       cout << left << setw(20) << setfill('.') << "Balance";
       cout << "$" << setw(10) << setfill (' ') << right << InitialAmount - WithdrawAmount 
       - YesFees - fees  << endl;

      return 0;
    }
