Bouncey-edged XY box with a marker at Z
Python 2, 172 171 bytes

def f(x,y,z):A=[['-']*x for _ in' '*y];z-=1;X,Y=z%x,z/x;a=[2,-1];A[Y][X]=A[Y+a[Y&gt;0]][X]=A[Y-a[Y&lt;y-1]][X]=A[Y][X+a[X&gt;0]]=A[Y][X-a[X&lt;x-1]]='+';print'\n'.join(map(''.join,A))


Edit: Saved 1 bytes by converting to function.

Previous (more readable):

x,y,z=inputtt
A=[['-']*x for _ in' '*y]
z-=1
X,Y=z%x,z/x
a=[2,-1]
A[Y][X]=A[Y+a[Y&gt;0]][X]=A[Y-a[Y&lt;y-1]][X]=A[Y][X+a[X&gt;0]]=A[Y][X-a[X&lt;x-1]]='+'
print'\n'.join(map(''.join,A))