Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <iomanip>
- #include <cstdlib>
- //#include <cstring>
- #include <string.h>
- const int D_ID = 3;
- #define IMIE 8
- #define NAZ 11
- #define NAZWA 15
- #define CIT 10
- #define SPEC 8
- #define ILE_OP 10
- #define DLUGOSC_OP 255
- const int MAXPAC = 100;
- using namespace std;
- struct lekarz {
- char id[D_ID];
- char imie[IMIE];
- char nazwisko[NAZ];
- char nazwa[NAZWA];
- char miasto[CIT];
- char specjalnosc[SPEC];
- int kolejka;
- char opinie[ILE_OP][DLUGOSC_OP];
- int liczba_opinii = 0;
- char imie2[IMIE];
- char nazwisko2[NAZ];
- };
- void menu(lekarz L[], int liczba_spec);
- void menuglowne(int wybor);
- void menu_szuk(lekarz L[], const int liczba_spec);
- void menu_kasuj();
- void dodaj_lekarza(lekarz L[], int & liczba_spec);
- void kasuj_lekarza(lekarz L[], int & liczba_spec);
- int ID(lekarz L[], const int liczba_spec, char ID[]);
- void szukaj_po_ID(lekarz L[], const int liczba_spec);
- void lista_naglowek();
- void lista_lekarz(lekarz L[]);
- void lista_calosc(lekarz L[], const int liczba_spec);
- void dodanie_opinii(lekarz L[], int&liczba_spec);
- void dopisz(const lekarz lek);
- void inicjalizuj(lekarz *L, int &liczba_spec);
- int main()
- {
- lekarz L[MAXPAC]; // tablica zawieraj¹ca struktury typu osoba - g³ówna struktura danych
- int liczba_spec; // liczba osób w tablicy L
- inicjalizuj(L, liczba_spec);
- menu(L,liczba_spec);
- }
- void menuglowne(int wybor)
- {
- switch (wybor)
- {
- case 1: {
- cout << endl;
- cout << "BAZA DANYCH SPECJALISTOW" << endl;
- cout << "------------------------" << endl;
- cout << "MENU GLOWNE :" << endl;
- cout << "------------------------" << endl;
- cout << "1 - Dodaj Lekarza" << endl;
- cout << "2 - Usun Lekarza" << endl;
- cout << "3 - Edytuj dane lekarza" << endl;
- cout << "4 - Wyszukaj lekarza" << endl;
- cout << "5 - Lista lekarzy" << endl;
- cout << "0 - Zakoncz prace" << endl;
- cout << ">>";
- break;
- }
- case 2: {
- cout << endl;
- cout << "MENU WYSZUKIWANIA : " << endl;
- cout << "------------------------" << endl;
- cout << "1 - Wyszukiwanie lekarza po nazwisku" << endl;
- cout << "2 - Wyszukiwanie lekarza po specjalizacji" << endl;
- cout << "3 - Wyszukiwanie po szpitalu" << endl;
- cout << "4 - Wyszukiwanie specjalisty z najmniejsza kolejka" << endl;
- cout << "5 - Wyszukiwanie lekarza po identyfikatorze" << endl;
- cout << "0 - Wyjdz do glownego menu" << endl;
- cout << ">>";
- break;
- }
- case 3: {
- cout << endl;
- cout << "MENU KASOWANIA : " << endl;
- cout << "------------------------" << endl;
- cout << "1 - Skasuj dane lekarza po identyfikatorze" << endl;
- cout << "0 - Wyjdz do glownego menu" << endl;
- cout << ">>";
- break;
- }
- }
- }
- void menu(lekarz L[], int liczba_spec)
- {
- int opcja_menu;
- do {
- menuglowne(1);
- cin >> opcja_menu;
- switch (opcja_menu)
- {
- case 1: dodaj_lekarza(L, liczba_spec);
- break;
- case 2: menu_kasuj();
- break;
- //case 3: menu_edycja();
- //break;
- case 4: menu_szuk(L, liczba_spec);
- break;
- case 5: lista_calosc(L, liczba_spec);
- break;
- }
- } while (opcja_menu != 0);
- }
- void menu_szuk(lekarz L[], const int liczba_spec)
- {
- int opcja_menu;
- do {
- menuglowne(2);
- cin >> opcja_menu;
- switch (opcja_menu)
- {
- case 1:;
- break;
- case 2:;
- break;
- case 3:;
- break;
- case 4:;
- break;
- case 5: szukaj_po_ID(L, liczba_spec);
- break;
- }
- } while (opcja_menu != 0);
- }
- void menu_kasuj()
- {
- int opcja_menu;
- do {
- menuglowne(3);
- cin >> opcja_menu;
- switch (opcja_menu)
- {
- case 1:;
- break;
- case 2:;
- break;
- }
- } while (opcja_menu != 0);
- }
- //-----------FUNKCJE GLOWNE---------------
- void dodaj_lekarza(lekarz L[], int & liczba_spec)
- {
- int n;
- cout << "Ilu chcesz dodac specjalistow ? (Podaj liczbe) : ";
- cin >> n;
- char id[D_ID];
- if (liczba_spec<MAXPAC)
- {
- for (int i = 0; i < n; i++)
- {
- cout << "ID : ";
- cin >> id;
- if (L[i].id != id)
- {
- L[i].id == id;
- cout << "Imie : ";
- cin >> L[i].imie;
- cout << "Nazwisko : ";
- cin >> L[i].nazwisko;
- cout << "Nazwa osrodka : ";
- cin >> L[i].nazwa;
- cout << "Miasto, w ktorym znajduje sie osrodek : ";
- cin >> L[i].miasto;
- cout << "Specjalnosc : ";
- cin >> L[i].specjalnosc;
- cout << "Ilosc pacjentow w kolejce : ";
- cin >> L[i].kolejka;
- liczba_spec++;
- }
- }
- }
- }
- void dopisz(const lekarz lek)
- {
- cout << setw(sizeof(lek.id) + 2) << lek.id;
- cout << setw(sizeof(lek.imie) + 2) << lek.imie;
- cout << setw(sizeof(lek.nazwisko) + 2) << lek.nazwisko;
- cout << setw(sizeof(lek.nazwa) + 2) << lek.nazwa;
- cout << setw(sizeof(lek.miasto) + 2) << lek.miasto;
- cout << setw(sizeof(lek.specjalnosc) + 2) << lek.specjalnosc;
- cout << setw(sizeof(lek.kolejka) + 2) << lek.kolejka;
- cout << setw(sizeof(lek.opinie) + 2) << lek.opinie;
- cout << setw(sizeof(lek.imie2) + 2) << lek.imie2;
- cout << setw(sizeof(lek.nazwisko2) + 2) << lek.nazwisko2;
- cout << endl;
- }
- //---------------WYSZUKIWANIE-----------------
- int ID(lekarz L[], const int liczba_spec, char id[])
- {
- for (int i = 0; i < liczba_spec; i++)
- if (strcmp(L[i].id, id) == 0) return(i);
- return(-1);
- }
- void szukaj_po_ID(lekarz L[], const int liczba_spec)
- {
- char id[D_ID];
- int ind;
- cout << "Podaj ID : ";
- cin >> id;
- if ((ind = ID(L, liczba_spec, id)) != -1)
- {
- lista_naglowek();
- lista_lekarz(L + ind);
- }
- else
- {
- cout << "Nie ma osoby o podanym numerze ID " << id << endl;
- system("pause");
- }
- }
- //---------------LISTA------------------------
- void lista_naglowek()
- {
- cout << endl;
- cout << "|ID | IMIE | NAZWISKO | OSRODEK | SPECJALNOSC | KOLEJKA | " << endl;
- cout << "_________________________________________________________________" << endl;
- }
- void lista_lekarz(lekarz L[])
- {
- cout << L->id;
- cout << setw(10) << L->imie;
- cout << setw(15) << L->nazwisko;
- cout << setw(10) << L->nazwa;
- cout << setw(10) << L->miasto;
- cout << setw(15) << L->specjalnosc;
- cout << setw(10) << L->kolejka;
- cout << endl;
- }
- void lista_calosc(lekarz L[], const int liczba_spec)
- {
- lista_naglowek();
- for (int i = 0; i < liczba_spec; i++)
- lista_lekarz(L + i);
- cout << "________________________________________________________________" << endl;
- cout << "Ilosc lekarzy w bazie : " << liczba_spec << endl;
- cout << endl;
- char odp;
- char tak;
- int i;
- cout << "czy chcialbys dowiedziec sie czegos wiecej o jakims lekarzu? (wpisz tak lub nie) ";
- cin >> odp;
- if (odp == tak)
- {
- cout << "Jesli chcialbys poznac opinie pacjentow o danym lekarzu, to prosze podac jego numer: ";
- cin >> i;
- system("cls");
- cout << L[i].opinie << L[i].imie2 << L[i].nazwisko2;
- }
- else system("cls");
- }
- void dodanie_opinii(lekarz L[], int&liczba_spec)
- {
- char nazwisko[NAZ];
- cout << "wpisz nazwisko lekarza ktoremu chcesz wystawic opinie: ";
- cin >> nazwisko;
- for (int i = 0; i<liczba_spec; i++)
- {
- if (L[i].nazwisko != nazwisko)
- {
- cout << "Prosze o wpisanie opinii: ";
- cin >> L[i].opinie[++L[i].liczba_opinii];
- cout << "Podaj swoje imie: ";
- cin >> L[i].imie2;
- cout << "Podaj swoje nazwisko: ";
- cin >> L[i].nazwisko2;
- }
- }
- }
- void inicjalizuj(lekarz *L, int &liczba_spec)
- {
- strcpy(L[0].id, "001");
- strcpy(L[0].imie, "Jan");
- strcpy(L[0].nazwisko, "Kochanski");
- strcpy(L[0].nazwa, "szpital sw. Patryka");
- strcpy(L[0].miasto, "Sopot");
- strcpy(L[0].specjalnosc, "laryngolog");
- L[0].kolejka = 2;
- //strcpy(L[0].kolejka, 2);
- strcpy(L[0].opinie[0], "slaby, nie polecam");
- L[0].liczba_opinii++;
- strcpy(L[0].imie2, "Andrzej");
- strcpy(L[0].nazwisko2, "Duda");
- liczba_spec = 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement