Good grief this thread has gone from sensible advice to 'he is an abuser, chuck him out.'
I don't blame you for losing your temper with him tonight, fair enough, and as you ar eill, and he is sulking, I would send him home for today.
But I wouldn't write off the relationship yet. How about start with telling him that there is an issue around food and money and see what he says.
Not shouting (as pp says, that just makes people defensive)
But saying, clearly, that he is behaving like a sponger.
Surprisingly, there are some people out there who would respond to this by saying - Oh, yes, you are right, I've been taking you for granted, and working out a solution.
Because, unlike some people on here, I happen to have come across quite a few you know, normal people who once their behviour has been pointed out, realise that they have been in the wrong.
of course if he doesn't get it/won't cough up/ protests etc, then you know he is taking you for a ride.
If he actually is repentant and sits down to work out money and who is cooking for the future, then problem solved.