LCD y Keypad

Hola tengo una duda con el siguiente ejercicio tengo un display de 16x2 y un keypad 4x4 conectado a arduino. Tengo que manejar el ingreso de datos por medio de comandos. Al presionar el * me va a borrar la pantalla y me va a posicionar el cursor en la fila 1. Al presionar # me cambia de fila. Pero estoy con dudas cuando tengo que presionar la A que va a ser un comando que me va a permitir ingresar numeros hasta llenar cualquiera de las 2 filas con digitos que vengan del teclado matricial. Este es mi codigo:

(Code tags, por favor. </> in the menu. Gracias)

#include <Wire.h>
#include <Keypad.h>
#include <LiquidCrystal.h>


int i=0;
int j=0;
int veces_presionada=0;


//Columnas y filas 
const byte MAX_CHARS = 16; 
const byte MAX_ROWS = 2; 

//Pines 
const byte RS = A1; 
const byte E = A0; 
const byte DB4 = A2; 
const byte DB5 = A3; 
const byte DB6 = 2; 
const byte DB7 = 3;

//Creación del objeto lcd 
LiquidCrystal lcd(RS, E, DB4, DB5, DB6, DB7);
const byte FILAS = 4; 
const byte COLS = 4; 
char teclas[FILAS][COLS]=
{
'1','2','3','A',

'4','5','6','B',

'7','8','9','C',

'*','0','#','D'
};

byte pinesFilas[FILAS] = {12,11,10,9}; 
byte pinesCols[COLS] = {8,7,6,5}; 
Keypad kp = Keypad(makeKeymap(teclas), pinesFilas, pinesCols, FILAS, COLS);


void setup() {

lcd.begin(MAX_CHARS,MAX_ROWS); 
Serial.begin(9600);
lcd.cursor();

}

void loop() {

char tecla = kp.getKey();


if(tecla != NO_KEY){
veces_presionada++;
switch(tecla){
 case '*':
  lcd.home();
  lcd.clear();
  break;
 case '#':
  lcd.setCursor(0,1);
  if(veces_presionada>1){
   lcd.setCursor(0,0);
   veces_presionada=0;
  }
  break;
 case 'A':
  veces_presionada=1;
  if(tecla != NO_KEY){
   if(tecla>='0' && tecla<='9'){
    if(j>=0 && j<=15){
     lcd.setCursor(j,i);
     lcd.print(tecla);
     j++;
    }
    else{
     j=0;
    }
   }
  }
  break;
 case 'B':
  break;
 case 'C':
  break;
 case 'D':
  break;
}
 
 
}
 
}