You are on page 1of 6

Projekt Języki i metodyka programowania 2

Sprawozdanie
Projekt numer 1 – Mini Baza Danych

1. Cel projektu
Pierwszym zadaniem, było otworzenie wcześniej utworzonego pliku
tekstowego zawierającego informacje o studentach. Druga opcja miała za
zadanie umożliwić dodanie studenta do istniejącej, otworzonej, listy studentów
lub dodanie go do nowej listy. Trzeci tryb pracy natomiast, pozwalał na
usunięcie dowolnego studenta z tej listy. Czwarta opcja zapisywała nowo
utworzoną listę lub zapisywała wprowadzone zmiany w pliku wcześniej
otworzonym pierwszym trybem pracy.

2. Opisanie programu

Program zaczyna się od wyłączenia ostrzeżenia nr 4996 za pomocą


dyrektywy preprocesora "#pragma warning(disable : 4996)". Jest to
ostrzeżenie, które Microsoft Visual Studio wyświetla w przypadku używania
niezalecanych funkcji, a tutaj wyłączone jest, ponieważ funkcja "scanf" jest
używana w programie. Następne linie zawierają dyrektywy włączające
potrzebne biblioteki standardowe oraz definiujące stałą "max_list_size", która
określa maksymalną liczbę studentów na liście.
---------------------------------------------------------------------------------------------------------
Ten fragment definiuje strukturę "student", która przechowuje
informacje o numerze indeksu, nazwisku i imieniu studenta.
---------------------------------------------------------------------------------------------------------

Następna jest funkcja, która służy do wczytywania listy studentów z pliku.


Przyjmuje jako argumenty wskaźnik na tablicę studentów oraz nazwę pliku.
Otwiera plik, wczytuje z niego liczbę studentów, a następnie wczytuje
informacje o każdym studencie i zapisuje je w odpowiednich polach struktury.
Zwraca liczbę studentów.
---------------------------------------------------------------------------------------------------------

Funkcja "add_student()" dodaje nowego studenta do listy. Przyjmuje jako


argumenty wskaźnik na tablicę studentów oraz liczbę studentów na liście. Pyta
użytkownika o dane nowego studenta i zapisuje je w odpowiednich polach
struktury. Zwraca zwiększoną o 1 liczbę studentów.
---------------------------------------------------------------------------------------------------------

Ta funkcja służy do usuwania studenta z listy. Najpierw użytkownik jest


proszony o wprowadzenie numeru indeksu studenta do usunięcia, a następnie
numer jest szukany w strukturze student. Jeśli numer jest znaleziony, element o
indeksie i jest usuwany przez przesunięcie wszystkich elementów z większym
indeksem o jeden w lewo. Funkcja zwraca nową liczbę studentów na liście.
---------------------------------------------------------------------------------------------------------
Kolejna funkcja, którą jest "save_list()", służy do zapisywania listy
studentów do pliku. Najpierw użytkownik jest proszony o podanie nazwy pliku,
a następnie lista jest zapisywana w formacie, który umożliwia późniejsze
wczytanie z powrotem do programu.
---------------------------------------------------------------------------------------------------------

Ostatnia funkcja "main()" zawiera główną logikę programu. Zaczyna się


od alokacji pamięci dla maksymalnie "max_list_size" studentów. Następnie
program wchodzi w pętlę nieskończoną, w której użytkownik jest proszony o
wybór jednej z pięciu opcji. W zależności od wyboru użytkownika program
wywołuje jedną z wcześniej opisanych funkcji. Gdy użytkownik wybierze opcję
"0", program zwalnia zaalokowaną pamięć i kończy działanie.

3. Przykładowe uruchomienie programu


Po uruchomieniu programu wyświetla nam się interfejs i wybieramy opcję
pierwszą, otworzenia pliku (w której znajdują się dane o trzech studentach).
Następnie używamy trybu drugiego dwukrotnie aby dodać dwóch
studentów.

Po dodaniu studentów, opcją numer 3 usuwamy wybranego studenta z


listy.

Po usunięciu studenta zapisujemy plik trybem numer 4.


I tak wygląda plik tekstowy z końcową listą studentów.

You might also like