Use getline(inFile,menuList[index].menuItem,'$'); instead of inFile >> menuList[index].menuItem; and it should be fine.
Oh, and change int price; to double price; in your structure definition.
EDIT: Let me explain this a bit... You see, operator >> stops when encountering space characters, (space, tab, newline) so you can't use it to get "Plain Egg" in your string. Using getline like I suggested above, will put "Plain Egg " in your string and get rid of the '$' character setting you up to get the price. Truth is there is an extra space character in your string, but you can ditch it like this: str.erase(str.end()-1); supposing str is your string object.