If you want to clear the screen but yoiu don't want to add extra libraries to your program, there's a very simple solution to clear the screen in C++ (actually, I used to do this in C, but it works in C++ as well).

Code:
#include <iostream.h>

#define clrscr "\033[H\033[J"

void main()
{
  cout << "Press any key to clear the screen...";
  cin.get();

  cout << clrscr << "The screen is now cleared."
}
Hope that helps.

AJ

EDIT: To fix your problem with main needing to restart, simply use a loop within main (a do while would be a good solution). Just set up the do-while to repeat as long as the error code is returned back from menu. Also, I wouldn't recommend trying to use recursion... you don't sound very familiar with the language and recursion's a more advanced topic which you're probably not ready for yet.

Also, why do you want the user to not have to press enter? The advantage to waiting is that if they accidentally press the wrong key, they can go back and change it before hitting enter.