3 digit 7 segment 0 to 999 UP /DOWNcounter (verify code)

hello i posted days ago about a 2 digit UP, DOWN counter and thanks for the help , now i want to add a third 7 segment display to make the count from 0 to 999 i modified the code it compiles but not sure if its working can you help me?(still didnt add the decrementation button next step

const char A = A3;
const char B = A0;
const char C = A1;
const char D = A2 ;
const char E = 5;
const char F_SEG = 6;
const char G = 7;
const char BTN1 = 10;
const char BTN2 = 11;
const char CA1 = 9;
const char CA2 = 8;
const char CA3 = 3;
const char segs[7] = { A, B, C, D, E, F_SEG, G };

// Segments that make each number
const byte numbers[10] = { 0b1000000, 0b1111001, 0b0100100, 0b0110000, 0b0011001, 0b0010010,
0b0000010, 0b1111000, 0b0000000, 0b0010000 };
char digit1 = 0;
char digit2 = 0;
char digit3 = 0;
void setup() {
  pinMode(A, OUTPUT);
  pinMode(B, OUTPUT);
  pinMode(C, OUTPUT);
  pinMode(D, OUTPUT);
  pinMode(E, OUTPUT);
  pinMode(F_SEG, OUTPUT);
  pinMode(G, OUTPUT);
  pinMode(CA1, OUTPUT);
  pinMode(CA2, OUTPUT);
  pinMode(CA3, OUTPUT);
 pinMode(BTN1, INPUT);
  pinMode(BTN2, INPUT);
}


void loop() 
{
 
  
    char val1 = digitalRead(BTN1);
    if (val1 == HIGH) {  
      digit1++;
      if (digit1 >=10) {
         digit1 = 0;
         if (val1 == HIGH) {
        digit2++;
        if (digit2  >=10){
          digit2 = 0;
          digit3++;
        }
         } 
      }
           digitalWrite(CA1, HIGH);
    digitalWrite(CA2, HIGH);
      digitalWrite(CA3, HIGH);
      delay(200);
      }
    
     
      //display number
      unsigned long startTime = millis();
      for (unsigned long elapsed=0; elapsed < 400; elapsed = millis() - startTime) {
        lightDigit1(numbers[digit1]);
        delay(10);
        lightDigit2(numbers[digit2]);
        delay(10);
         lightDigit3(numbers[digit3]);
        delay(10);
        
         }
      
    
  
}


void lightDigit1(byte number) {
  digitalWrite(CA1, LOW);
  digitalWrite(CA2, HIGH);
  digitalWrite(CA3,HIGH );
  lightSegments(number);
}

void lightDigit2(byte number) {
  digitalWrite(CA1, HIGH);
  digitalWrite(CA2, LOW);
  digitalWrite(CA3, HIGH);
  lightSegments(number);
}
void lightDigit3(byte number) {
  digitalWrite(CA1, HIGH);
  digitalWrite(CA2, HIGH);
  digitalWrite(CA3, LOW);
  lightSegments(number);
}
void lightSegments(byte number) {
  for (int i = 0; i < 7; i++) {
    int bit = bitRead(number, i);
    digitalWrite(segs[i], bit);
  }
}
    char val1 = digitalRead(BTN1);
    if (val1 == HIGH) {  
      digit1++;
      if (digit1 >=10) {
         digit1 = 0;
         if (val1 == HIGH) {
        digit2++;
        if (digit2  >=10){
          digit2 = 0;
          digit3++;
        }
         } 
      }

I only see counting up. Nothing to take digit3 back to 0 when it reaches 10. No counting down.

He hasn't written the decrementing code yet.

Not sure why he can't "test" his own code himself. I am certainly not going to do software QA for free because he can't be bothered to do what he should be doing himself.

sorry for that the later reply .I didnt mean to seem lazy but at the time i asked for help i dindt have the tools at hand to try the circuit .Thanks for the help again and the support