cant figure out how to fix this compile error
You call function num_Write a lot, you create a forward declaration:

void num_Write(int);

But you forgot to create the implementation.

If you would have forgot the forward declaration the function would not be known at all (and you would get a compiler error). But with the forward declaration you let the compiler know the signature of num_write (so the return value and argument types). 

When the linker wants to link all object (.o) files together it cannot find an implementation of the function num_write and you get this error. Hence ld is the linker.