shift function should shift characters according to the number is given
function shift_char(c: Character; n:Integer) return Character is
I : Integer;
begin
if Is_Lower(c) then
I:= ((((Character'Pos(c) rem 26) + n) mod 26) + 97);
elsif Is_Upper(c) then
I:= ((((Character'Pos(c) rem 26) + n) mod 26) + 65);
end if;
return Character'val(I);
end;