Robot Project

I'm working on a robot for my final project in class. It's your basic line following deal. It has 5 sensors that face the floor on the front and it just follows a track made of black tape.

I'm just gonna use this one thread for all my issues.

Current issue: I don't get a certain type of define.

When I do something like this:

Code:
#define setLED5(a) PORTDbits.RD4 = ~a;
To my knowledge I create a "function" that takes a variable a that sets the port to the inverse of that variable. Is this correct? Also is it possible to define more complex functions? Such as creating a simple calculator function?