#include <stdio.h>
#include <stdlib.h>
#define MAX 21
int licznik = 0;
int index;
struct pracownicy {
    unsigned int ID;
    char imie[40];
    char nazwisko[40];
    float pensja;
} baza[MAX];
void koniec()
{
    system("pause");
    exit(0);
}
void dopisz()
{

    if (licznik < MAX) {
        printf("Podaj imie pracownika. ");
        scanf("%s", &baza[licznik].imie);
        printf("Teraz podaj nazwisko. ");
        scanf("%s", &baza[licznik].nazwisko);
        printf("Teraz podaj pensje.");
        scanf("%f", &baza[licznik].pensja);
        baza[licznik].ID = licznik;
    }
    else
        printf("Baza danych pełna!");
    ++licznik;
}
void wyswietl()
{
    puts("Oto lista Twoich pracownikow: ");
    for (index = 0; index < licznik; index++)
        printf("id pracownika: %i, imie: %s, nazwisko: %s, pensja: %.2f zl\n", baza[index].ID, baza[index].imie, baza[index].nazwisko, baza[index].pensja);
}
void blad()
{
    printf("Nie ma takiej opcji.\n");
}
void usun()
{
    unsigned int id2;
    if (licznik == 0)
        printf("Baza danych pusta!");
    else {
        printf("Podaj nr id pracownika: ");
        scanf("%i", &id2);
        for (index = 1; index < licznik; index++) {
            if (baza[index].ID == id2) {
                for (index; index < licznik; index++)
                    baza[index].ID = baza[index + 1].ID;
            }
            else if (index == licznik - 1)
                printf("podany nr ID nie istnieje!");
        }
    }
}
int main(void)
{
    unsigned int wybor;
    while (1) {
        printf(" M E N U");
        printf("0 - koniec dzialania programu\n");
        printf("1 - dopisanie pracownika do bazy\n");
        printf("2 - usuniecie pracownika z bazy (wedlug ID)\n");
        printf("3 - wyswietlenie aktualnej zawartosci bazy\n\n");
        printf("Co wybierasz ? ");
        scanf("%u", &wybor);
        switch (wybor) {
        case 0:
            koniec();
            break;
        case 1:
            dopisz();
            break;
        case 2:
            usun();
            break;
        case 3:
            wyswietl();
            break;
        default:
            blad();
            break;
        }
    }
    system("PAUSE");
    return 0;
}
