Let's consider your code segment. Look at the comments I added to your code.
cout << "Welcome to the Lake Cuyamaca Art Show!" << endl;
rate = cuyamacaRate; // initial value of rate is cuyamacaRate
if (shirt=='y')
{
rate += 20; // rate is increased by 20
}
if (shirt == 'n')
{
rate; // this is an empty instruction, nothing happens here. Probably this is wrong.
}
event = " Lake Cuyamaca";
cout << "The cost for admission is $" << cuyamacaRate << endl; // You print the cuyamacaRate, not the rate, that is the adjusted value.
Now, it should be clear why the wrong value is printed.
This applies to many of your switch-cases.