Zadanie z tablicami strktur

0

Witam wszystkich!! Mam do napisania zadanie
"Napisz rekurencyjną wersję wyszukiwania elementu w n-elementowej tablicy struktur (dane osobowe: identyfikator, imię, nazwisko, rok urodzenia). Funkcja wyszukuje elementy na odstawie identyfikatora i zwraca numer indeksu znalezionego elementu lub –1 w przypadku, gdy elementu nie ma w tablicy. Do wypełnienia tablicy należy napisać własną funkcję – dane będą wprowadzane z klawiatury. Dodatkowo należy napisać rekurencyjną funkcję, która wypisze awartość tablicy na ekran."
Stworzylem na razie czesc kodu ale nie chce ona mi sie kompilowac:/ pomozcie prosze co robie nie tak

#include <iostream>
#include <conio.h>
#include <string.h>

using namespace std;

int n;
int id;
char imie[20];
char nazwisko[25];
char rok[4];
//funckje
int wpisz(int x, int id, char imie[20], char nazwisko[25], char rok[4]);

struct struktura
{
      int id;
      char imie[20];
      char nazwisko[25];
      char rok[4];

};

int main()
{
   int i;
   int wybor1;
   int wybor2;

   cout<<"Podaj ilosc osob, ktora Cie interesuje:  ";
   cin>>n;
  // stworzenie dynamicznej  tablicy struktur
  struktura *tab_osob; //tab osob jest wskaznikiem pokazujacym na strukture 
  tab_osob = new  struktura[n]; 

   cout<<endl;
   //petla pobierajaca wartosci 
   for( int x=1;x<=n;x++)
   {
                cout<<"Podaj identyfikator "<<x<<"-ej osoby:";
                cin>>id;
                cout<<"Podaj imie osoby o numerze ID" << id <<":"  ;
                cin>>imie;
                cout<<"Podaj nazwisko osoby o numerze"<< id <<":"  ;
                cin>>nazwisko; 
                cout<<"Podaj rok urodzenia osoby o numerze"<< id <<":"  ;
                cin>>rok;
                cout<<endl;

                wpisz( x,  id,  imie, nazwisko, rok);
                }  
                cout<<endl;

                cout<<"1.Wypisz zawartosc tablicy na ekran.\n";
                cout<<"2.Wyszukaj index podanego elementu.\n";

           // tyle udalo mi sie napisac, problemem jest funkcja na dole

   return 0;
   system("pause");
}

int wpisz(int x, int id, char imie[20], char nazwisko[25], char rok[4])
{  // tutaj  chcialbym przepisac z jednej tablicy do tablicy struktur ale wyskakuje mi blad

           id = struktura[n].id;
           strcpy(imie, struktura[n].imie);
           strcpy(nazwisko, struktura[n].nazwisko);
           strcpy(rok, struktura[n].rok);
}
0
int wpisz(int x, int id, char imie[20], char nazwisko[25], char rok[4])
{  // tutaj  chcialbym przepisac z jednej tablicy do tablicy struktur ale wyskakuje mi blad

           id = struktura[n].id;
           strcpy(imie, struktura[n].imie);
           strcpy(nazwisko, struktura[n].nazwisko);
           strcpy(rok, struktura[n].rok);
} 

struktura jest niezadeklarowaną zmienną (przynajmniej w tej funkcji). Zapewne "zapomniałeś" ją przekazać.
Najprościej ujmując: dodaj nowy argument do funkcji wpisz, który będzie wskaźnikiem na Twoją zmienną tab_osob (typu struktura). Wtedy będziesz mógł jej użyć w funkcji.

no i formatowanie w tagach cpp, bo nikt tego już Ci nie sprawdzi
Aha, no i ta funkcja powinna zwracać jakąś wartość (int) jeśli już ją tak zadeklarowałeś, tylko czy na pewno to jest potrzebne ?
Nie sprawdzałem całego kodu, więc może jest więcej błędów.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0