Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <ctime>
- #include <cstdlib>
- #include <iomanip>
- #include <time.h>
- #include <regex>
- #include "Lekarz.h"
- using namespace std;
- void WyborMiesiaca(string Miesiac, string &MiesiacINT)
- {
- if(Miesiac=="Styczen") MiesiacINT="1";
- else if(Miesiac=="Luty") MiesiacINT="2";
- else if(Miesiac=="Marzec") MiesiacINT="3";
- else if(Miesiac=="Kwiecien") MiesiacINT="4";
- else if(Miesiac=="Maj") MiesiacINT="5";
- else if(Miesiac=="Czerwiec") MiesiacINT="6";
- else if(Miesiac=="Lipiec") MiesiacINT="7";
- else if(Miesiac=="Sierpien") MiesiacINT="8";
- else if(Miesiac=="Wrzesien") MiesiacINT="9";
- else if(Miesiac=="Pazdziernik") MiesiacINT="10";
- else if(Miesiac=="Listopad") MiesiacINT="11";
- else if(Miesiac=="Grudzien") MiesiacINT="12";
- else
- {
- cout << "Taki miesiac nie istnieje, prosze sprobowac jeszcze raz" << endl;
- exit(0);
- }
- }
- int main()
- {
- cout << "Witaj w systemie rejestracji pacjentow \n"
- "Wybierz interesujaca cie specjalizacje: \n " << endl;
- ifstream Specjalizacje;
- Specjalizacje.open("../System_rejestracji_przychodni/Specjalizacje.txt", ios::in);
- string linijkaSpecjalizacji;
- if(Specjalizacje.good())
- {
- do
- {
- getline(Specjalizacje, linijkaSpecjalizacji);
- cout<<linijkaSpecjalizacji<<endl;
- }while(!Specjalizacje.eof());
- }
- Specjalizacje.close();
- string Specjalizacja;
- getline(cin, Specjalizacja);
- cout << "--------------------------------------------------------------------------------------" << endl;;
- if((Specjalizacja != "Internista") && (Specjalizacja != "Ortopeda") && (Specjalizacja != "Chirurg") && (Specjalizacja != "Dermatolog") && (Specjalizacja != "Okulista") && (Specjalizacja != "Endokrynolog") && (Specjalizacja != "Stomatolog") && (Specjalizacja != "Urolog") && (Specjalizacja != "Ginekolog") && (Specjalizacja != "Pediatra"))
- {
- cout << "Niestety taki specjalista nie znajduje sie w naszej przychodni. \n"
- "Prosze sprobowac jeszcze raz" << endl;
- getline(cin, Specjalizacja);
- }
- Lekarz l[40]; //0-39
- for (int i=0; i<40; i++) //tworzenie wszystkich lekarzy jako obiekty
- {
- l[i].nr_lekarza=i+1;
- l[i].wczytaj();
- if(Specjalizacja==l[i].specjalizacja)
- {
- l[i].wyswietl();
- }
- }
- cout << "Wybierz, w jakim miesiacu interesuje cie wizyta (Pelna nazwa bez polskich znakow): ";
- string Miesiac;
- string MiesiacINT;
- getline(cin, Miesiac);
- cout << "--------------------------------------------------------------------------------------";
- WyborMiesiaca(Miesiac, MiesiacINT);
- cout << endl << "Oto lista specjalistow ktora przyjmuje w miesiacu: " << Miesiac << endl << endl;
- int sumaM=0;
- for (int i=0; i<40; i++) //wyświetlanie po podaniu miesiąca
- {
- if(Specjalizacja==l[i].specjalizacja)
- {
- if(l[i].miesiac.find(MiesiacINT) != string::npos)
- {
- l[i].wyswietl();
- sumaM++;
- }
- }
- }
- if(sumaM>0)
- cout << "W tym miesiacu przyjmuje " << sumaM << " specjalistow:" << endl;
- else
- cout << "Niestety w tym miesiacu nie przyjmuje zaden specjalista" << endl;
- cout << "Wybierz, w ktorym dniu miesiaca interesuje cie wizyta: ";
- string Dzien;
- getline(cin, Dzien);
- cout << "--------------------------------------------------------------------------------------" << endl;
- int sumaD=0;
- for (int i=0; i<40; i++) //wyświetlanie po podaniu dnia
- {
- if(Specjalizacja==l[i].specjalizacja)
- {
- if(l[i].miesiac.find(MiesiacINT) != string::npos)
- {
- if(l[i].dzien.find(Dzien) != string ::npos)
- {
- l[i].wyswietlGodz();
- sumaD++;
- }
- }
- }
- }
- if(sumaD>0)
- cout << "W tym miesiacu tego dnia przyjmuje " << sumaD << " specjalistow:" << endl << endl;
- else
- cout << "Niestety w tym dniu nie przyjmuje zaden specjalista" << endl;
- cout << "Podaj numer lekarza do ktorego chcialbys sie zapisac" << endl;
- int numer_l;
- cin >> numer_l;
- cout << "--------------------------------------------------------------------------------------" << endl << endl;
- for (int i=0; i<40; i++) //zapis na wizyte po podaniu numeru lekarza
- {
- if(Specjalizacja==l[i].specjalizacja)
- {
- if(l[i].miesiac.find(MiesiacINT) != string::npos)
- {
- if(l[i].dzien.find(Dzien) != string ::npos)
- {
- if(numer_l==l[i].nr_lekarza)
- {
- l[i].zapisNaWizyte();
- }
- }
- }
- }
- }
- cout << "Po dodaniu wizyty: " << endl;
- for (int i=0; i<40; i++) //wyswietlanie po zapisie na wizyte
- {
- if(Specjalizacja==l[i].specjalizacja)
- {
- if(l[i].miesiac.find(MiesiacINT) != string::npos)
- {
- if(l[i].dzien.find(Dzien) != string ::npos)
- {
- if(numer_l==l[i].nr_lekarza)
- {
- l[i].wyswietlGodz();
- }
- }
- }
- }
- }
- //ZAPIS DO PLIKU (UTRZYMANIE REZERWACJI WIZYT)
- ofstream Lekarze;
- Lekarze.open("../System_rejestracji_przychodni/Lekarze.txt");
- if(Lekarze.good()==false)
- {
- cout<<"Nie udalo sie wczytac listy lekarzy"<<endl;
- exit(0);
- }
- for (int i=0; i<40; i++)
- {
- Lekarze << l[i].imie << endl;
- Lekarze << l[i].nazwisko << endl;
- Lekarze << l[i].specjalizacja << endl;
- Lekarze << l[i].miesiac << endl;
- Lekarze << l[i].dzien << endl;
- Lekarze << l[i].godzina_roz << endl;
- Lekarze << l[i].godzina_kon << endl;
- Lekarze << l[i].wizyty << endl;
- }
- Lekarze.close();
- return 0;
- }
- #ifndef LEKARZ_H
- #define LEKARZ_H
- #include <iostream>
- using namespace std;
- class Lekarz
- {
- public:
- string imie, nazwisko, specjalizacja, miesiac, dzien, wizyty;
- int godzina_roz, godzina_kon, nr_lekarza;
- void wczytaj();
- void wyswietl();
- void wyswietlGodz();
- void zapisNaWizyte();
- };
- #endif // LEKARZ_H
- #include <iostream>
- #include <fstream>
- #include <cstdlib>
- #include <iomanip>
- #include <string>
- #include "Lekarz.h"
- using namespace std;
- void Lekarz::wczytaj()
- {
- ifstream Lekarze;
- Lekarze.open("../System_rejestracji_przychodni/Lekarze.txt", ios::in);
- if(Lekarze.good()==false)
- {
- cout<<"Nie udalo sie wczytac listy lekarzy"<<endl;
- exit(0);
- }
- int nr_linii=(nr_lekarza-1)*8+1;
- int aktualny_nr=1;
- string linia;
- while(getline(Lekarze, linia))
- {
- if(aktualny_nr==nr_linii) imie=linia;
- if(aktualny_nr==nr_linii+1) nazwisko=linia;
- if(aktualny_nr==nr_linii+2) specjalizacja=linia;
- if(aktualny_nr==nr_linii+3) miesiac=linia;
- if(aktualny_nr==nr_linii+4) dzien=linia;
- if(aktualny_nr==nr_linii+5) godzina_roz=atoi(linia.c_str());
- if(aktualny_nr==nr_linii+6) godzina_kon=atoi(linia.c_str());
- if(aktualny_nr==nr_linii+7) wizyty=linia;
- aktualny_nr++;
- }
- Lekarze.close();
- }
- void Lekarz::wyswietl()
- {
- cout << "Numer Lekarza: " << nr_lekarza << endl;
- cout << "Imie Lekarza: " <<imie << endl;
- cout << "Nazwisko Lekarza: " <<nazwisko << endl;
- cout << "Specjalizacja Lekarza: " <<specjalizacja << endl;
- //cout << miesiac << endl;
- //cout << dzien << endl;
- cout << endl;
- }
- void Lekarz::wyswietlGodz()
- {
- cout << "Numer Lekarza: " << nr_lekarza << endl;
- cout << "Imie Lekarza: " <<imie << endl;
- cout << "Nazwisko Lekarza: " <<nazwisko << endl;
- cout << "Specjalizacja Lekarza: " <<specjalizacja << endl;
- //cout << miesiac << endl;
- //cout << dzien << endl;
- cout << "Godzina rozpoczecia pracy lekarza: " << godzina_roz << ":00" << endl;
- cout << "Godzina zakoczenia pracy lekarza: " << godzina_kon << ":00" << endl;
- if(wizyty=="")
- cout << "Wszystkie wizyty sa wolne" << endl;
- else
- cout << "Zajete wizyty: " << wizyty << endl;
- cout << endl;
- }
- void Lekarz::zapisNaWizyte()
- {
- cout << "Prosze podac godzine na ktora chcialby sie Pan"
- "/Pani zapisac (Zapisy prowadzimy jedynie w godzinach x,00 - x,15 - x,30 - x,45): ";
- string godzina;
- string dopuszczalna_kon1 = ",00";
- string dopuszczalna_kon2 = ",15";
- string dopuszczalna_kon3 = ",30";
- string dopuszczalna_kon4 = ",45";
- cin >> godzina;
- cout << "--------------------------------------------------------------------------------------" << endl << endl;
- 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))
- {
- if(!godzina.find(wizyty))
- {
- int godzinaINT = std::stoi (godzina,nullptr,0);
- if(godzinaINT >= godzina_roz && godzinaINT <= godzina_kon)
- {
- wizyty = wizyty + godzina + " -";
- }
- else
- {
- cout << "Niestety lekarz nie przyjmuje o tej godzinie" << endl << endl;
- }
- }
- else
- {
- cout << "Niestety ta godzina jest już zajeta" << endl << endl;
- }
- }
- else
- {
- cout << "Niestety ta godzina nie jest zgodna z naszym formatem zapisow." << endl << endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement