#include #include #include #include using namespace std; class Pracownik { public: char imie[15]; char nazwisko[30]; int wiek; char stanowisko[30]; int numer_biura; int tel_firmowy; int numer_tel; char miasto[15]; char ulica[20]; int numer_domu; int rok_zatrudnienia; int wynagrodzenie; char wyksztalcenie[20]; char stan_cywilny[10]; char dzieci[5]; int dlugosc_urlopu; char samochod[5]; char delegacje[5]; void drukuj() { cout << "DANE OSOBOWE \n"; cout << "imie i nazwisko: " << imie << " " << nazwisko << "\n"; cout << "wiek: " << wiek << "\n"; cout << "numer kontaktowy prywatny: " << numer_tel << "\n"; cout << "wyksztalcenie: " << wyksztalcenie << "\n"; cout << "adres zamieszkania: " << miasto << " " << ulica << " " << numer_domu << "\n"; cout << "stan cywilny: " << stan_cywilny << "\n"; cout << "czy posiada dzieci: " << dzieci << "\n"; cout << "DANE SLUZBOWE \n"; cout << "stanowisko: " << stanowisko << "\n"; cout << "numer zajmowanego biura: " << numer_biura << "\n"; cout << "telefon sluzbowy: " << tel_firmowy << "\n"; cout << "rok zatrudnienia: " << rok_zatrudnienia << "\n"; cout << "wysokosc wynagrodzenia: " << wynagrodzenie << "\n"; cout << "ile dni urlopu przysluguje: " << dlugosc_urlopu << "\n"; cout << "czy przysluguje samochod sluzbowy: " << samochod << "\n"; cout << "czy moze wyjezdzac w delegacje: " << delegacje << "\n"; _getch(); } }xx; vector pracownik; void menu() { system("cls"); cout << "BAZA DANYCH PRACOWNIKOW FIRMY, menu:" << endl; cout << "\t wcisnij 1 aby dodac pracownika do bazy" << endl; cout << "\t wcisnij 2 aby przejzec liste dodanych pracownikow" << endl; cout << "\t wcisnij 3 aby zapisac wprowadzonych pracownikow w bazie" << endl; cout << "\t wcisnij 4 aby zmienic dane wybranego pracownika" << endl; cout << "\t wcisnij 5 aby usunac pracownika" << endl; cout << "\t wcisnij ESC aby wyjsc z programu" << endl; } void dodaj() { system("cls"); cout << "DANE OSOBOWE" << endl; cout << "\t imie i nazwisko: " << endl; cin >> xx.imie >> xx.nazwisko; cout << "\t wiek: " << endl; cin >> xx.wiek; cout << "\t numer kontaktowy prywatny: " << endl; cin >> xx.numer_tel; cout << "\t wyksztalcenie: " << endl; cin >> xx.wyksztalcenie; cout << "\t adres zamieszkania: " << endl; cin >> xx.miasto>>xx.ulica>>xx.numer_domu; cout << "\t stan cywilny:" << endl; cin >> xx.stan_cywilny; cout << "\t czy posiada dzieci: " << endl; cin >> xx.dzieci; cout << "DANE SLUZBOWE" << endl; cout << "\t stanowisko: " << endl; cin >> xx.stanowisko; cout << "\t numer zajmowanego biura:" << endl; cin >> xx.numer_biura; cout << "\t telefon sluzbowy: " << endl; cin >> xx.tel_firmowy; cout << "\t rok zatrudnienia:" << endl; cin >> xx.rok_zatrudnienia; cout << "\t wysokosc wynagrodzenia:" << endl; cin >> xx.wynagrodzenie; cout << "\t ile dni urlopu przysluguje:" << endl; cin >> xx.dlugosc_urlopu; cout << "\t czy przysluguje samochod sluzbowy:" << endl; cin >> xx.samochod; cout << "\t czy moze wyjezdzac w delegacje:" << endl; cin >> xx.delegacje; pracownik.push_back(xx); _getch(); } void zapisz() { ofstream os("baza_danych.txt"); for (int i = 0; i < pracownik.size(); i++) { os << pracownik[i].imie << endl; os << pracownik[i].nazwisko << endl; os << pracownik[i].wiek << endl; os << pracownik[i].numer_tel << endl; os << pracownik[i].wyksztalcenie << endl; os << pracownik[i].miasto << endl; os << pracownik[i].ulica << endl; os << pracownik[i].numer_domu << endl; os << pracownik[i].stan_cywilny << endl; os << pracownik[i].dzieci << endl; os << pracownik[i].stanowisko << endl; os << pracownik[i].numer_biura << endl; os << pracownik[i].tel_firmowy << endl; os << pracownik[i].rok_zatrudnienia << endl; os << pracownik[i].wynagrodzenie << endl; os << pracownik[i].dlugosc_urlopu << endl; os << pracownik[i].samochod << endl; os << pracownik[i].delegacje << endl; } os.close(); } void edytuj(int edit) { system("cls"); cout << "DANE OSOBOWE" << endl; cout << "\t imie i nazwisko: " << endl; cin >> pracownik[edit].imie >> pracownik[edit].nazwisko; cout << "\t wiek: " << endl; cin >> pracownik[edit].wiek; cout << "\t numer kontaktowy prywatny: " << endl; cin >> pracownik[edit].numer_tel; cout << "\t wyksztalcenie: " << endl; cin >> pracownik[edit].wyksztalcenie; cout << "\t adres zamieszkania: " << endl; cin >> pracownik[edit].miasto >> pracownik[edit].ulica >> pracownik[edit].numer_domu; cout << "\t stan cywilny:" << endl; cin >> pracownik[edit].stan_cywilny; cout << "\t czy posiada dzieci: " << endl; cin >> pracownik[edit].dzieci; cout << "DANE SLUZBOWE" << endl; cout << "\t stanowisko: " << endl; cin >> pracownik[edit].stanowisko; cout << "\t numer zajmowanego biura:" << endl; cin >> pracownik[edit].numer_biura; cout << "\t telefon sluzbowy: " << endl; cin >> pracownik[edit].tel_firmowy; cout << "\t rok zatrudnienia:" << endl; cin >> pracownik[edit].rok_zatrudnienia; cout << "\t wysokosc wynagrodzenia:" << endl; cin >> pracownik[edit].wynagrodzenie; cout << "\t ile dni urlopu przysluguje:" << endl; cin >> pracownik[edit].dlugosc_urlopu; cout << "\t czy przysluguje samochod sluzbowy:" << endl; cin >> pracownik[edit].samochod; cout << "\t czy moze wyjezdzac w delegacje:" << endl; cin >> pracownik[edit].delegacje; } void usun(int do_usuniecia) { for (int i = do_usuniecia; i < pracownik.size(); i++) { for (int j = 0; j < 15; j++) pracownik[i].imie[j] = pracownik[i + 1].imie[j]; for (int j = 0; j < 30; j++) pracownik[i].nazwisko[j] = pracownik[i + 1].nazwisko[j]; pracownik[i].wiek = pracownik[i + 1].wiek; pracownik[i].numer_tel = pracownik[i + 1].numer_tel; for (int j = 0; j < 20; j++) pracownik[i].wyksztalcenie[j] = pracownik[i + 1].wyksztalcenie[j]; for (int j = 0; j < 15; j++) pracownik[i].miasto[j] = pracownik[i + 1].miasto[j]; for (int j = 0; j < 20; j++) pracownik[i].ulica[j] = pracownik[i + 1].ulica[j]; pracownik[i].numer_domu = pracownik[i + 1].numer_domu; for (int j = 0; j < 10; j++) pracownik[i].stan_cywilny[j] = pracownik[i + 1].stan_cywilny[j]; for (int j = 0; j < 5; j++) pracownik[i].dzieci[j] = pracownik[i + 1].dzieci[j]; for (int j = 0; j < 30; j++) pracownik[i].stanowisko[j] = pracownik[i + 1].stanowisko[j]; pracownik[i].numer_biura = pracownik[i + 1].numer_biura; pracownik[i].tel_firmowy = pracownik[i + 1].tel_firmowy; pracownik[i].rok_zatrudnienia = pracownik[i + 1].rok_zatrudnienia; pracownik[i].wynagrodzenie = pracownik[i + 1].wynagrodzenie; pracownik[i].dlugosc_urlopu = pracownik[i + 1].dlugosc_urlopu; for (int j = 0; j < 5; j++) pracownik[i].samochod[j] = pracownik[i + 1].samochod[j]; for (int j = 0; j < 5; j++) pracownik[i].delegacje[j] = pracownik[i + 1].delegacje[j]; } pracownik.pop_back(); } int main() { menu(); do { if (_kbhit()) { char znak = _getch(); switch (znak) { case (char)27: return 0; case '1': dodaj(); menu(); break; case '2': // wczytaj(); system("cls"); for (int i = 0; i < pracownik.size(); i++) { pracownik[i].drukuj(); cout << "\n"; } menu(); break; case '3': zapisz(); menu(); break; case '4': int nr_pracownika; cout << "podaj numer wybranego pracowmika"; cin >> nr_pracownika; edytuj(nr_pracownika); menu(); break; case '5': int do_usuniecia; cout << "podaj numer pracownika do usuniecia"; cin >> do_usuniecia; usun(do_usuniecia); menu(); break; } } } while (1); _getch(); }