Stored procedure using cursors
You are trying to output avg_sal.salary which is not defined. Use alias in the cursor body :

.... cursor c1 is  select avg(e.salary)  AS salary ... 

Side notes. 
 It seems that parameter passed (ddept_id ) is not used anywhere inside the procedure except printing. Also, it's been long time since JOIN syntax was introduced and it's much more readable compared to SQL89 style (and recommended by Oracle as well). Finally, using cursor in this case seems quite questionable to me...