Czteroelementowa tablica wskaźników wskazujących na strukturę

0

Witam. Mam takie zadanie do wykonania:

Napisz program, który będzie posiadał czteroelementową tablicę wskaźników wskazujących
na strukturę zawierającą pola: imię, nazwisko i wiek. Program powinien posiadać funkcje:
a) dodaj – dodaje dane do struktury, do której wskaźnik umieszczany jest w tablicy na pierwszej
wolnej pozycji. Jeśli brakuje miejsca w tablicy, należy zwrócić informację o błędzie.
b) usuń – usuwa strukturę z tablicy o podanym indeksie i zwalnia zajmowaną przez nią pamięć
c) wyświetl – wyświetla wszystkie zapisane struktury w tablicy
d) wyczyść – program powinien usunąć wszystkie elementy tablicy i zwolnić całą zajmowaną
pamięć.
Należy utworzyć menu umożliwiające użytkownikowi na swobodne wybieranie funkcji, którą
chce wykonać.

Jak na chwilę obecną wykonałem marną część tego programu:

#include <stdlib.h>
#include <stdio.h>

struct osoba {
    char *imie;
    char *nazwisko;
    int wiek
};

int main(){
int a;
struct osoba o;
struct osoba **tab_struct;
tab_struct = (struct osoba **)malloc(4*sizeof(struct osoba *));

    printf("Menu wyboru: \n1.Dodaj\n2.Usun\n3.Wyswietl\n4.Wyczysc\n5.Wyjscie\nPodaj liczbe: \n");
    scanf("%d",a);

    if (a==1)
//        dodaj;
    if (a==2)
//        usun;
    if (a==3)
//        wyswietl;
    if (a==4)
//        wyczysc;

        int dodaj() {

        }

        int usun() {

        }

        int wyswietl() {

        }

        int wyczysc() {

        }
return(0);
}
 

Nie mam zielonego pojęcia jak połączyć strukturę z funkcjami, nawet nie jestem pewny co do malloc, a co dopiero do całej reszty. Czy znajdzie się ktoś kto mógłby udzielić mi cennej rady? Z góry dziękuję.

0

Podany kod świadczy o kompletnym braku podstaw, więc byle jaki kurs i czytać. Z tego co w miarę poprawne:

struct osoba *tab[4]={NULL};
...
dodaj(tab);

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