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;
}
}