Struktury
Deklaracja struktury i typedef
#include <stdio.h>
#include <string.h>
#define MAX 256
// deklaracja typu struct osoba
struct osoba
{
char nazwisko[MAX];
char imie[MAX];
int wiek;
};
typedef struct osoba DANE;
int main()
{
struct osoba agent;
DANE student;
struct osoba *wsk;
strcpy(agent.nazwisko,"Bond");
strcpy(agent.imie,"James");
agent.wiek = 33;
strcpy(student.nazwisko,"Kowalski");
strcpy(student.imie,"Jan");
student.wiek = 21;
printf("Imie %s\nNazwisko %s\nWiek %d\n\n",agent.imie,agent.nazwisko,agent.wiek);
printf("Imie %s\nNazwisko %s\nWiek %d\n\n",student.imie,student.nazwisko,student.wiek);
wsk = &agent;
strcpy((*wsk).nazwisko,"Kloss");
strcpy(wsk->imie,"Hans");
wsk->wiek--;
printf("Imie %s\nNazwisko %s\nWiek %d\n\n",agent.imie,agent.nazwisko,agent.wiek);
}
Zadania domowe
Baza danych
przenieś deklarację struktury osoba
oraz typu DANE
do pliku nagłówkowego o nazwie baza.h
. Utwórz funkcje o nazwie wyswietl_osobe
(definicję funkcji umieść w pliku baza.c
). Funkcja wyświetla zawartość podanej struktury. Przetestuj działanie funkcji.
zaimplementuj funkcję wczytaj_osoba
wczytującą zawartość pojedynczej struktury osoba
z klawiatury.
zaimplementuj prostą bazę danych osobowych. Struktury zawierające dane przechowuj w odpowiedniej tablicy. Dla uproszczenia zakładamy, że maksymalna ilość wpisów nie przekroczy 1000.
zaimplementuj funkcją która wyszuka w tak stworzonej bazie osobę wg. zadanego wzorca. Szukany wzorzec może pojawić się w nazwisku lub imieniu. Funkcja powinna zwrócić pierwszy pasujący rekord.
zaimplementuj w programie z zajęć (baza danych osobowych) możliwość sortowania wpisów w kolejności alfabetycznej
dodaj do programu z poprzedniego zadania menu z możliwością wyboru następujących akcji: dodaj wpis, usuń wpis o podanym numerze, wyświetl wszystkie wpisy w kolejności alfabetycznej, zamknij program.
stwórz nową strukturę o nazwie data
zawierającą trzy pola: rok
, miesiąc
i dzien
(jakiego typu będą te pola?). Dodaj do struktury osoba
nowe pole o nazwie data_urodzenia
typu struct data
i uzupełnij działanie programu z zajęć tak aby umożliwiał wprowadzanie i poprawne wyświetlanie wpisów zawierających datę urodzenia podanej osoby.
przekształć bazę danych osobowych z poprzednich zajęć tak aby tablica zawierająca struktury była przydzielana dynamicznie. Na tworzymy bazę mogącą pomieścić 10 wpisów a przypadku gdy tablica zostanie całkowicie wypełniona zwiększamy jej rozmiar dwukrotnie (za pomocą funkcji realloc)
zaimplementuj prostą bazę danych osobowych w oparciu o listę jednokierunkową
Liczby zespolone
w pliku fmat.h
zadeklaruj strukturę o nazwie zespolone
zawierającą dwa pola: re
i im
. Następnie w plikach fmat.c
i fmat.h
utwórz następujące funkcje: dodawanie
- funkcja dodaje dwie liczby zespolone, iloczyn
- funkcja oblicza iloczyn dwóch liczb zespolonych, modul
- funkcja zwraca modul liczby zespolonej, argument
- funkcja zwraca argument funkcji zespolonej. Przetestuj te funkcje w przykładowym programie.