Struktury

#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);
}

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.