There are a couple ways that you could do this.
The first would be to create 2 different modifiers One called Adult and one called Child using the variation modifier. Then you will want to create 0-10 or however many tickets you want with `price * quantity in the field. This would allow a user to add say 5 adult tickets and 3 child tickets all in a single action. This is not how I would do it personally because it doesnt allow you to use the built in limit stock variables and logic and lumps the total tickets prices to the main product which I find confusing to the end user.
Your second option would be to create a single variation modifier with Child & Adult types and set the price for each. Then in your template you would have the user select the ticket type, enter the quantity and then submit to add the product to the cart. In this case I would do this via AJAX so that the user could easily then select the other option and add any of that ticket type to the cart as well. This allows for use of Stores built in limit stock functionality which is usually important when you are selling tickets. I have seen this taken a bit further where the developer duplicated the channel entries tag and wrapped it in the product_form_tag then in his template he had the same product with the modifiers already selected (based on different conditionals in his duplicated channel entries tag) so it allowed the user to add both ticket types to the cart in the same submit.