Zmień strukture programu. Funkcja menu() powinna tylko wyświetlić menu, pobrać wybór i zwrócić go. To main() ma zawierać ten główny switch (oczywiściue w pętli), który wywołuje poszczególne funkcje wykonujące polecenia. Tak jak teraz to coraz głębiej wchodzisz w zagłębienie funkcji - z menu() wołasz wprowadz() a z wprowadz() menu(). To taka rekurencja, tylko nigdy z niej nie wychodzisz. Program będzie działał ileś operacji i się wysypie po przepełnieniu stosu.
Stronę kodową też wystarczy ustawić raz na początku (w main). A najlepiej nie rób tego - przygotowanie środowiska to nie zadanie twojego programu.
Lista książek typowej biblioteki to tysiące pozycji. W dzisiejszych komputerach zmieści się w pamięci - wczytuj ja z dysku na początku i zapisuj na dysk po jakiejś zmianie lub na żądanie. Najlepiej byłoby użyć bazy danych, ale nie wiadomo czy znasz temat.
Uzupełnij strukturę książka o informacje, co się z książką aktualnie dzieje - jest w bibliotece, wypożyczona (komu) itp. Można to trzymać oddzielnie, ale chyba najprościej mieć w jednym miejscu. To też trzeba zapamiętywać na trwale, więc razem z tabelką książek zostanie zapisane. W zasadzie to potrzeba jeszcze tabelki czytelników i to też warto dodać. Zależność jest taka, że jeden czytelnik może mieć wiele (klika) książek, ale książka może być tylko u jednego czytelnika (albo w bibliotece). I jeszcze uzupełnij strukturę o jakieś unikalne ID - tak by pomimo przebudowy tabelki dana książka miała stały, unikalny identyfikator.
Dobrze przemyśl struktury ksiażka i czytelnik, zarówno w programie, jak i na dysku - sposób zapisu.
To dla ciebie wstęp do analizy zadania - w pracy programisty będziesz często musiał poznać jak coś pracuje i to odwzorować w programie. Nie będziesz dostawał zadań szczegółowych co do instrukcji, bo wtedy zamiast pisać zadanie można by od razu napisać program.