A puppy that is 16 weeks old should eat half to a full cup of food. Puppies that are 16 weeks to 12 months old should eat 1 cup to 2 half cups of food per meal. A German Shepherd puppy that is 12 months old can eat at least three and a half cups of food per serving.