Dołączasz bibliotekę <iostream> a korzystasz z przestarzałych funkcji wypisujących tekst "print"...
Musisz najpierw wczytać rozmiar tablicy, a później zaalokować pamięć na tablicę o takim rozmiarze. Robi się to dynamicznie. Nie musisz tego jeszcze rozumieć w 100%, ale pokażę Ci jak to się zapisuje, abyś otrzymał tablicę typu: "RRecordData"
int rozmiar;
// wczytaj rozmiar od usera
RRecordData * tab = new RRecordData[ rozmiar ];
Od teraz posługujesz się tablicą "tab" tak jak normalną tablicą. Wszystko powinno śmigać. Wczytywanie zapisałem jako komentarz, bo nigdy nie używałem funkcji scanf(), bo to standard "C" :-)
U Ciebie żadna funkcja nie przyjmuje jako argumentu tablicy, bo owa tablica jest globalna (FATALNE ROZWIĄZANIE!!!). Funkcja NIGDY nie powinna pracować na zmiennych globalnych. Deklaruj tablicę w main(), a później przekaż do funkcji.
Funkcja przyjmująca tablicę:
void funkcja( RRecordData tab[], int rozmiar )
Wywołanie funkcji:
funkcja( tab, rozmiar );
Żadnej większej filozofii :-)