Otóż, mam problem z powróceniem do głównego menu. Próbowałem z goto ale program się sypał... więc pytam tu... Co do programu, to kod poniżej poza tym o co chodzi, chciałbym aby pierwsza i druga opcja byla wykonywana obowiązkowo, by reszta opcji zadziałała. Powiedzcie co i jak. Bo już mnie to irytuje, a nad samym menu siedzę już czwarty dzień i nic ...

#include <cstdlib>
#include <iostream>
#include <iomanip>
#include <conio.h>
#include <stdio.h>

using namespace std;

/ przykład: transpozycja tablicy dwuwymiarowej, kwadratowej /

void transpozycja(float tab, int n);
void wyswietl_tab(float
tab, int n);
int wybor;
int main(void)
{

    int n, i, j;  
    char znak;
  {

        float **tab = new float *[n];
        for(i=0;i<n;i++) 
        tab[i] = new float [n];

    cout <<" Wybierz opcje - wpisujac odpowiednia cyfre  \n\n";
    cout <<" 1 to - Liczba wierszy \n\n" ;
    cout <<" 2 to - Wprowadz elementy wierszy oddzielone spacja:\n\n";
    cout <<"pozycja 1 i 2, jest OBOWIAZKOWA!!! \n\n";
    cout << "3 to - Zawartosc tablicy przed transpozycja:\n\n";
    cout << "4 to - Zawartosc tablicy po transpozycji:\n\n";
    cout << "5 to - Wyjscie z programu \n\n";
    cin >> wybor;   

    switch (wybor)
    {   case 1: 
        {
             cout<<"Liczba wierszy: "; cin>>n;

     }
        break;
        case 2:
            { cout<<"Wprowadz elementy wierszy oddzielone spacja: "<< endl;

                for(i=0;i<n;i++)
                for(j=0;j<n;j++)
                    cin>>tab[i][j];
            }
        break;
        case 3: cout << "Zawartosc tablicy przed transpozycja:\n\n";

        /* wyświtlamy zawartość tablicy */

            wyswietl_tab(tab, n);     
        break;
        case 4: cout << "\nZawartosc tablicy po transpozycji:\n\n";
         /* algorytm transpozycji */ 
            transpozycja(tab, n);

         /* wyświtlamy zawartość tablicy po transpozycji*/

            wyswietl_tab(tab, n); 

            cout << "\n";
        break;
        case 5:
               exit(0);
        break;

        default: cout << "Nie ma takiej opcji w menu \n\n";

}   

        getchar();getchar();
        system("cls");

return 0;
}
}

// funkcje

void wyswietl_tab(float *tab, int n)
{
int i, j;
for( i = 0; i < n; i++)
{
for( j = 0; j < n; j++)
cout << " " << setw( 3 ) <<
(*(tab+i)+j); //tab[i][j];
cout << "\n";
}
}

void transpozycja(float **tab, int n)
{
float zm;
int i, j;

for (i = 0; i < n-1; i++)
for (j = i + 1; j < n; j++)
{
zm = ((tab+i)+j); //zm = tab[i][j];
((tab+i)+j) = ((tab+j)+i); //tab[i][j] = tab[j][i];
((tab+j)+i) = zm; //tab[j][i] = zm;
}
}