The loop at the end it bad, because when you read in more ingredients, the next two lines;
1 bar milk chocolate
2 large marshmallows
You will have to some how keep a track of how many 'lines' of ingredients there are. You will also have to make a loop for each of the vectors, because sizes will vary and outputting them in the same loop will cause a violation error( Reading out of bounds of the vector ).