In the future, it would be best if you posted your code here, using code tags.
What you have for that line so far isn't too bad of a start - although it's not quite correct. It's difficult go "give assistance" without just giving away the solution.
The "30" is the $30 for the first 2 GB.
printf("Data: $%4.2f\n", 30+(y-2)*5);
Whatever is left over (y - 2GB) is $10 per GB - so why are you multiplying this value by 5?
While perfectly legal syntax-wise, I'd suggest taking the formula out of the "printf()" statement and calculating it into another variable first. The reason being: What if someone is only using 1.5 GB? Your formula does not take this scenario into account.
That's the only line I looked at. If you have further questions about this, or any other logic in this code, then please ask.