i dont know how to use a keypad n lcd with eeprom

@rosswaldo
The Flow Chart given below has implemented most of your functions. You can add with it other features as you want; you can also refine it.


Fig-1: Flow Chart fro Keypad

Simple C Coding for Fig-1:(Tested on UNO)

#include<EEPROM.h>
#include<Keypad.h>
#include<LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2);

const byte rows = 4, cols = 4;
char storage[11];   //including space for null-byte
char storageB[11];
int adr = 0x0010;
int arrayTracker = 0;
byte flag11 = 0x00;
byte flag2 = 0x00;
byte flag3 = 0x00;
char input;

char keys[rows][cols] = {
 
 {'1','2','3','a'},
 {'4','5','6','b'},
 {'7','8','9','c'},
 {'*','0','#','d'}
};

byte rPins[rows] = {9,8,7,6}, cPins[cols] = {5,4,3,2};

Keypad keypad = Keypad(makeKeymap(keys),rPins,cPins,rows,cols);

void setup()
{
 lcd.init();
 lcd.backlight();
 lcd.print("Enter 10-digit..");
 lcd.setCursor(0,1);
}

void loop()
{
  L0: input = keypad.getKey(); //L0:
  if(input)
  {                         //L1:
    if(flag2==0x00)         //L1:
    {                 //L2:
      if(flag11==0x00)//L2:      
      {//L3:
        filterDigit();      //L3: do not print *, #, a, b, c, d
        lcd.write(input);   //show digit on LCD
        storage[arrayTracker] = input;  //save digit
        if(arrayTracker == 9)  //L4
        {//L5:
          arrayTracker++;       //L5
          storage[arrayTracker] = 0x00; //null-byte
          flag11 = 0x01;
          goto L0;
        }
        else
        {     //L5A:
          arrayTracker++;   //L5A:
          goto L0;
        }
      }
      else
      {          //L3A:
        if(input == '#')    //to save in EEPROM
        {   //L3Y:
          EEPROM.put(adr, storage); //save 10-digit code in EEPROM
          delay(1000);
          lcd.setCursor(0, 1);
          lcd.print("Saved in EEPROM");
          flag2 = 0x01;
          goto L0;    //L3Y:
        }
      } 
      //----------L3 : if-else--------------------
    }

    else
    {
      if(input == '*')      //L2A:
      {  //3X:
        //delete code from array and EEPROM
        for(int i=0; i<11; i++)
        {
          storage[i] = 0x00;
          storageB[i] = 0x00;
        }
        EEPROM.put(adr, storage);   //all digits are 0s
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("Codes Deleted!");
        lcd.setCursor(0, 1);
        EEPROM.get(adr, storageB);
        lcd.print(storageB);
        flag3 = 0x01;
        goto L0;
      }
      else   
      {  //L3XA:
        if(flag3 == 0x00)
        {  //L4X:
          if(input == 'b')
          {//L5X:
            //read from EEPROM and show on LCD
            EEPROM.get(adr, storageB);
            lcd.clear();
            lcd.setCursor(0, 0);
            lcd.print("Code from EEPROM");
            lcd.setCursor(0, 1);
            lcd.print(storageB);
          } 
         }
       }
     }     
   }
}

void filterDigit()
{
  
}