One, if you are trying to APPEND to these output files, I see nowhere where you specify a mode when you open the file, so you're going to be overwriting the file, not adding to the end of it. If you want to append to the end of a file, you should specify the "app"(for "append") flag when you open the file for writing.
http://www.cplusplus.com/reference/iostream/ofstream/open/
Also, when i record a food i ate and go to the main menu and record another food, the program doesnt let me input the food name
What precisely does it do? I'm suspicious that you may be mixing buffered and unbuffered reading functions and that you have a cin command that leaves a newline in the input stream, then your "getline" command grabs that newline and doesn't wait for you to type anything. Narue had a pinned thread on the subject. Can't find i now.
Solution?
Clear the input buffer before any getline functions (i.e. line 109) with the "ignore" function. http://www.cplusplus.com/reference/iostream/istream/ignore/
Just give it a big number...
cin.ignore(80,'\n');
Stick that in front of any "get" or "getline" functions. I'm not sure how getch() works but it isn't standard, so consider using getchar() instead. Stick the "ignore" line in front of getchar() too.