I can't reset a LED binary counter

I made an arduino binary counter, with 4 leds, a +1 button (increase the counter by one) and a reset button (that basically resets the counter), but the reset button doesn't works, and the problem isn't in the hardware, it's in the coding, can someone help me find the problem in the code?
I also attatched the fritzing image for this project

This is the code (the "resetButtonState" is equal low because I was testing if the code was reading low instead of high):

#define buttonPin 7
#define buttonReset 6

int i = 0;
int x;
int buttonState = 0;              // current state of the button
int resetButtonState = 0; 
int lastButtonState = 0;          // previous state of the button
int lastResetButtonState = 1;     // Reset button current state 
int count = 0;                    // Count the button presses
 
void setup(){
  pinMode(11,OUTPUT);//8
  pinMode(10,OUTPUT);//4
  pinMode(9,OUTPUT);//2
  pinMode(8,OUTPUT);//1
  pinMode(buttonPin,INPUT);//Botão
  pinMode(buttonReset,INPUT);//Botão reset
}

void loop() {
  for(int i=0; i == 15;);
   if(i==0){
    digitalWrite(11,LOW);
    digitalWrite(10,LOW);
    digitalWrite(9,LOW);
    digitalWrite(8,LOW);
  }else if(i==1){
    digitalWrite(11,LOW);
    digitalWrite(10,LOW);
    digitalWrite(9,LOW);
    digitalWrite(8,HIGH);
  }else if(i==2){
    digitalWrite(11,LOW);
    digitalWrite(10,LOW);
    digitalWrite(9,HIGH);
    digitalWrite(8,LOW);
  }else if(i==3){
    digitalWrite(11,LOW);
    digitalWrite(10,LOW);
    digitalWrite(9,HIGH);
    digitalWrite(8,HIGH);
  }else if(i==4){
    digitalWrite(11,LOW);
    digitalWrite(10,HIGH);
    digitalWrite(9,LOW);
    digitalWrite(8,LOW);
  }else if(i==5){
    digitalWrite(11,LOW);
    digitalWrite(10,HIGH);
    digitalWrite(9,LOW);
    digitalWrite(8,HIGH);
  }else if(i==6){
    digitalWrite(11,LOW);
    digitalWrite(10,HIGH);
    digitalWrite(9,HIGH);
    digitalWrite(8,LOW);
  }else if(i==7){
    digitalWrite(11,LOW);
    digitalWrite(10,HIGH);
    digitalWrite(9,HIGH);
    digitalWrite(8,HIGH);
  }else if(i==8){
    digitalWrite(11,HIGH);
    digitalWrite(10,LOW);
    digitalWrite(9,LOW);
    digitalWrite(8,LOW);
  }else if(i==9){
    digitalWrite(11,HIGH);
    digitalWrite(10,LOW);
    digitalWrite(9,LOW);
    digitalWrite(8,HIGH);
  }else if(i==10){
    digitalWrite(11,HIGH);
    digitalWrite(10,LOW);
    digitalWrite(9,HIGH);
    digitalWrite(8,LOW);
  }else if(i==11){
    digitalWrite(11,HIGH);
    digitalWrite(10,LOW);
    digitalWrite(9,HIGH);
    digitalWrite(8,HIGH);
  }else if(i==12){
    digitalWrite(11,HIGH);
    digitalWrite(10,HIGH);
    digitalWrite(9,LOW);
    digitalWrite(8,LOW);
  }else if(i==13){
    digitalWrite(11,HIGH);
    digitalWrite(10,HIGH);
    digitalWrite(9,LOW);
    digitalWrite(8,HIGH);
  }else if(i==14){
    digitalWrite(11,HIGH);
    digitalWrite(10,HIGH);
    digitalWrite(9,HIGH);
    digitalWrite(8,LOW);
  }else if(i==15){
    digitalWrite(11,HIGH);
    digitalWrite(10,HIGH);
    digitalWrite(9,HIGH);
    digitalWrite(8,HIGH);
  }
buttonState = digitalRead(buttonPin);
resetButtonState = digitalRead(buttonReset);
if(buttonState != lastButtonState){
  if(buttonState == HIGH){
    i++;
    
    }
    lastButtonState = buttonState;
}
if(resetButtonState != lastResetButtonState){
   if(resetButtonState == LOW){
         i==1;
         }
         lastResetButtonState = resetButtonState;
  }

}

  for(int i=0; i == 15;);

This code does nothing.

 i==1;

This code does not assign a value to i.

plus you have global variables and local variables sharing the same name:

int i = 0;

that's a no-no...

you are making this VERY hard compared to what it could be using your friend.. the Array:

Untested version using an array:

#define buttonPin 7
#define buttonReset 6

byte ledPin[4] = {8,9,10,11};

byte lastButtonState = LOW;          // previous state of the button
byte lastResetButtonState = LOW;     // Reset button current state
int count = 0;                    // Count the button presses

void setup() 
{
  for(byte i = 0; i < sizeof(ledPin)/sizeof(ledPin[0]); i++)
  {
    pinMode(ledPin[i], OUTPUT);
  }
  pinMode(buttonPin, INPUT); //Botão
  pinMode(buttonReset, INPUT); //Botão reset
}

void loop() 
{
  for(int i = 0; i < sizeof(ledPin)/sizeof(ledPin[0]); i++)
  {
    digitalWrite(ledPin[i], bitRead(count, i));
  }
  
  byte buttonState = digitalRead(buttonPin);
  
  if (buttonState != lastButtonState) {
    if (buttonState == HIGH) 
    {
      count++;
      if(count > 15)
      {
        count = 15;
      }
    }
    lastButtonState = buttonState;
  }
  byte resetButtonState = digitalRead(buttonReset);
  if (resetButtonState != lastResetButtonState) 
  {
    if (resetButtonState == LOW) 
    {
      count = 0;
    }
    lastResetButtonState = resetButtonState;
  }
}

BulldogLowell:
plus you have global variables and local variables sharing the same name:

int i = 0;

that's a no-no...

you are making this VERY hard compared to what it could be using your friend.. the Array:

Untested version using an array:

#define buttonPin 7

#define buttonReset 6

byte ledPin[4] = {8,9,10,11};

byte lastButtonState = LOW;          // previous state of the button
byte lastResetButtonState = LOW;     // Reset button current state
int count = 0;                    // Count the button presses

void setup()
{
 for(byte i = 0; i < sizeof(ledPin)/sizeof(ledPin[0]); i++)
 {
   pinMode(ledPin[i], OUTPUT);
 }
 pinMode(buttonPin, INPUT); //Botão
 pinMode(buttonReset, INPUT); //Botão reset
}

void loop()
{
 for(int i = 0; i < sizeof(ledPin)/sizeof(ledPin[0]); i++)
 {
   digitalWrite(ledPin[i], bitRead(count, i));
 }
 
 byte buttonState = digitalRead(buttonPin);
 
 if (buttonState != lastButtonState) {
   if (buttonState == HIGH)
   {
     count++;
     if(count > 15)
     {
       count = 15;
     }
   }
   lastButtonState = buttonState;
 }
 byte resetButtonState = digitalRead(buttonReset);
 if (resetButtonState != lastResetButtonState)
 {
   if (resetButtonState == LOW)
   {
     count = 0;
   }
   lastResetButtonState = resetButtonState;
 }
}

Yay, it worked, thank you a lot!
I'm still pretty noob at arduino coding, so I don't know a lot of the options that I can use in the code, I'll study your code, I never heard about the most part of it until now xD
Thank you, it was a great help :smiley: