Facebook
From nowaczii, 6 Years ago, written in C++.
Embed
Download Paste or View Raw
Hits: 261
  1. #include<conio.h>
  2. #include<vector>
  3. #include<iostream>
  4. #include<fstream>
  5.  
  6. using namespace std;
  7.  
  8. class Pracownik {
  9. public:
  10.         char imie[15];
  11.         char nazwisko[30];
  12.         int wiek;
  13.         char stanowisko[30];
  14.         int numer_biura;
  15.         int tel_firmowy;
  16.         int numer_tel;
  17.         char miasto[15];
  18.         char ulica[20];
  19.         int numer_domu;
  20.         int rok_zatrudnienia;
  21.         int wynagrodzenie;
  22.         char wyksztalcenie[20];
  23.         char stan_cywilny[10];
  24.         char dzieci[5];
  25.         int dlugosc_urlopu;
  26.         char samochod[5];
  27.         char delegacje[5];
  28.  
  29.         void drukuj() {
  30.                 cout << "DANE OSOBOWE \n";
  31.                 cout << "imie i nazwisko: " << imie << " " << nazwisko << "\n";
  32.                 cout << "wiek: " << wiek << "\n";
  33.                 cout << "numer kontaktowy prywatny: " << numer_tel << "\n";
  34.                 cout << "wyksztalcenie: " << wyksztalcenie << "\n";
  35.                 cout << "adres zamieszkania: " << miasto << " " << ulica << " " << numer_domu << "\n";
  36.                 cout << "stan cywilny: " << stan_cywilny << "\n";
  37.                 cout << "czy posiada dzieci: " << dzieci << "\n";
  38.                 cout << "DANE SLUZBOWE \n";
  39.                 cout << "stanowisko: " << stanowisko << "\n";
  40.                 cout << "numer zajmowanego biura: " << numer_biura << "\n";
  41.                 cout << "telefon sluzbowy: " << tel_firmowy << "\n";
  42.                 cout << "rok zatrudnienia: " << rok_zatrudnienia << "\n";
  43.                 cout << "wysokosc wynagrodzenia: " << wynagrodzenie << "\n";
  44.                 cout << "ile dni urlopu przysluguje: " << dlugosc_urlopu << "\n";
  45.                 cout << "czy przysluguje samochod sluzbowy: " << samochod << "\n";
  46.                 cout << "czy moze wyjezdzac w delegacje: " << delegacje << "\n";
  47.                 _getch();
  48.         }
  49. }xx;
  50.  
  51.  
  52.  
  53. vector <Pracownik> pracownik;
  54.  
  55. void menu() {
  56.         system("cls");
  57.         cout << "BAZA DANYCH PRACOWNIKOW FIRMY, menu:" << endl;
  58.         cout << "\t wcisnij 1 aby dodac pracownika do bazy" << endl;
  59.         cout << "\t wcisnij 2 aby przejzec liste dodanych pracownikow" << endl;
  60.         cout << "\t wcisnij 3 aby zapisac wprowadzonych pracownikow w bazie" << endl;
  61.         cout << "\t wcisnij 4 aby zmienic dane wybranego pracownika" << endl;
  62.         cout << "\t wcisnij 5 aby usunac pracownika" << endl;
  63.         cout << "\t wcisnij ESC aby wyjsc z programu" << endl;
  64. }
  65.  
  66. void dodaj() {
  67.         system("cls");
  68.         cout << "DANE OSOBOWE" << endl;
  69.         cout << "\t imie i nazwisko: " << endl;
  70.         cin >> xx.imie >> xx.nazwisko;
  71.         cout << "\t wiek: " << endl;
  72.         cin >> xx.wiek;
  73.         cout << "\t numer kontaktowy prywatny: " << endl;
  74.         cin >> xx.numer_tel;
  75.         cout << "\t wyksztalcenie: " << endl;
  76.         cin >> xx.wyksztalcenie;
  77.         cout << "\t adres zamieszkania: " << endl;
  78.         cin >> xx.miasto>>xx.ulica>>xx.numer_domu;
  79.         cout << "\t stan cywilny:" << endl;
  80.         cin >> xx.stan_cywilny;
  81.         cout << "\t czy posiada dzieci: " << endl;
  82.         cin >> xx.dzieci;
  83.         cout << "DANE SLUZBOWE" << endl;
  84.         cout << "\t stanowisko: " << endl;
  85.         cin >> xx.stanowisko;
  86.         cout << "\t numer zajmowanego biura:" << endl;
  87.         cin >> xx.numer_biura;
  88.         cout << "\t telefon sluzbowy: " << endl;
  89.         cin >> xx.tel_firmowy;
  90.         cout << "\t rok zatrudnienia:" << endl;
  91.         cin >> xx.rok_zatrudnienia;
  92.         cout << "\t wysokosc wynagrodzenia:" << endl;
  93.         cin >> xx.wynagrodzenie;
  94.         cout << "\t ile dni urlopu przysluguje:" << endl;
  95.         cin >> xx.dlugosc_urlopu;
  96.         cout << "\t czy przysluguje samochod sluzbowy:" << endl;
  97.         cin >> xx.samochod;
  98.         cout << "\t czy moze wyjezdzac w delegacje:" << endl;
  99.         cin >> xx.delegacje;
  100.         pracownik.push_back(xx);
  101.         _getch();
  102. }
  103.  
  104. void zapisz() {
  105.         ofstream os("baza_danych.txt");
  106.         for (int i = 0; i < pracownik.size(); i++) {
  107.                 os << pracownik[i].imie << endl;
  108.                 os << pracownik[i].nazwisko << endl;
  109.                 os << pracownik[i].wiek << endl;
  110.                 os << pracownik[i].numer_tel << endl;
  111.                 os << pracownik[i].wyksztalcenie << endl;
  112.                 os << pracownik[i].miasto << endl;
  113.                 os << pracownik[i].ulica << endl;
  114.                 os << pracownik[i].numer_domu << endl;
  115.                 os << pracownik[i].stan_cywilny << endl;
  116.                 os << pracownik[i].dzieci << endl;
  117.                 os << pracownik[i].stanowisko << endl;
  118.                 os << pracownik[i].numer_biura << endl;
  119.                 os << pracownik[i].tel_firmowy << endl;
  120.                 os << pracownik[i].rok_zatrudnienia << endl;
  121.                 os << pracownik[i].wynagrodzenie << endl;
  122.                 os << pracownik[i].dlugosc_urlopu << endl;
  123.                 os << pracownik[i].samochod << endl;
  124.                 os << pracownik[i].delegacje << endl;
  125.         }
  126.         os.close();
  127.  
  128. }
  129.  
  130. void edytuj(int edit) {
  131.     system("cls");
  132.         cout << "DANE OSOBOWE" << endl;
  133.         cout << "\t imie i nazwisko: " << endl;
  134.         cin >> pracownik[edit].imie >> pracownik[edit].nazwisko;
  135.         cout << "\t wiek: " << endl;
  136.         cin >> pracownik[edit].wiek;
  137.         cout << "\t numer kontaktowy prywatny: " << endl;
  138.         cin >> pracownik[edit].numer_tel;
  139.         cout << "\t wyksztalcenie: " << endl;
  140.         cin >> pracownik[edit].wyksztalcenie;
  141.         cout << "\t adres zamieszkania: " << endl;
  142.         cin >> pracownik[edit].miasto >> pracownik[edit].ulica >> pracownik[edit].numer_domu;
  143.         cout << "\t stan cywilny:" << endl;
  144.         cin >> pracownik[edit].stan_cywilny;
  145.         cout << "\t czy posiada dzieci: " << endl;
  146.         cin >> pracownik[edit].dzieci;
  147.         cout << "DANE SLUZBOWE" << endl;
  148.         cout << "\t stanowisko: " << endl;
  149.         cin >> pracownik[edit].stanowisko;
  150.         cout << "\t numer zajmowanego biura:" << endl;
  151.         cin >> pracownik[edit].numer_biura;
  152.         cout << "\t telefon sluzbowy: " << endl;
  153.         cin >> pracownik[edit].tel_firmowy;
  154.         cout << "\t rok zatrudnienia:" << endl;
  155.         cin >> pracownik[edit].rok_zatrudnienia;
  156.         cout << "\t wysokosc wynagrodzenia:" << endl;
  157.         cin >> pracownik[edit].wynagrodzenie;
  158.         cout << "\t ile dni urlopu przysluguje:" << endl;
  159.         cin >> pracownik[edit].dlugosc_urlopu;
  160.         cout << "\t czy przysluguje samochod sluzbowy:" << endl;
  161.         cin >> pracownik[edit].samochod;
  162.         cout << "\t czy moze wyjezdzac w delegacje:" << endl;
  163.         cin >> pracownik[edit].delegacje;
  164. }
  165.  
  166. void usun(int do_usuniecia) {
  167.         for (int i = do_usuniecia; i < pracownik.size(); i++) {
  168.                 for (int j = 0; j < 15; j++) pracownik[i].imie[j] = pracownik[i + 1].imie[j];
  169.                 for (int j = 0; j < 30; j++) pracownik[i].nazwisko[j] = pracownik[i + 1].nazwisko[j];
  170.                 pracownik[i].wiek = pracownik[i + 1].wiek;
  171.                 pracownik[i].numer_tel = pracownik[i + 1].numer_tel;
  172.                 for (int j = 0; j < 20; j++) pracownik[i].wyksztalcenie[j] = pracownik[i + 1].wyksztalcenie[j];
  173.                 for (int j = 0; j < 15; j++) pracownik[i].miasto[j] = pracownik[i + 1].miasto[j];
  174.                 for (int j = 0; j < 20; j++) pracownik[i].ulica[j] = pracownik[i + 1].ulica[j];
  175.                 pracownik[i].numer_domu = pracownik[i + 1].numer_domu;
  176.                 for (int j = 0; j < 10; j++) pracownik[i].stan_cywilny[j] = pracownik[i + 1].stan_cywilny[j];
  177.                 for (int j = 0; j < 5; j++) pracownik[i].dzieci[j] = pracownik[i + 1].dzieci[j];
  178.                 for (int j = 0; j < 30; j++) pracownik[i].stanowisko[j] = pracownik[i + 1].stanowisko[j];
  179.                 pracownik[i].numer_biura = pracownik[i + 1].numer_biura;
  180.                 pracownik[i].tel_firmowy = pracownik[i + 1].tel_firmowy;
  181.                 pracownik[i].rok_zatrudnienia = pracownik[i + 1].rok_zatrudnienia;
  182.                 pracownik[i].wynagrodzenie = pracownik[i + 1].wynagrodzenie;
  183.                 pracownik[i].dlugosc_urlopu = pracownik[i + 1].dlugosc_urlopu;
  184.                 for (int j = 0; j < 5; j++) pracownik[i].samochod[j] = pracownik[i + 1].samochod[j];
  185.                 for (int j = 0; j < 5; j++) pracownik[i].delegacje[j] = pracownik[i + 1].delegacje[j];
  186.         }
  187.         pracownik.pop_back();
  188. }
  189.  
  190. int main() {
  191.         menu();
  192.         do {
  193.                 if (_kbhit()) {
  194.                         char znak = _getch();
  195.                         switch (znak) {
  196.                         case (char)27:
  197.                                 return 0;
  198.                         case '1':
  199.                                 dodaj();
  200.                                 menu();
  201.                                 break;
  202.                         case '2':
  203.                                 // wczytaj();
  204.                                 system("cls");
  205.                                 for (int i = 0; i < pracownik.size(); i++)
  206.                                 {
  207.                                         pracownik[i].drukuj();
  208.                                         cout << "\n";
  209.                                 }
  210.                                 menu();
  211.                                 break;
  212.                         case '3':
  213.                                 zapisz();
  214.                                 menu();
  215.                                 break;
  216.                         case '4':
  217.                                 int nr_pracownika;
  218.                                 cout << "podaj numer wybranego pracowmika";
  219.                                 cin >> nr_pracownika;
  220.                                 edytuj(nr_pracownika);
  221.                                 menu();
  222.                                 break;
  223.                         case '5':
  224.                                 int do_usuniecia;
  225.                                 cout << "podaj numer pracownika do usuniecia";
  226.                                 cin >> do_usuniecia;
  227.                                 usun(do_usuniecia);
  228.                                 menu();
  229.                                 break;
  230.                         }
  231.                 }
  232.         } while (1);
  233.  
  234.         _getch();
  235. }