Once again,
> #define clrscr() system("cls")
I worry about that.

> void main()
That is wrong.
Also, after changing it, place a return 0; right before your program's closing brace.
When I compiled this the first time I got 2 warnings because of void main, and main not returning a value.

Just to be safe, and proper, I would suggest prototyping your functions.

> I have 5 warnings standing in my way
I only had 3:
Code:
tmp.c: In function `add_record':
tmp.c:114: warning: comparison between pointer and integer
tmp.c: In function `delete_record':
tmp.c:171: warning: comparison between pointer and integer
tmp.c: In function `search':
tmp.c:213: warning: comparison between pointer and integer
You aren't testing your circumstances properly.