Do I need to put a return in the function?
Yes, if you want the function to return a value, you must use return and that value to do it.
In addition to that error, your function is of type char, but you apparently intend to return a character array pointer (char *).
Looks like lcd.printIn prints a null terminated string (why it isn't called printStr I have no idea...).
hmm, someone clever has already written an integer to ASCII function for us, so give this a try:
int val = 12345;
char s[10];
lcd.printIn(itoa(val, s, 10));
-j