Advertisement
Matrxi999

Untitled

Mar 31st, 2020
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 8.35 KB | None | 0 0
  1. MAIN CPP
  2. #include <iostream>
  3. #include <fstream>
  4. #include <ctime>
  5. #include <cstdlib>
  6. #include <iomanip>
  7. #include <time.h>
  8. #include <regex>
  9. #include "Lekarz.h"
  10.  
  11. using namespace std;
  12.  
  13. void WyborMiesiaca(string Miesiac, string &MiesiacINT)
  14. {
  15.     if(Miesiac=="Styczen") MiesiacINT="1";
  16.     else if(Miesiac=="Luty") MiesiacINT="2";
  17.     else if(Miesiac=="Marzec") MiesiacINT="3";
  18.     else if(Miesiac=="Kwiecien") MiesiacINT="4";
  19.     else if(Miesiac=="Maj") MiesiacINT="5";
  20.     else if(Miesiac=="Czerwiec") MiesiacINT="6";
  21.     else if(Miesiac=="Lipiec") MiesiacINT="7";
  22.     else if(Miesiac=="Sierpien") MiesiacINT="8";
  23.     else if(Miesiac=="Wrzesien") MiesiacINT="9";
  24.     else if(Miesiac=="Pazdziernik") MiesiacINT="10";
  25.     else if(Miesiac=="Listopad") MiesiacINT="11";
  26.     else if(Miesiac=="Grudzien") MiesiacINT="12";
  27.     else
  28.     {
  29.         cout << "Taki miesiac nie istnieje, prosze sprobowac jeszcze raz" << endl;
  30.         exit(0);
  31.     }
  32. }
  33.  
  34. int main()
  35. {
  36.     cout << "Witaj w systemie rejestracji pacjentow \n"
  37.             "Wybierz interesujaca cie specjalizacje: \n " << endl;
  38.  
  39.     ifstream Specjalizacje;
  40.     Specjalizacje.open("../System_rejestracji_przychodni/Specjalizacje.txt", ios::in);
  41.  
  42.     string linijkaSpecjalizacji;
  43.     if(Specjalizacje.good())
  44.         {
  45.             do
  46.             {
  47.                 getline(Specjalizacje, linijkaSpecjalizacji);
  48.                 cout<<linijkaSpecjalizacji<<endl;
  49.             }while(!Specjalizacje.eof());
  50.         }
  51.     Specjalizacje.close();
  52.  
  53.     string Specjalizacja;
  54.     getline(cin, Specjalizacja);
  55.  
  56.     cout << "--------------------------------------------------------------------------------------" << endl << endl;;
  57.  
  58.  
  59.     if((Specjalizacja != "Internista") && (Specjalizacja != "Ortopeda") && (Specjalizacja != "Chirurg") && (Specjalizacja != "Dermatolog") && (Specjalizacja != "Okulista") && (Specjalizacja != "Endokrynolog") && (Specjalizacja != "Stomatolog") && (Specjalizacja != "Urolog") && (Specjalizacja  != "Ginekolog") && (Specjalizacja != "Pediatra"))
  60.     {
  61.         cout << "Niestety taki specjalista nie znajduje sie w naszej przychodni. \n"
  62.                 "Prosze sprobowac jeszcze raz" << endl;
  63.         getline(cin, Specjalizacja);
  64.     }
  65.  
  66.     Lekarz l[40]; //0-39
  67.     for (int i=0; i<40; i++) //tworzenie wszystkich lekarzy jako obiekty
  68.     {
  69.         l[i].nr_lekarza=i+1;
  70.         l[i].wczytaj();
  71.  
  72.         if(Specjalizacja==l[i].specjalizacja)
  73.         {
  74.             l[i].wyswietl();
  75.         }
  76.  
  77.     }
  78.  
  79.     cout << "Wybierz, w jakim miesiacu interesuje cie wizyta (Pelna nazwa bez polskich znakow): ";
  80.  
  81.     string Miesiac;
  82.     string MiesiacINT;
  83.     getline(cin, Miesiac);
  84.  
  85.     cout << "--------------------------------------------------------------------------------------";
  86.  
  87.     WyborMiesiaca(Miesiac, MiesiacINT);
  88.  
  89.     cout << endl << "Oto lista specjalistow ktora przyjmuje w miesiacu: " << Miesiac << endl << endl;
  90.  
  91.     int sumaM=0;
  92.  
  93.     for (int i=0; i<40; i++) //wyświetlanie po podaniu miesiąca
  94.     {
  95.         if(Specjalizacja==l[i].specjalizacja)
  96.         {
  97.             if(l[i].miesiac.find(MiesiacINT) != string::npos)
  98.             {
  99.                 l[i].wyswietl();
  100.                 sumaM++;
  101.             }
  102.         }
  103.     }
  104.  
  105.     if(sumaM>0)
  106.         cout << "W tym miesiacu przyjmuje " << sumaM << " specjalistow:" << endl;
  107.     else
  108.         cout << "Niestety w tym miesiacu nie przyjmuje zaden specjalista" << endl;
  109.  
  110.     cout << "Wybierz, w ktorym dniu miesiaca interesuje cie wizyta: ";
  111.  
  112.     string Dzien;
  113.     getline(cin, Dzien);
  114.  
  115.     cout << "--------------------------------------------------------------------------------------" << endl;
  116.  
  117.     int sumaD=0;
  118.     for (int i=0; i<40; i++) //wyświetlanie po podaniu dnia
  119.     {
  120.         if(Specjalizacja==l[i].specjalizacja)
  121.         {
  122.             if(l[i].miesiac.find(MiesiacINT) != string::npos)
  123.             {
  124.                 if(l[i].dzien.find(Dzien) != string ::npos)
  125.                 {
  126.                     l[i].wyswietlGodz();
  127.                     sumaD++;
  128.                 }
  129.             }
  130.         }
  131.     }
  132.  
  133.     if(sumaD>0)
  134.         cout << "W tym miesiacu tego dnia przyjmuje " << sumaD << " specjalistow:" << endl;
  135.     else
  136.         cout << "Niestety w tym dniu nie przyjmuje zaden specjalista" << endl;
  137.  
  138.     cout << "Podaj numer lekarza do ktorego chcialbys sie zapisac" << endl;
  139.  
  140.     int numer_l;
  141.     cin >> numer_l;
  142.  
  143.     for (int i=0; i<40; i++) //zapis na wizyte po podaniu numeru lekarza
  144.     {
  145.         if(Specjalizacja==l[i].specjalizacja)
  146.         {
  147.             if(l[i].miesiac.find(MiesiacINT) != string::npos)
  148.             {
  149.                 if(l[i].dzien.find(Dzien) != string ::npos)
  150.                 {
  151.                     if(numer_l==l[i].nr_lekarza)
  152.                     {
  153.                         l[i].zapisNaWizyte();
  154.                     }
  155.                 }
  156.             }
  157.         }
  158.     }
  159.  
  160.     cout << "Po dodaniu wizyty: " << endl;
  161.  
  162.     for (int i=0; i<40; i++) //wyświetlanie po podaniu dnia
  163.     {
  164.         if(Specjalizacja==l[i].specjalizacja)
  165.         {
  166.             if(l[i].miesiac.find(MiesiacINT) != string::npos)
  167.             {
  168.                 if(l[i].dzien.find(Dzien) != string ::npos)
  169.                 {
  170.                     l[i].wyswietlGodz();
  171.                     sumaD++;
  172.                 }
  173.             }
  174.         }
  175.     }
  176.  
  177.  
  178.     return 0;
  179. }
  180.  
  181.  
  182. PLIK ŹRÓDŁOWY
  183. #include <iostream>
  184. #include <fstream>
  185. #include <cstdlib>
  186. #include <iomanip>
  187. #include "Lekarz.h"
  188.  
  189. using namespace std;
  190.  
  191. void Lekarz::wczytaj()
  192. {
  193.     ifstream Lekarze;
  194.     Lekarze.open("../System_rejestracji_przychodni/Lekarze.txt", ios::in);
  195.  
  196.     if(Lekarze.good()==false)
  197.     {
  198.         cout<<"Nie udalo sie wczytac listy lekarzy"<<endl;
  199.         exit(0);
  200.     }
  201.  
  202.     int nr_linii=(nr_lekarza-1)*8+1;
  203.     int aktualny_nr=1;
  204.     string linia;
  205.  
  206.     while(getline(Lekarze, linia))
  207.     {
  208.         if(aktualny_nr==nr_linii) imie=linia;
  209.         if(aktualny_nr==nr_linii+1) nazwisko=linia;
  210.         if(aktualny_nr==nr_linii+2) specjalizacja=linia;
  211.         if(aktualny_nr==nr_linii+3) miesiac=linia;
  212.         if(aktualny_nr==nr_linii+4) dzien=linia;
  213.         if(aktualny_nr==nr_linii+5) godzina_roz=atoi(linia.c_str());
  214.         if(aktualny_nr==nr_linii+6) godzina_kon=atoi(linia.c_str());
  215.         if(aktualny_nr==nr_linii+7) wizyty=linia;
  216.  
  217.         aktualny_nr++;
  218.     }
  219.     Lekarze.close();
  220. }
  221.  
  222. void Lekarz::wyswietl()
  223. {
  224.     cout << "Numer Lekarza: " << nr_lekarza << endl;
  225.     cout << "Imie Lekarza: " <<imie << endl;
  226.     cout << "Nazwisko Lekarza: " <<nazwisko << endl;
  227.     cout << "Specjalizacja Lekarza: " <<specjalizacja << endl;
  228.     //cout << miesiac << endl;
  229.     //cout << dzien << endl;
  230.     cout << endl;
  231. }
  232.  
  233. void Lekarz::wyswietlGodz()
  234. {
  235.     cout << "Numer Lekarza: " << nr_lekarza << endl;
  236.     cout << "Imie Lekarza: " <<imie << endl;
  237.     cout << "Nazwisko Lekarza: " <<nazwisko << endl;
  238.     cout << "Specjalizacja Lekarza: " <<specjalizacja << endl;
  239.     //cout << miesiac << endl;
  240.     //cout << dzien << endl;
  241.     cout << "Godzina rozpoczecia pracy lekarza: " << godzina_roz << ":00" << endl;
  242.     cout << "Godzina zakoczenia pracy lekarza: " << godzina_kon << ":00" << endl;
  243.     if(wizyty=="")
  244.         cout << "Wszystkie wizyty sa wolne" << endl;
  245.     else
  246.         cout << "Zajete wizyty: " << wizyty << endl;
  247.     cout << endl;
  248. }
  249.  
  250. void Lekarz::zapisNaWizyte()
  251. {
  252.     cout << "Prosze podac godzine na ktora chcialby sie Pan"
  253.             "/Pani zapisac (Zapisy prowadzimy jedynie w godzinach ,:00, ,:15, ,:30, ,:45): " << endl;
  254.  
  255.     string godzina;
  256.     string dopuszczalna_kon1 = ",00";
  257.     string dopuszczalna_kon2 = ",15";
  258.     string dopuszczalna_kon3 = ",30";
  259.     string dopuszczalna_kon4 = ",45";
  260.  
  261.     cin >> godzina;
  262.  
  263.     if((godzina.find(dopuszczalna_kon1) != string ::npos) || (godzina.find(dopuszczalna_kon2) != string ::npos) || (godzina.find(dopuszczalna_kon3) != string ::npos) || (godzina.find(dopuszczalna_kon4) != string ::npos))
  264.     {
  265.         wizyty = wizyty + godzina;
  266.     }
  267.     else
  268.     {
  269.         cout << "nie" << endl;
  270.     }
  271. }
  272.  
  273. HEADER
  274. #ifndef LEKARZ_H
  275. #define LEKARZ_H
  276. #include <iostream>
  277.  
  278. using namespace std;
  279.  
  280. class Lekarz
  281. {
  282.     public:
  283.  
  284.     string imie, nazwisko, specjalizacja, miesiac, dzien, wizyty;
  285.     int godzina_roz, godzina_kon, nr_lekarza;
  286.  
  287.     void wczytaj();
  288.     void wyswietl();
  289.     void wyswietlGodz();
  290.     void zapisNaWizyte();
  291. };
  292.  
  293. #endif // LEKARZ_H
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement