Używasz zmiennych, które nie zostały zainicjalizowane wartością, poza tym po co w funkcji:
float srednia(float a, float n)
{
float suma=0;
float sr;
cout<<"podaj ile liczb potrzebne do sredniej "<<endl;
cin>>n;
for(int i=0; i<n; i++)
{
cout<<"podaj liczby do sredniej: "<<endl;
cin>>a;
suma+=a;
}
sr= suma/n;
return sr;
}
ci te argumenty a, i b skoro je inicjalizujesz w jej wnętrzu?
Lepiej to zrobić tak:
float srednia()
{
float a, n;
float suma=0;
float sr;
cout<<"podaj ile liczb potrzebne do sredniej "<<endl;
cin>>n;
for(int i=0; i<n; i++)
{
cout<<"podaj liczby do sredniej: "<<endl;
cin>>a;
suma+=a;
}
sr= suma/n;
return sr;
}
To samo dotyczy pozostałych twoich funkcji.
Edit:
Poza tym case '11' nie zadziała ci tak jak powinno, bo przecież y jest typu char więc przechwyci jeden znak a nie dwa znaki. Wpiszesz dwa znaki czyli 11 to jeden zostanie zdjęty i przypisany do y-ka a drugi zostanie zdjęty przy kolejnym cin-ie.