Well one of the main problems with this is that you have defined variables as of type integer and then attempted to add to decimal values together.
What is an integer? It is a whole number. There are no decimals in an integer. So if I was to add 4.5 and .3 I would not get 4.8 in an integer I would get 4. It is not flagging it as an error because the conversion from a decimal to an integer can be done but the result is not accurate.
So first off, everywhere you are going to be adding two decimals together, make the variable a Decimal or a Double (depending on usage). Both of those data types handle decimal values.
Instead of defining "cost" as an integer, it would be a decimal. After converting all the variables to the proper data types, rerun the program and see what you get for an answer.
The second thing to pay attention to is that in your definition of the problem you state you need a function that takes three parameters. So that should be a tip to you that you need to create a function that takes in three parameters and return a value. If you look closely at your ingredient functions you will also notice that they are very similar. This is a big red flag that you could combine all your functions into a generic function that takes in the three parameters and returns a value. This is called "refactoring".
See what you can do with that and after the changes, show us what you got and what isn't working. We can then help you further.
Good luck.