Detailed Print – Computer Sir Ki Class


Lost your password?

Don't have an account ?
Register (It's FREE) ×

Code Learning#CPP#4587

#define Macros Nesting

Understanding how #define macros can be nested (use of one macros expression as a part of another macros expression)

Learning Objectives

  • Understanding the use of #define macro expression being nested as part of another #define macro expression

Source Code


Click to open popup

Run Output

Principal = 203
Rate = 5
Time = 2
Simple Interest = 20
Amount = 223

Code Understanding

#define SI(p,r,t) p*r*t/100
First define expression with use of simple interest formula

#define AMT(p,r,t) p+SI(p,r,t)
Second define expression where expression of SI has been nested.

int main(){
int p=203,r=5,t=2 ;
Some test values for p, r and t have been assigned.

cout<<“Principal = “<<p<<endl;┬ácout<<“Rate = “<<r<<endl;┬ácout<<“Time = “<<t<<endl;
Printing user given values.

cout<<“Simple Interest = “<<SI(p,r,t)<<endl;
Use of first define to expression conversion.

cout<<“Amount = “<<AMT(p,r,t)<<endl;
Use of second define where SI expression is already nested.

return 0;}


  • #define macros can give immense possibility of dynamic compilation. This also helps in version control of C++ programs where not only expression values are easily definable but even expressions are definable.


Common Errors

  • Since data types are not checked while declaring #define macro expressions, so the user must check the data type himself.

Suggested Filename(s): pp-macn.cpp, define-macros-nesting.cpp