#define is a pre-processor directive, that replaces all occurrences of a specified identifier (in your casepi) with a value (which I assume for you is3.14), it is not a variable definition in anyway.
You need to remove the = sign from your #define pi=3.14 statement as the pre-processor will not understand it.
The format of the #define directive is as follows:
#define IDENTIFIER value , in your case it would be #define PI 3.14 , notice there is a space between PI and 3.14. Also there is a convention that identifiers for constants should be written in capitals.
Here are some links that I hope will clear things up for you:
Try not to use #define too much though. in the above case.. if i were to write hi_PI, the processor would translate it to hi_3.14. so that could be a problem sometimes..
A better aproach would be using a namespace, like so.