Why are you using a double float to store the ticket type? It can only take integer values. Much safer to use an int, especially since you're comparing it to integer values.
You have a while loop in your main function. As far as I can tell, once it enters the loop, it will loop infinitely, because ticType never changes.
Also, your loop check doesn't make a lot of sense:
(ticType == 1 || ticType == 2 || ticType == 3 && ticType != 4)
The final "&& ticType != 4" is redundant - if you just said:
while (ticType == 1 || ticType == 2 || ticType == 3)
then a ticType of 4 would fail to enter the loop anyway.
Edit: Also, what are you trying to achieve with the second while loop in your main function? Why bother using a loop, when you're returning from the function at the end of the first iteration? If can only ever run once or not at all, so why use a while loop?