Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <windows.h>
- #include <stdbool.h>
- //////LEKARZE--------------------------------------------------------------
- struct lekarze
- {
- int ID;
- char nazwisko[20];
- char imie[20];
- char pesel[20];
- int pwz;
- char tytul[20];
- char specjalizacja[20];
- char mail[40];
- int telefon;
- struct lekarze *prev, *next;
- };
- struct lekarze *create_list_lekarze(int ID, char nazwisko[],char imie[],char pesel[],int pwz,char tytul[],char specjalizacja[],char mail[],int telefon) {
- struct lekarze *front = (struct lekarze *)malloc(sizeof(struct lekarze));
- if (front != NULL)
- {
- front->ID = ID;
- strcpy(front->nazwisko,nazwisko);
- strcpy(front->imie,imie);
- strcpy(front->pesel,pesel);
- front->pwz = pwz;
- strcpy(front->tytul,tytul);
- strcpy(front->specjalizacja,specjalizacja);
- strcpy(front->mail,mail);
- front->telefon = telefon;
- front->prev = NULL;
- front->next = NULL;
- }
- return front;
- }
- struct lekarze *insert_front_lekarze(struct lekarze *front, struct lekarze *new_node) {
- new_node->next = front;
- front->prev = new_node;
- return new_node;
- }
- struct lekarze *find_spot_lekarze(struct lekarze *front, int ID) {//zmiana
- struct lekarze *prev = NULL;
- while ((NULL != front) && (front->ID < ID))
- {
- prev = front;
- front = front->next;
- }
- return prev;
- }
- void insert_after_lekarze(struct lekarze *node, struct lekarze *new_node) {
- new_node->prev = node;
- new_node->next = node->next;
- node->next->prev = new_node;
- node->next = new_node;
- }
- void insert_back_lekarze(struct lekarze *back, struct lekarze *new_node) {
- back->next = new_node;
- new_node->prev = back;
- }
- struct lekarze *insert_node_lekarze(struct lekarze *front,int ID, char nazwisko[],char imie[],char pesel[],int pwz,char tytul[],char specjalizacja[],char mail[],int telefon ) {
- if (front == NULL)
- return NULL;
- struct lekarze *new_node = (struct lekarze*)malloc(sizeof(struct lekarze));
- if (new_node != NULL)
- {
- new_node->ID = ID;
- strcpy(new_node->nazwisko,nazwisko);
- strcpy(new_node->imie,imie);
- strcpy(new_node->pesel,pesel);
- new_node->pwz = pwz;
- strcpy(new_node->tytul,tytul);
- strcpy(new_node->specjalizacja,specjalizacja);
- strcpy(new_node->mail,mail);
- new_node->telefon = telefon;
- new_node->prev = new_node->next = NULL;
- if (front->ID>= ID)//zmiana
- return insert_front_lekarze(front, new_node);
- else
- {
- struct lekarze *node = find_spot_lekarze(front, ID);
- if (NULL != node->next)
- insert_after_lekarze(node, new_node);
- else
- insert_back_lekarze(node, new_node);
- }
- }
- return front;
- }
- ////////////////////////////////////////////////////////////
- struct lekarze *delete_front_lekarze(struct lekarze *front)
- {
- struct lekarze *next = front->next;
- if (NULL != next)
- next->prev = NULL;
- free(front);
- return next;
- }
- void delete_within_lekarze(struct lekarze *node)
- {
- node->next->prev = node->prev;
- node->prev->next = node->next;
- free(node);
- }
- void delete_back_lekarze(struct lekarze *back)
- {
- back->prev->next = NULL;
- free(back);
- }
- struct lekarze *znajdz_lekarza(struct lekarze *front, int ID)
- {
- while ((NULL != front) && (front->ID != ID))
- front = front->next;
- return front;
- }
- void front_back(struct lekarze **front) {
- for (; NULL != (*front)->prev; *front = (*front)->prev)
- {
- }
- }
- struct lekarze *delete_node_lekarze(struct lekarze **front, int ID)
- {
- if ((*front)->ID == ID && (*front)->next == NULL && (*front)->prev == NULL)
- {
- free(*front);
- *front = NULL;
- return *front;
- }
- if ((*front)->ID == ID && (*front)->next != NULL && (*front)->prev == NULL)
- {
- *front = (*front)->next;
- free((*front)->prev);
- (*front)->prev = NULL;
- return *front;
- }
- (*front) = znajdz_lekarza(*front, ID);
- struct lekarze *node = *front;
- if ((*front)->ID == ID && (*front)->next != NULL && (*front)->prev != NULL)
- {
- (*front)->next->prev = (*front)->prev;
- (*front)->prev->next = (*front)->next;
- front_back(&(*front));
- free(node);
- return *front;
- }
- if ((*front)->ID == ID && (*front)->next == NULL && (*front)->prev != NULL)
- {
- (*front)->prev->next = NULL;
- front_back(&(*front));
- free(node);
- return *front;
- }
- return NULL;
- }
- ///////////////////////////////////////////////////////////////
- void print_lekarze(struct lekarze *front)
- {
- for (; NULL != front; front = front->next)
- {
- printf("\nID: %d\n",front->ID);
- printf("Nazwisko: %s\n",front->nazwisko);
- printf("Imie: %s\n",front->imie);
- printf("Pesel: %s\n",front->pesel);
- printf("PWZ: %d\n",front->pwz);
- printf("Tytul zawodowy: %s\n",front->tytul);
- printf("Specjalizacja: %s\n",front->specjalizacja);
- printf("E-mail: %s\n",front->mail);
- printf("Telefon: %d\n\n",front->telefon);
- }
- puts("");
- }
- void remove_list_lekarze(struct lekarze **front)
- {
- while (NULL != *front)
- {
- struct lekarze *next = (*front)->next;
- free(*front);
- *front = next;
- }
- }
- void edit_lekarz(struct lekarze *front, int ID, char nazwisko[],char imie[],char pesel[],int pwz,char tytul[],char specjalizacja[],char mail[],int telefon)
- {
- for (; NULL != front; front = front->next)
- {
- if(front->ID == ID)
- {
- strcpy(front->nazwisko,nazwisko);
- strcpy(front->imie,imie);
- strcpy(front->pesel,pesel);
- front->pwz = pwz;
- strcpy(front->tytul,tytul);
- strcpy(front->specjalizacja,specjalizacja);
- strcpy(front->mail,mail);
- front->telefon = telefon;
- break;
- }
- }
- }
- int sprawdz_numer_ID(struct lekarze *front, int numer)
- {
- for (; NULL != front; front = front->next)
- {
- if (front->ID == numer) {
- return 0;
- }
- }
- return 1;
- }
- void save_to_file_lekarze(struct lekarze *front)
- {
- FILE *plik;
- plik = fopen("Lekarze.txt","w+");
- for (; NULL != front; front = front->next)
- {
- fprintf(plik,"ID:%d\n",front->ID);
- fprintf(plik,"Nazwisko:%s\n",front->nazwisko);
- fprintf(plik,"Imie:%s\n",front->imie);
- fprintf(plik,"Pesel:%s\n",front->pesel);
- fprintf(plik,"PWZ:%d\n",front->pwz);
- fprintf(plik,"Tytul zawodowy:%s\n",front->tytul);
- fprintf(plik,"Specjalizacja:%s\n",front->specjalizacja);
- fprintf(plik,"E-Mail:%s\n",front->mail);
- fprintf(plik,"Telefon:%d\n\n",front->telefon);
- }
- printf("\n");
- fclose(plik);
- }
- struct lekarze *load_from_file_lekarze(struct lekarze *front)
- {
- FILE *plik;
- plik = fopen("Lekarze.txt","r");
- if(plik == NULL)
- return front;
- char a;
- char ID [20];
- char nazwisko[20];
- char imie[20];
- char pesel [20];
- char pwz [20];
- char tytul[20];
- char specjalizacja[20];
- char mail[40];
- char telefon[20];
- memset(ID,0,sizeof(ID));
- memset(nazwisko,0,sizeof(ID));
- memset(imie,0,sizeof(ID));
- memset(pesel,0,sizeof(ID));
- memset(pwz,0,sizeof(ID));
- memset(tytul,0,sizeof(ID));
- memset(specjalizacja,0,sizeof(ID));
- memset(mail,0,sizeof(ID));
- memset(telefon,0,sizeof(ID));
- int line=0;
- while(!feof(plik))
- {
- fscanf(plik,"%c",&a);
- if(line==0&&a==':')
- line=1;
- if(line)
- {
- if(ID[0] == 0)
- {
- fgets(ID,20,plik);
- }
- else if(nazwisko[0] == 0)
- {
- fgets(nazwisko,20,plik);
- int len = strlen(nazwisko);
- nazwisko[len-1] = 0;
- }
- else if(imie[0] == 0)
- {
- fgets(imie,20,plik);
- int len = strlen(imie);
- imie[len-1] = 0;
- }
- else if(pesel[0] == 0)
- {
- fgets(pesel,20,plik);
- int len = strlen(pesel);
- pesel[len-1] = 0;
- }
- else if(pwz[0] == 0)
- {
- fgets(pwz,20,plik);
- }
- else if(tytul[0] == 0)
- {
- fgets(tytul,20,plik);
- int len = strlen(tytul);
- tytul[len-1] = 0;
- }
- else if(specjalizacja[0] == 0)
- {
- fgets(specjalizacja,20,plik);
- int len = strlen(specjalizacja);
- specjalizacja[len-1] = 0;
- }
- else if(mail[0] == 0)
- {
- fgets(mail,40,plik);
- int len = strlen(mail);
- mail[len-1] = 0;
- }
- else if(telefon[0] == 0)
- {
- fgets(telefon,20,plik);
- if(front == NULL)
- front = create_list_lekarze(atoi(ID),nazwisko,imie,pesel,atoi(pwz),tytul,specjalizacja,mail,atoi(telefon));
- else
- front = insert_node_lekarze(front,atoi(ID),nazwisko,imie,pesel,atoi(pwz),tytul,specjalizacja,mail,atoi(telefon));
- memset(ID,0,sizeof(ID));
- memset(nazwisko,0,sizeof(nazwisko));
- memset(imie,0,sizeof(imie));
- memset(pesel,0,sizeof(pesel));
- memset(pwz,0,sizeof(pwz));
- memset(tytul,0,sizeof(tytul));
- memset(specjalizacja,0,sizeof(specjalizacja));
- memset(mail,0,sizeof(mail));
- memset(telefon,0,sizeof(telefon));
- }
- }
- if(a==':'||a=='\n')
- line=0;
- }
- fclose(plik);
- return front;
- }
- ////////////////////////////////////////////////////////////////////////
- //Funkcja czyszczaca konsole, sa tutaj funkcje przerwan z wyzej dolaczonej biblioteki windows.h
- void cls()
- {
- HANDLE hStdout;
- hStdout = GetStdHandle( STD_OUTPUT_HANDLE );
- COORD coordScreen = { 0, 0 };
- DWORD cCharsWritten;
- CONSOLE_SCREEN_BUFFER_INFO csbi;
- DWORD dwConSize;
- if( !GetConsoleScreenBufferInfo( hStdout, & csbi ) )
- return;
- dwConSize = csbi.dwSize.X * csbi.dwSize.Y;
- if( !FillConsoleOutputCharacter( hStdout,( TCHAR ) ' ',
- dwConSize, coordScreen, & cCharsWritten ) )
- return;
- if( !GetConsoleScreenBufferInfo( hStdout, & csbi ) )
- return;
- if( !FillConsoleOutputAttribute( hStdout, csbi.wAttributes,
- dwConSize, coordScreen, & cCharsWritten ) )
- return;
- SetConsoleCursorPosition( hStdout, coordScreen );
- }
- /////////////////////////////////////FUNKCJE POMOCNICZE
- bool wybor_tytulu(char tytul[])
- {
- int wybor;
- puts("1)lek.med.");
- puts("2)lek.dent.");
- puts("3)dr n.med.");
- puts("4)dr hab n.med.");
- puts("5)prof. dr hab");
- while(scanf("%d", &wybor) != 1) //dopóki nie uda się wczytać
- {
- //ew. komunikat błędu
- int c;
- while((c = getchar()) != '\n' && c != EOF); //pętla wyciągająca znaki z bufora
- }
- switch(wybor)
- {
- case 1:
- sprintf(tytul,"lek.med.");
- break;
- case 2:
- sprintf(tytul,"lek.dent.");
- break;
- case 3:
- sprintf(tytul,"dr n.med.");
- break;
- case 4:
- sprintf(tytul,"dr hab n.med.");
- break;
- case 5:
- sprintf(tytul,"prof. dr hab");
- break;
- default:
- puts("Bledny wybor");
- return false;
- break;
- }
- return true;
- }
- bool wybor_specjalizacji(char specjalizacja[])
- {
- int wybor;
- puts("1)Nefrologia");
- puts("2)Neurologia");
- puts("3)Okulistyka");
- puts("4)Pediatria");
- puts("5)Psychiatria");
- puts("6)Ortopedia");
- puts("7)Reumatologia");
- puts("8)Urologia");
- puts("9)Stomatologia");
- puts("10)Zdrowie Publiczne");
- while(scanf("%d", &wybor) != 1) //dopóki nie uda się wczytać
- {
- //ew. komunikat błędu
- int c;
- while((c = getchar()) != '\n' && c != EOF); //pętla wyciągająca znaki z bufora
- }
- switch(wybor)
- {
- case 1:
- sprintf(specjalizacja,"Nefrologia");
- break;
- case 2:
- sprintf(specjalizacja,"Neurologia");
- break;
- case 3:
- sprintf(specjalizacja,"Okulistyka");
- break;
- case 4:
- sprintf(specjalizacja,"Pediatria");
- break;
- case 5:
- sprintf(specjalizacja,"Psychiatria");
- break;
- case 6:
- sprintf(specjalizacja,"Ortopedia");
- break;
- case 7:
- sprintf(specjalizacja,"Reumatologia");
- break;
- case 8:
- sprintf(specjalizacja,"Urologia");
- break;
- case 9:
- sprintf(specjalizacja,"Stomatologia");
- break;
- case 10:
- sprintf(specjalizacja,"Zdrowie Publiczne");
- break;
- default:
- puts("Bledny wybor");
- return false;
- break;
- }
- return true;
- }
- void wprowadz_dane_lekarze(char nazwisko[],char imie[],char pesel[],int *pwz,char tytul[],char specjalizacja[],char mail[],int *telefon)
- {
- char bezpieczny_tel[9];
- char bezpieczny_pwz[7];
- int tel;
- int prawo;
- printf("Podaj nazwisko: ");
- scanf("%s",nazwisko);
- printf("Podaj imie: ");
- scanf("%s",imie);
- do {
- printf("Podaj pesel (11cyfr): ");
- scanf("%s",pesel);
- }while(strlen(pesel)!=11);
- do {
- printf("Podaj numer PWZ (7cyfr): ");
- scanf("%s",bezpieczny_pwz);
- if (atoi(bezpieczny_pwz) != 0)
- prawo = atoi(bezpieczny_pwz);
- else
- continue;
- } while((prawo<1000000) || (prawo >9999999));
- *pwz = atoi(bezpieczny_pwz);
- printf("Podaj tytul zawodowy:\n");
- while(!(wybor_tytulu(tytul)));
- printf("Podaj specjalizacje:\n");
- while(!(wybor_specjalizacji(specjalizacja)));
- powrot_mail:
- printf("Podaj adres E-MAIL: ");
- scanf("%s",mail);
- int i;
- int checkmail=0;
- for(i=0;i<40;i++)
- {
- if(mail[i]=='@')
- {
- checkmail = 1;
- break;
- }
- }
- if(checkmail == 0)
- {
- goto powrot_mail;
- }
- do {
- printf("Podaj numer telefonu (9cyfr): ");
- scanf("%s", bezpieczny_tel);
- if (atoi(bezpieczny_tel) != 0)
- tel = atoi(bezpieczny_tel);
- else
- continue;
- } while ((tel < 100000000) || (tel > 999999999));
- *telefon = atoi(bezpieczny_tel);
- }
- /////////////////////////////////////FUNKCJE WYSZUKUJACE
- void print_id(struct lekarze *front, int ID)
- {
- for(; front != NULL; front = front->next)
- {
- if (front->ID == ID)
- {
- printf("ID: %d\n",front->ID);
- printf("Nazwisko: %s\n",front->nazwisko);
- printf("Imie: %s\n",front->imie);
- printf("Pesel: %s\n",front->pesel);
- printf("PWZ: %d\n",front->pwz);
- printf("Tytul zawodowy: %s\n",front->tytul);
- printf("Specjalizacja: %s\n",front->specjalizacja);
- printf("E-mail: %s\n",front->mail);
- printf("Telefon: %d\n\n",front->telefon);
- }
- }
- }
- void print_imie(struct lekarze *front, char imie[], char nazwisko[])
- {
- for(; front != NULL; front = front->next)
- {
- if ((!(strcasecmp(front->imie,imie)))&& (!(strcasecmp(front->nazwisko,nazwisko))))
- {
- printf("ID: %d\n",front->ID);
- printf("Nazwisko: %s\n",front->nazwisko);
- printf("Imie: %s\n",front->imie);
- printf("Pesel: %s\n",front->pesel);
- printf("PWZ: %d\n",front->pwz);
- printf("Tytul zawodowy: %s\n",front->tytul);
- printf("Specjalizacja: %s\n",front->specjalizacja);
- printf("E-mail: %s\n",front->mail);
- printf("Telefon: %d\n\n",front->telefon);
- }
- }
- }
- void print_pesel(struct lekarze *front, char pesel[])
- {
- for(; front != NULL; front = front->next)
- {
- if (!(strcasecmp(front->pesel,pesel)))
- {
- printf("ID: %d\n",front->ID);
- printf("Nazwisko: %s\n",front->nazwisko);
- printf("Imie: %s\n",front->imie);
- printf("Pesel: %s\n",front->pesel);
- printf("PWZ: %d\n",front->pwz);
- printf("Tytul zawodowy: %s\n",front->tytul);
- printf("Specjalizacja: %s\n",front->specjalizacja);
- printf("E-mail: %s\n",front->mail);
- printf("Telefon: %d\n\n",front->telefon);
- }
- }
- }
- void print_pwz(struct lekarze *front, int pwz)
- {
- for(; front != NULL; front = front->next)
- {
- if (front->pwz == pwz)
- {
- printf("ID: %d\n",front->ID);
- printf("Nazwisko: %s\n",front->nazwisko);
- printf("Imie: %s\n",front->imie);
- printf("Pesel: %s\n",front->pesel);
- printf("PWZ: %d\n",front->pwz);
- printf("Tytul zawodowy: %s\n",front->tytul);
- printf("Specjalizacja: %s\n",front->specjalizacja);
- printf("E-mail: %s\n",front->mail);
- printf("Telefon: %d\n\n",front->telefon);
- }
- }
- }
- void print_tytul(struct lekarze *front, char tytul[])
- {
- for(; front != NULL; front = front->next)
- {
- if (!(strcasecmp(front->tytul,tytul)))
- {
- printf("ID: %d\n",front->ID);
- printf("Nazwisko: %s\n",front->nazwisko);
- printf("Imie: %s\n",front->imie);
- printf("Pesel: %s\n",front->pesel);
- printf("PWZ: %d\n",front->pwz);
- printf("Tytul zawodowy: %s\n",front->tytul);
- printf("Specjalizacja: %s\n",front->specjalizacja);
- printf("E-mail: %s\n",front->mail);
- printf("Telefon: %d\n\n",front->telefon);
- }
- }
- }
- void print_specjalizacja(struct lekarze *front, char specjalizacja[])
- {
- for(; front != NULL; front = front->next)
- {
- if (!(strcasecmp(front->specjalizacja,specjalizacja)))
- {
- printf("ID: %d\n",front->ID);
- printf("Nazwisko: %s\n",front->nazwisko);
- printf("Imie: %s\n",front->imie);
- printf("Pesel: %s\n",front->pesel);
- printf("PWZ: %d\n",front->pwz);
- printf("Tytul zawodowy: %s\n",front->tytul);
- printf("Specjalizacja: %s\n",front->specjalizacja);
- printf("E-mail: %s\n",front->mail);
- printf("Telefon: %d\n\n",front->telefon);
- }
- }
- }
- void print_mail(struct lekarze *front, char mail[])
- {
- for(; front != NULL; front = front->next)
- {
- if (!(strcasecmp(front->mail,mail)))
- {
- printf("ID: %d\n",front->ID);
- printf("Nazwisko: %s\n",front->nazwisko);
- printf("Imie: %s\n",front->imie);
- printf("Pesel: %s\n",front->pesel);
- printf("PWZ: %d\n",front->pwz);
- printf("Tytul zawodowy: %s\n",front->tytul);
- printf("Specjalizacja: %s\n",front->specjalizacja);
- printf("E-mail: %s\n",front->mail);
- printf("Telefon: %d\n\n",front->telefon);
- }
- }
- }
- void print_telefon(struct lekarze *front, int telefon)
- {
- for(; front != NULL; front = front->next)
- {
- if (front->telefon == telefon)
- {
- printf("ID: %d\n",front->ID);
- printf("Nazwisko: %s\n",front->nazwisko);
- printf("Imie: %s\n",front->imie);
- printf("Pesel: %s\n",front->pesel);
- printf("PWZ: %d\n",front->pwz);
- printf("Tytul zawodowy: %s\n",front->tytul);
- printf("Specjalizacja: %s\n",front->specjalizacja);
- printf("E-mail: %s\n",front->mail);
- printf("Telefon: %d\n\n",front->telefon);
- }
- }
- }
- //////////////////////POMOCNICZA FUNKCJA WYSZUKUJACA
- bool wyszukiwanie_lekarza(struct lekarze *lekarze_front)
- {
- int wybor;
- char bezpieczny[9];
- char bezpieczny_tel[9];
- int ID;
- char nazwisko[20];
- char imie[20];
- char pesel[20];
- int pwz;
- char tytul[20];
- char specjalizacja[20];
- char mail[40];
- int telefon;
- int back = 0;
- do {
- do {
- cls();
- puts("1.Wyszukaj po id");
- puts("2.Wyszukaj po imieniu i nazwisku");
- puts("3.Wyszukaj po nr PESEL");
- puts("4.Wyszukaj po nr PWZ");
- puts("5.Wyszukaj po tytule zawodowym");
- puts("6.Wyszukaj po specjalizacji");
- puts("7.Wyszukaj po adresie E-Mail");
- puts("8.Wyszukaj po numerze telefonu");
- puts("9.Poprzednie menu");
- scanf("%s", bezpieczny);
- } while (atoi(bezpieczny) == 0);
- wybor = atoi(bezpieczny);
- switch(wybor)
- {
- case 1:
- {
- cls();
- puts("1)Wyszukaj po id\n");
- do {
- printf("Podaj ID lekarza: ");
- scanf("%s",bezpieczny);
- } while (atoi(bezpieczny) == 0);
- ID = atoi(bezpieczny);
- puts("");
- print_id(lekarze_front,ID);
- system("PAUSE");
- return false;
- }
- case 2:
- {
- cls();
- puts("2)Wyszukaj po imieniu i nazwisku\n");
- printf("Podaj imie lekarza: ");
- scanf(" %s",imie);
- printf("Podaj nazwisko lekarza: ");
- scanf(" %s",nazwisko);
- puts("");
- print_imie(lekarze_front,imie,nazwisko);
- system("PAUSE");
- return false;
- }
- case 3:
- {
- cls();
- puts("3)Wyszukaj po nr PESEL\n");
- printf("Podaj PESEL: ");
- scanf("%s",pesel);
- puts("");
- print_pesel(lekarze_front,pesel);
- system("PAUSE");
- return false;
- }
- case 4:
- {
- cls();
- puts("4)Wyszukaj po nr PWZ\n");
- do {
- printf("Podaj nr PWZ: ");
- scanf("%s",bezpieczny);
- } while (atoi(bezpieczny) == 0);
- pwz = atoi(bezpieczny);
- puts("");
- print_pwz(lekarze_front,pwz);
- system("PAUSE");
- return false;
- }
- case 5:
- {
- cls();
- puts("5)Wyszukaj po tytule zawodowym\n");
- printf("Wybierz tytul zawodowy:\n");
- while(!(wybor_tytulu(tytul)));
- print_tytul(lekarze_front,tytul);
- system("PAUSE");
- return false;
- }
- case 6:
- {
- cls();
- puts("6)Wyszukaj po specjalizacji\n");
- printf("Wybierz specjalizacje:\n");
- while(!(wybor_specjalizacji(specjalizacja)));
- print_specjalizacja(lekarze_front,specjalizacja);
- system("PAUSE");
- return false;
- }
- case 7:
- {
- cls();
- puts("7)Wyszukaj po adresie E-Mail\n");
- printf("Podaj adres E-mail: ");
- scanf("%s",mail);
- puts("");
- print_mail(lekarze_front,mail);
- system("PAUSE");
- return false;
- }
- case 8:
- {
- cls();
- puts("8)Wyszukaj po nr telefonu\n");
- do {
- printf("Podaj nt telefonu: ");
- scanf("%s",bezpieczny_tel);
- } while (atoi(bezpieczny_tel) == 0);
- telefon = atoi(bezpieczny_tel);
- puts("");
- print_telefon(lekarze_front,telefon);
- system("PAUSE");
- return false;
- }
- case 9:
- {
- return true;
- }
- }
- }while (back == 0);
- return false;
- }
- //////////////////////////// PACJENCI ////////////////////////////
- struct pacjenci
- {
- int ID;
- char nazwisko[20];
- char imie[20];
- char pesel[20];
- char data_urodzenia[11];// DD/MM/RR
- //ADRES ZAMIESZKANIA
- char ulica[20];
- char numer_domu[20];
- char miasto[20];
- char kod_pocztowy[20];
- char mail[40];
- int telefon;
- int waga; //w kg
- int wzrost; //w cm
- char oddzial_nfz[100];
- struct pacjenci *prev, *next;
- };
- ////////////////////////////DODAWANIE PACJENTOW////////////////////////////
- struct pacjenci *create_list_pacjenci(int ID, char imie[],char nazwisko[],char pesel[],char data_urodzenia[],char miasto[],char ulica[],char numer_domu[],char kod_pocztowy[],
- char mail[],int telefon,int waga, int wzrost, char oddzial_nfz[])
- {
- struct pacjenci *front = (struct pacjenci *)malloc(sizeof(struct pacjenci));
- if (front != NULL)
- {
- front->ID = ID;
- strcpy(front->nazwisko,nazwisko);
- strcpy(front->imie,imie);
- strcpy(front->pesel,pesel);
- strcpy(front->data_urodzenia,data_urodzenia);
- strcpy(front->miasto,miasto);
- strcpy(front->ulica,ulica);
- strcpy(front->numer_domu,numer_domu);
- strcpy(front->kod_pocztowy,kod_pocztowy);
- strcpy(front->mail,mail);
- front->telefon = telefon;
- front->waga = waga;
- front->wzrost = wzrost;
- strcpy(front->oddzial_nfz,oddzial_nfz);
- front->prev = NULL;
- front->next = NULL;
- }
- return front;
- }
- struct pacjenci *insert_front_pacjenci(struct pacjenci *front, struct pacjenci *new_node) {
- new_node->next = front;
- front->prev = new_node;
- return new_node;
- }
- struct pacjenci *find_spot_pacjenci(struct pacjenci *front, int ID) {
- struct pacjenci *prev = NULL;
- while ((NULL != front) && (front->ID < ID))
- {
- prev = front;
- front = front->next;
- }
- return prev;
- }
- void insert_after_pacjenci(struct pacjenci *node, struct pacjenci *new_node) {
- new_node->prev = node;
- new_node->next = node->next;
- node->next->prev = new_node;
- node->next = new_node;
- }
- void insert_back_pacjenci(struct pacjenci *back, struct pacjenci *new_node) {
- back->next = new_node;
- new_node->prev = back;
- }
- struct pacjenci *insert_node_pacjenci(struct pacjenci *front,int ID, char imie[],char nazwisko[],char pesel[],char data_urodzenia[],char miasto[],char ulica[],char numer_domu[],char kod_pocztowy[],
- char mail[],int telefon,int waga, int wzrost, char oddzial_nfz[])
- {
- if (front == NULL)
- return NULL;
- struct pacjenci *new_node = (struct pacjenci*)malloc(sizeof(struct pacjenci));
- if (new_node != NULL)
- {
- new_node->ID = ID;
- strcpy(new_node->nazwisko,nazwisko);
- strcpy(new_node->imie,imie);
- strcpy(new_node->pesel,pesel);
- strcpy(new_node->data_urodzenia,data_urodzenia);
- strcpy(new_node->miasto,miasto);
- strcpy(new_node->ulica,ulica);
- strcpy(new_node->numer_domu,numer_domu);
- strcpy(new_node->kod_pocztowy,kod_pocztowy);
- strcpy(new_node->mail,mail);
- new_node->telefon = telefon;
- new_node->waga = waga;
- new_node->wzrost = wzrost;
- strcpy(new_node->oddzial_nfz,oddzial_nfz);
- new_node->prev = new_node->next = NULL;
- if (front->ID>= ID)
- return insert_front_pacjenci(front, new_node);
- else
- {
- struct pacjenci *node = find_spot_pacjenci(front, ID);
- if (NULL != node->next)
- insert_after_pacjenci(node, new_node);
- else
- insert_back_pacjenci(node, new_node);
- }
- }
- return front;
- }
- ////////////////////////////USUWANIE PACJENTOW////////////////////////////
- struct pacjenci *delete_front_pacjenci(struct pacjenci *front)
- {
- struct pacjenci *next = front->next;
- if (NULL != next)
- next->prev = NULL;
- free(front);
- return next;
- }
- void delete_within_pacjenci(struct pacjenci *node)
- {
- node->next->prev = node->prev;
- node->prev->next = node->next;
- free(node);
- }
- void delete_back_pacjenci(struct pacjenci *back)
- {
- back->prev->next = NULL;
- free(back);
- }
- struct pacjenci *znajdz_pacjenci(struct pacjenci *front, int ID)
- {
- while ((NULL != front) && (front->ID != ID))
- front = front->next;
- return front;
- }
- void front_back_pacjenci(struct pacjenci **front) {
- for (; NULL != (*front)->prev; *front = (*front)->prev)
- {
- }
- }
- struct pacjenci *delete_node_pacjenci(struct pacjenci **front, int ID)
- {
- if ((*front)->ID == ID && (*front)->next == NULL && (*front)->prev == NULL)
- {
- free(*front);
- *front = NULL;
- return *front;
- }
- if ((*front)->ID == ID && (*front)->next != NULL && (*front)->prev == NULL)
- {
- *front = (*front)->next;
- free((*front)->prev);
- (*front)->prev = NULL;
- return *front;
- }
- (*front) = znajdz_pacjenci(*front, ID);
- struct pacjenci *node = *front;
- if ((*front)->ID == ID && (*front)->next != NULL && (*front)->prev != NULL)
- {
- (*front)->next->prev = (*front)->prev;
- (*front)->prev->next = (*front)->next;
- front_back_pacjenci(&(*front));
- free(node);
- return *front;
- }
- if ((*front)->ID == ID && (*front)->next == NULL && (*front)->prev != NULL)
- {
- (*front)->prev->next = NULL;
- front_back_pacjenci(&(*front));
- free(node);
- return *front;
- }
- return NULL;
- }
- ////////////////////////////WYSWIETLANIE PACJENTOW////////////////////////////
- void print_pacjenci(struct pacjenci *list_pointer)
- {
- while(list_pointer)
- {
- printf("ID: %d \n", list_pointer->ID);
- printf("Nazwisko: %s \n", list_pointer->nazwisko);
- printf("Imie: %s \n", list_pointer->imie);
- printf("Pesel: %s \n", list_pointer->pesel);
- printf("Data urodzenia: %s \n", list_pointer->data_urodzenia);
- printf("Miasto: %s \n", list_pointer->miasto);
- printf("Kod_pocztowy: %s \n", list_pointer->kod_pocztowy);
- printf("Ulica: %s \n", list_pointer->ulica);
- printf("Numer_domu: %s \n", list_pointer->numer_domu);
- printf("Mail: %s \n", list_pointer->mail);
- printf("Telefon: %d \n", list_pointer->telefon);
- printf("Waga: %d \n", list_pointer->waga);
- printf("Wzrost: %d \n", list_pointer->wzrost);
- printf("Oddzial_nfz: %s \n", list_pointer->oddzial_nfz);
- puts("");
- list_pointer=list_pointer->next;
- }
- }
- ////////////////////////////EDYTOWANIE PACJENTOW////////////////////////////
- void edit_pacjenci(struct pacjenci *list_pointer,int ID, char imie[],char nazwisko[],char pesel[],char data_urodzenia[],char miasto[],char ulica[],char numer_domu[],char kod_pocztowy[],
- char mail[],int telefon,int waga, int wzrost, char oddzial_nfz[])
- {
- for (; NULL != list_pointer; list_pointer = list_pointer->next)
- {
- if(list_pointer->ID == ID)
- {
- strcpy(list_pointer->nazwisko,nazwisko);
- strcpy(list_pointer->imie,imie);
- strcpy(list_pointer->pesel,pesel);
- strcpy(list_pointer->data_urodzenia,data_urodzenia);
- strcpy(list_pointer->miasto,miasto);
- strcpy(list_pointer->ulica,ulica);
- strcpy(list_pointer->numer_domu,numer_domu);
- strcpy(list_pointer->kod_pocztowy,kod_pocztowy);
- strcpy(list_pointer->mail,mail);
- list_pointer->telefon=telefon;
- list_pointer->waga=waga;
- list_pointer->wzrost=wzrost;
- strcpy(list_pointer->oddzial_nfz,oddzial_nfz);
- break;
- }
- }
- }
- ////////////////////////////ZAPIS DANYCH PACJENTOW////////////////////////////
- void save_to_file_pacjenci(struct pacjenci *front)
- {
- FILE *plik;
- plik = fopen("Pacjenci.txt","w+");
- for (; NULL != front; front = front->next)
- {
- fprintf(plik,"ID:%d\n",front->ID);
- fprintf(plik,"Nazwisko:%s\n",front->nazwisko);
- fprintf(plik,"Imie:%s\n",front->imie);
- fprintf(plik,"Pesel:%s\n",front->pesel);
- fprintf(plik,"Data urodzenia:%s\n",front->data_urodzenia);
- fprintf(plik,"Ulica:%s\n",front->ulica);
- fprintf(plik,"Numer domu:%s\n",front->numer_domu);
- fprintf(plik,"Miasto:%s\n",front->miasto);
- fprintf(plik,"Kod pocztowy:%s\n",front->kod_pocztowy);
- fprintf(plik,"E-Mail:%s\n",front->mail);
- fprintf(plik,"Telefon:%d\n",front->telefon);
- fprintf(plik,"Waga:%d\n",front->waga);
- fprintf(plik,"Wzrost:%d\n",front->wzrost);
- fprintf(plik,"Oddzial NFZ:%s\n\n",front->oddzial_nfz);
- }
- printf("\n");
- fclose(plik);
- }
- struct pacjenci *load_from_file_pacjenci(struct pacjenci *front)
- {
- FILE *plik;
- plik = fopen("Pacjenci.txt","r");
- if(plik == NULL)
- return front;
- char a;
- char ID[20];
- char nazwisko[20];
- char imie[20];
- char pesel[20];
- char data_urodzenia[20];
- char ulica[20];
- char numer_domu[20];
- char miasto[20];
- char kod_pocztowy[20];
- char mail[40];
- char telefon[20];
- char waga[20];
- char wzrost[20];
- char oddzial_nfz[90];
- memset(ID,0,sizeof(ID));
- memset(nazwisko,0,sizeof(ID));
- memset(imie,0,sizeof(ID));
- memset(pesel,0,sizeof(ID));
- memset(data_urodzenia,0,sizeof(ID));
- memset(ulica,0,sizeof(ID));
- memset(numer_domu,0,sizeof(ID));
- memset(miasto,0,sizeof(ID));
- memset(kod_pocztowy,0,sizeof(ID));
- memset(mail,0,sizeof(ID));
- memset(telefon,0,sizeof(ID));
- memset(waga,0,sizeof(ID));
- memset(wzrost,0,sizeof(ID));
- memset(oddzial_nfz,0,sizeof(ID));
- int line=0;
- while(!feof(plik))
- {
- fscanf(plik,"%c",&a);
- if(line==0&&a==':')
- line=1;
- if(line)
- {
- if(ID[0] == 0)
- {
- fgets(ID,20,plik);
- }
- else if(nazwisko[0] == 0)
- {
- fgets(nazwisko,20,plik);
- int len = strlen(nazwisko);
- nazwisko[len-1] = 0;
- }
- else if(imie[0] == 0)
- {
- fgets(imie,20,plik);
- int len = strlen(imie);
- imie[len-1] = 0;
- }
- else if(pesel[0] == 0)
- {
- fgets(pesel,20,plik);
- int len = strlen(pesel);
- pesel[len-1] = 0;
- }
- else if(data_urodzenia[0] == 0)
- {
- fgets(data_urodzenia,20,plik);
- int len = strlen(data_urodzenia);
- data_urodzenia[len-1] = 0;
- }
- else if(ulica[0] == 0)
- {
- fgets(ulica,20,plik);
- int len = strlen(ulica);
- ulica[len-1] = 0;
- }
- else if(numer_domu[0] == 0)
- {
- fgets(numer_domu,20,plik);
- int len = strlen(numer_domu);
- numer_domu[len-1] = 0;
- }
- else if(miasto[0] == 0)
- {
- fgets(miasto,20,plik);
- int len = strlen(miasto);
- miasto[len-1] = 0;
- }
- else if(kod_pocztowy[0] == 0)
- {
- fgets(kod_pocztowy,20,plik);
- int len = strlen(kod_pocztowy);
- kod_pocztowy[len-1] = 0;
- }
- else if(mail[0] == 0)
- {
- fgets(mail,40,plik);
- int len = strlen(mail);
- mail[len-1] = 0;
- }
- else if(telefon[0] == 0)
- {
- fgets(telefon,20,plik);
- }
- else if(waga[0] == 0)
- {
- fgets(waga,20,plik);
- }
- else if(wzrost[0] == 0)
- {
- fgets(wzrost,20,plik);
- }
- else if(oddzial_nfz[0] == 0)
- {
- fgets(oddzial_nfz,90,plik);
- int len = strlen(oddzial_nfz);
- oddzial_nfz[len-1] = 0;
- if(front == NULL)
- front = create_list_pacjenci(atoi(ID),imie,nazwisko,pesel,data_urodzenia,miasto,ulica,numer_domu,kod_pocztowy,mail,atoi(telefon),atoi(waga),atoi(wzrost),oddzial_nfz);
- else
- front = insert_node_pacjenci(front,atoi(ID),imie,nazwisko,pesel,data_urodzenia,miasto,ulica,numer_domu,kod_pocztowy,mail,atoi(telefon),atoi(waga),atoi(wzrost),oddzial_nfz);
- memset(ID,0,sizeof(ID));
- memset(nazwisko,0,sizeof(nazwisko));
- memset(imie,0,sizeof(imie));
- memset(pesel,0,sizeof(pesel));
- memset(data_urodzenia,0,sizeof(data_urodzenia));
- memset(ulica,0,sizeof(ulica));
- memset(numer_domu,0,sizeof(numer_domu));
- memset(miasto,0,sizeof(miasto));
- memset(kod_pocztowy,0,sizeof(kod_pocztowy));
- memset(mail,0,sizeof(mail));
- memset(telefon,0,sizeof(telefon));
- memset(waga,0,sizeof(waga));
- memset(wzrost,0,sizeof(wzrost));
- memset(oddzial_nfz,0,sizeof(oddzial_nfz));
- }
- }
- if(a==':'||a=='\n')
- line=0;
- }
- fclose(plik);
- return front;
- }
- ////////////////////////////FUNCKE SPRAWDZAJACE-PACJENCI////////////////////////////
- bool sprawdz_numer_ID_pacjenci(struct pacjenci *front, int numer)//ISTNIEJE W GLOWNYM PROGRAMIE
- {
- for (; NULL != front; front = front->next)
- {
- if (front->ID == numer) {
- return true;
- }
- }
- return false;
- }
- bool sprawdz_lancuch_znakow(char lancuch[])
- {
- int i;
- for(i=0;i<strlen(lancuch);i++)
- {
- if(!((lancuch[i]>=65 && lancuch[i]<=90) || (lancuch[i]>=97 && lancuch[i]<=122)))
- return false;
- if(lancuch[0]>=97 && lancuch[0]<=122)//32
- lancuch[0]=lancuch[0]-32;//zamiana pierwszej malej litery na duza
- }
- return true;
- }
- ////////////////////////////FUNKCJE POMOCNICZE////////////////////////////
- bool wybor_oddzialu(char oddzial_nfz[])
- {
- int wybor;
- puts("1) Dolnoslaski Oddzial Wojewodzki NFZ");
- puts("2) Kujawsko-Pomorski Oddzial Wojewodzki NFZ");
- puts("3) Lubelski Oddzial Wojewodzki NFZ");
- puts("4) Lubuski Oddzial Wojewodzki NFZ");
- puts("5) Lodzki Oddzial Wojewodzki NFZ");
- puts("6) Malopolski Oddzial Wojewodzki NFZ");
- puts("7) Mazowiecki Oddzial Wojewodzki NFZ");
- puts("8) Opolski Oddzial Wojewodzki NFZ");
- puts("9) Podkarpacki Oddzial Wojewodzki NFZ");
- puts("10) Podlaski Oddzial Wojewodzki NFZ");
- puts("11) Pomorski Oddzial Wojewodzki NFZ");
- puts("12) Slaski Oddzial Wojewodzki NFZ");
- puts("13) Swietokrzyski Oddzial Wojewodzki NFZ");
- puts("14) Warminsko-Mazurski Oddzial Wojewodzki NFZ");
- puts("15) Wielkopolski Oddzial Wojewodzki NFZ");
- puts("16) Zachodniopomorski Oddzial Wojewodzki NFZ");
- while(scanf("%d", &wybor) != 1) //dopóki nie uda się wczytać
- {
- //ew. komunikat błędu
- int c;
- while((c = getchar()) != '\n' && c != EOF); //pętla wyciągająca znaki z bufora
- }
- switch(wybor)
- {
- case 1:
- sprintf(oddzial_nfz,"Dolnoslaski Oddzial Wojewodzki NFZ");
- break;
- case 2:
- sprintf(oddzial_nfz,"Kujawsko-Pomorski Oddzial Wojewodzki NFZ");
- break;
- case 3:
- sprintf(oddzial_nfz,"Lubelski Oddzial Wojewodzki NFZ");
- break;
- case 4:
- sprintf(oddzial_nfz,"Lubuski Oddzial Wojewodzki NFZ");
- break;
- case 5:
- sprintf(oddzial_nfz,"Lodzki Oddzial Wojewodzki NFZ");
- break;
- case 6:
- sprintf(oddzial_nfz,"Malopolski Oddzial Wojewodzki NFZ");
- break;
- case 7:
- sprintf(oddzial_nfz,"Mazowiecki Oddzial Wojewodzki NFZ");
- break;
- case 8:
- sprintf(oddzial_nfz,"Opolski Oddzial Wojewodzki NFZ");
- break;
- case 9:
- sprintf(oddzial_nfz,"Podkarpacki Oddzial Wojewodzki NFZ");
- break;
- case 10:
- sprintf(oddzial_nfz,"Podlaski Oddzial Wojewodzki NFZ");
- break;
- case 11:
- sprintf(oddzial_nfz,"Pomorski Oddzial Wojewodzki NFZ");
- break;
- case 12:
- sprintf(oddzial_nfz,"Slaski Oddzial Wojewodzki NFZ");
- break;
- case 13:
- sprintf(oddzial_nfz,"Swietokrzyski Oddzial Wojewodzki NFZ");
- break;
- case 14:
- sprintf(oddzial_nfz,"Warminsko-Mazurski Oddzial Wojewodzki NFZ");
- break;
- case 15:
- sprintf(oddzial_nfz,"Wielkopolski Oddzial Wojewodzki NFZ");
- break;
- case 16:
- sprintf(oddzial_nfz,"Zachodniopomorski Oddzial Wojewodzki NFZ");
- break;
- default:
- puts("Bledny wybor");
- return false;
- break;
- }
- return true;
- }
- void wprowadz_dane_pacjenci(char imie[],char nazwisko[],char pesel[],char data_urodzenia[],char miasto[],char ulica[],char numer_domu[],char kod_pocztowy[],
- char mail[],int *telefon,int *waga, int *wzrost, char oddzial_nfz[])
- {
- char bezpieczny[9];
- do
- {
- printf("Podaj nazwisko: ");
- scanf("%s", nazwisko);
- }while(!sprawdz_lancuch_znakow(nazwisko));
- do
- {
- printf("Podaj imie: ");
- scanf("%s", imie);
- }while(!sprawdz_lancuch_znakow(imie));
- do
- {
- printf("Podaj pesel (11cyfr): ");
- scanf("%s",pesel);
- }while(strlen(pesel)!=11);
- do
- {
- do
- {
- printf("Podaj date urodzenia: ");
- scanf("%s", data_urodzenia);
- }while(strlen(data_urodzenia)!=10);
- if(!(data_urodzenia[2]=='/' && data_urodzenia[5]=='/' && data_urodzenia[2]=='/'))
- {
- puts("Zly format daty, poprawny to DD/MM/RRRR");
- }
- }while(!(data_urodzenia[2]=='/' && data_urodzenia[5]=='/' && data_urodzenia[2]=='/'));
- do
- {
- printf("Podaj ulice zamieszkania: ");
- scanf("%s", ulica);
- }while(!sprawdz_lancuch_znakow(ulica));
- printf("Podaj numer domu: ");//ZABEZPIECZYC
- scanf("%s", numer_domu);
- do
- {
- printf("Podaj miasto zamieszkania: ");
- scanf("%s", miasto);
- }while(!sprawdz_lancuch_znakow(miasto));
- do
- {
- do
- {
- printf("Podaj kod pocztowy: ");
- scanf("%s", kod_pocztowy);
- }while(strlen(kod_pocztowy)!=6);
- if(kod_pocztowy[2] != '-')
- puts("Zly format kodu pocztowego, wlasciwy to XX-XXX");
- }while(kod_pocztowy[2] != '-');
- powrot_mail:
- printf("Podaj adres E-MAIL: ");
- scanf("%s",mail);
- int i;
- int checkmail=0;
- for(i=0;i<strlen(mail);i++)
- {
- if(mail[i]=='@')
- {
- checkmail = 1;
- break;
- }
- }
- if(checkmail == 0)
- {
- goto powrot_mail;
- }
- do
- {
- printf("Podaj numer telefonu (9cyfr): ");
- scanf("%s", bezpieczny);
- if (atoi(bezpieczny) != 0)
- *telefon = atoi(bezpieczny);
- else
- continue;
- } while ((*telefon < 100000000) || (*telefon > 999999999));
- do
- {
- printf("Podaj wage w kilogramach: ");
- scanf("%s", bezpieczny);
- }while(atoi(bezpieczny) == 0);
- *waga=atoi(bezpieczny);
- do
- {
- printf("Podaj wzrost w centymetrach: ");
- scanf("%s", bezpieczny);
- }while(atoi(bezpieczny) == 0);
- *wzrost=atoi(bezpieczny);
- printf("Wybierz oddzial NFZ pacjetna: \n\n");
- while(!(wybor_oddzialu(oddzial_nfz)));
- }
- ////////////////////////////FUNCKE WYSZUKUJACE PACJENTOW////////////////////////////
- void print_id_pacjenci(struct pacjenci *list_pointer, int ID)
- {
- for(; list_pointer != NULL; list_pointer = list_pointer->next)
- {
- if (list_pointer->ID == ID)
- {
- printf("ID: %d \n", list_pointer->ID);
- printf("Nazwisko: %s \n", list_pointer->nazwisko);
- printf("Imie: %s \n", list_pointer->imie);
- printf("Pesel: %s \n", list_pointer->pesel);
- printf("Data urodzenia: %s \n", list_pointer->data_urodzenia);
- printf("Miasto: %s \n", list_pointer->miasto);
- printf("Kod_pocztowy: %s \n", list_pointer->kod_pocztowy);
- printf("Ulica: %s \n", list_pointer->ulica);
- printf("Numer_domu: %s \n", list_pointer->numer_domu);
- printf("Mail: %s \n", list_pointer->mail);
- printf("Telefon: %d \n", list_pointer->telefon);
- printf("Waga: %d \n", list_pointer->waga);
- printf("Wzrost: %d \n", list_pointer->wzrost);
- printf("Oddzial_nfz: %s \n", list_pointer->oddzial_nfz);
- puts("");
- }
- }
- }
- void print_imie_nazwisko_pacjenci(struct pacjenci *list_pointer, char imie[], char nazwisko[])
- {
- for(; list_pointer != NULL; list_pointer = list_pointer->next)
- {
- if ((!(strcasecmp(list_pointer->imie,imie)))&& (!(strcasecmp(list_pointer->nazwisko,nazwisko))))
- {
- printf("ID: %d \n", list_pointer->ID);
- printf("Nazwisko: %s \n", list_pointer->nazwisko);
- printf("Imie: %s \n", list_pointer->imie);
- printf("Pesel: %s \n", list_pointer->pesel);
- printf("Data urodzenia: %s \n", list_pointer->data_urodzenia);
- printf("Miasto: %s \n", list_pointer->miasto);
- printf("Kod_pocztowy: %s \n", list_pointer->kod_pocztowy);
- printf("Ulica: %s \n", list_pointer->ulica);
- printf("Numer_domu: %s \n", list_pointer->numer_domu);
- printf("Mail: %s \n", list_pointer->mail);
- printf("Telefon: %d \n", list_pointer->telefon);
- printf("Waga: %d \n", list_pointer->waga);
- printf("Wzrost: %d \n", list_pointer->wzrost);
- printf("Oddzial_nfz: %s \n", list_pointer->oddzial_nfz);
- puts("");
- }
- }
- }
- void print_pesel_pacjenci(struct pacjenci *list_pointer, char pesel[])
- {
- for(; list_pointer != NULL; list_pointer = list_pointer->next)
- {
- if (!(strcasecmp(list_pointer->pesel,pesel)))
- {
- printf("ID: %d \n", list_pointer->ID);
- printf("Nazwisko: %s \n", list_pointer->nazwisko);
- printf("Imie: %s \n", list_pointer->imie);
- printf("Pesel: %s \n", list_pointer->pesel);
- printf("Data urodzenia: %s \n", list_pointer->data_urodzenia);
- printf("Miasto: %s \n", list_pointer->miasto);
- printf("Kod_pocztowy: %s \n", list_pointer->kod_pocztowy);
- printf("Ulica: %s \n", list_pointer->ulica);
- printf("Numer_domu: %s \n", list_pointer->numer_domu);
- printf("Mail: %s \n", list_pointer->mail);
- printf("Telefon: %d \n", list_pointer->telefon);
- printf("Waga: %d \n", list_pointer->waga);
- printf("Wzrost: %d \n", list_pointer->wzrost);
- printf("Oddzial_nfz: %s \n", list_pointer->oddzial_nfz);
- puts("");
- }
- }
- }
- void print_data_urodzenia_pacjenci(struct pacjenci *list_pointer, char data_urodzenia[])
- {
- for(; list_pointer != NULL; list_pointer = list_pointer->next)
- {
- if (!(strcasecmp(list_pointer->data_urodzenia,data_urodzenia)))
- {
- printf("ID: %d \n", list_pointer->ID);
- printf("Nazwisko: %s \n", list_pointer->nazwisko);
- printf("Imie: %s \n", list_pointer->imie);
- printf("Pesel: %s \n", list_pointer->pesel);
- printf("Data urodzenia: %s \n", list_pointer->data_urodzenia);
- printf("Miasto: %s \n", list_pointer->miasto);
- printf("Kod_pocztowy: %s \n", list_pointer->kod_pocztowy);
- printf("Ulica: %s \n", list_pointer->ulica);
- printf("Numer_domu: %s \n", list_pointer->numer_domu);
- printf("Mail: %s \n", list_pointer->mail);
- printf("Telefon: %d \n", list_pointer->telefon);
- printf("Waga: %d \n", list_pointer->waga);
- printf("Wzrost: %d \n", list_pointer->wzrost);
- printf("Oddzial_nfz: %s \n", list_pointer->oddzial_nfz);
- puts("");
- }
- }
- }
- void print_miejsce_zamieszkania_pacjenci(struct pacjenci *list_pointer, char miasto[], char ulica[], char numer_domu[],char kod_pocztowy[])
- {
- for(; list_pointer != NULL; list_pointer = list_pointer->next)
- {
- if ((!(strcasecmp(list_pointer->miasto,miasto)))&& (!(strcasecmp(list_pointer->ulica,ulica)))&& (!(strcasecmp(list_pointer->numer_domu,numer_domu)))&&(!(strcasecmp(list_pointer->kod_pocztowy,kod_pocztowy))))
- {
- printf("ID: %d \n", list_pointer->ID);
- printf("Nazwisko: %s \n", list_pointer->nazwisko);
- printf("Imie: %s \n", list_pointer->imie);
- printf("Pesel: %s \n", list_pointer->pesel);
- printf("Data urodzenia: %s \n", list_pointer->data_urodzenia);
- printf("Miasto: %s \n", list_pointer->miasto);
- printf("Kod_pocztowy: %s \n", list_pointer->kod_pocztowy);
- printf("Ulica: %s \n", list_pointer->ulica);
- printf("Numer_domu: %s \n", list_pointer->numer_domu);
- printf("Mail: %s \n", list_pointer->mail);
- printf("Telefon: %d \n", list_pointer->telefon);
- printf("Waga: %d \n", list_pointer->waga);
- printf("Wzrost: %d \n", list_pointer->wzrost);
- printf("Oddzial_nfz: %s \n", list_pointer->oddzial_nfz);
- puts("");
- }
- }
- }
- void print_mail_pacjenci(struct pacjenci *list_pointer, char mail[])
- {
- for(; list_pointer != NULL; list_pointer = list_pointer->next)
- {
- if (!(strcasecmp(list_pointer->mail,mail)))
- {
- printf("ID: %d \n", list_pointer->ID);
- printf("Nazwisko: %s \n", list_pointer->nazwisko);
- printf("Imie: %s \n", list_pointer->imie);
- printf("Pesel: %s \n", list_pointer->pesel);
- printf("Data urodzenia: %s \n", list_pointer->data_urodzenia);
- printf("Miasto: %s \n", list_pointer->miasto);
- printf("Kod_pocztowy: %s \n", list_pointer->kod_pocztowy);
- printf("Ulica: %s \n", list_pointer->ulica);
- printf("Numer_domu: %s \n", list_pointer->numer_domu);
- printf("Mail: %s \n", list_pointer->mail);
- printf("Telefon: %d \n", list_pointer->telefon);
- printf("Waga: %d \n", list_pointer->waga);
- printf("Wzrost: %d \n", list_pointer->wzrost);
- printf("Oddzial_nfz: %s \n", list_pointer->oddzial_nfz);
- puts("");
- }
- }
- }
- void print_telefon_pacjenci(struct pacjenci *list_pointer, int telefon)
- {
- for(; list_pointer != NULL; list_pointer = list_pointer->next)
- {
- if (list_pointer->telefon == telefon)
- {
- printf("ID: %d \n", list_pointer->ID);
- printf("Nazwisko: %s \n", list_pointer->nazwisko);
- printf("Imie: %s \n", list_pointer->imie);
- printf("Pesel: %s \n", list_pointer->pesel);
- printf("Data urodzenia: %s \n", list_pointer->data_urodzenia);
- printf("Miasto: %s \n", list_pointer->miasto);
- printf("Kod_pocztowy: %s \n", list_pointer->kod_pocztowy);
- printf("Ulica: %s \n", list_pointer->ulica);
- printf("Numer_domu: %s \n", list_pointer->numer_domu);
- printf("Mail: %s \n", list_pointer->mail);
- printf("Telefon: %d \n", list_pointer->telefon);
- printf("Waga: %d \n", list_pointer->waga);
- printf("Wzrost: %d \n", list_pointer->wzrost);
- printf("Oddzial_nfz: %s \n", list_pointer->oddzial_nfz);
- puts("");
- }
- }
- }
- void print_waga_pacjenci(struct pacjenci *list_pointer, int waga)
- {
- for(; list_pointer != NULL; list_pointer = list_pointer->next)
- {
- if (list_pointer->waga == waga)
- {
- printf("ID: %d \n", list_pointer->ID);
- printf("Nazwisko: %s \n", list_pointer->nazwisko);
- printf("Imie: %s \n", list_pointer->imie);
- printf("Pesel: %s \n", list_pointer->pesel);
- printf("Data urodzenia: %s \n", list_pointer->data_urodzenia);
- printf("Miasto: %s \n", list_pointer->miasto);
- printf("Kod_pocztowy: %s \n", list_pointer->kod_pocztowy);
- printf("Ulica: %s \n", list_pointer->ulica);
- printf("Numer_domu: %s \n", list_pointer->numer_domu);
- printf("Mail: %s \n", list_pointer->mail);
- printf("Telefon: %d \n", list_pointer->telefon);
- printf("Waga: %d \n", list_pointer->waga);
- printf("Wzrost: %d \n", list_pointer->wzrost);
- printf("Oddzial_nfz: %s \n", list_pointer->oddzial_nfz);
- puts("");
- }
- }
- }
- void print_wzrost_pacjenci(struct pacjenci *list_pointer, int wzrost)
- {
- for(; list_pointer != NULL; list_pointer = list_pointer->next)
- {
- if (list_pointer->wzrost == wzrost)
- {
- printf("ID: %d \n", list_pointer->ID);
- printf("Nazwisko: %s \n", list_pointer->nazwisko);
- printf("Imie: %s \n", list_pointer->imie);
- printf("Pesel: %s \n", list_pointer->pesel);
- printf("Data urodzenia: %s \n", list_pointer->data_urodzenia);
- printf("Miasto: %s \n", list_pointer->miasto);
- printf("Kod_pocztowy: %s \n", list_pointer->kod_pocztowy);
- printf("Ulica: %s \n", list_pointer->ulica);
- printf("Numer_domu: %s \n", list_pointer->numer_domu);
- printf("Mail: %s \n", list_pointer->mail);
- printf("Telefon: %d \n", list_pointer->telefon);
- printf("Waga: %d \n", list_pointer->waga);
- printf("Wzrost: %d \n", list_pointer->wzrost);
- printf("Oddzial_nfz: %s \n", list_pointer->oddzial_nfz);
- puts("");
- }
- }
- }
- void print_oddzial_nfz_pacjenci(struct pacjenci *list_pointer, char oddzial_nfz[])
- {
- for(; list_pointer != NULL; list_pointer = list_pointer->next)
- {
- if (!(strcasecmp(list_pointer->oddzial_nfz,oddzial_nfz)))
- {
- printf("ID: %d \n", list_pointer->ID);
- printf("Nazwisko: %s \n", list_pointer->nazwisko);
- printf("Imie: %s \n", list_pointer->imie);
- printf("Pesel: %s \n", list_pointer->pesel);
- printf("Data urodzenia: %s \n", list_pointer->data_urodzenia);
- printf("Miasto: %s \n", list_pointer->miasto);
- printf("Kod_pocztowy: %s \n", list_pointer->kod_pocztowy);
- printf("Ulica: %s \n", list_pointer->ulica);
- printf("Numer_domu: %s \n", list_pointer->numer_domu);
- printf("Mail: %s \n", list_pointer->mail);
- printf("Telefon: %d \n", list_pointer->telefon);
- printf("Waga: %d \n", list_pointer->waga);
- printf("Wzrost: %d \n", list_pointer->wzrost);
- printf("Oddzial_nfz: %s \n", list_pointer->oddzial_nfz);
- puts("");
- }
- }
- }
- bool wyszukiwanie_pacjenta(struct pacjenci *pacjenci_front)
- {
- int ID;
- char nazwisko[20];
- char imie[20];
- char pesel[20];
- char data_urodzenia[11];
- char ulica[20];
- char numer_domu[20];
- char miasto[20];
- char kod_pocztowy[20];
- char mail[40];
- int telefon;
- int waga; //w kg
- int wzrost; //w cm
- char oddzial_nfz[100];
- char bezpieczny[10];
- int wybor;
- do
- {
- system("cls");
- puts("1.Wyszukaj po id");
- puts("2.Wyszukaj po imieniu i nazwisku");
- puts("3.Wyszukaj po nr PESEL");
- puts("4.Wyszukaj po dacie urodzenia");
- puts("5.Wyszukaj po miejscu zamieszkania");
- puts("6.Wyszukaj po adresie E-Mail");
- puts("7.Wyszukaj po numerze telefonu");
- puts("8.Wyszukaj po wadze");
- puts("9.Wyszukaj po wzroscie");
- puts("10.Wyszukaj po oddziale NFZ");
- puts("11.Poprzednie menu");
- scanf("%s", bezpieczny);
- }while (atoi(bezpieczny) == 0);
- wybor = atoi(bezpieczny);
- switch(wybor)
- {
- case 1:
- {
- cls();
- puts("1.Wyszukaj po id\n");
- do
- {
- printf("Podaj ID pacjenta: ");
- scanf("%s",bezpieczny);
- }while (atoi(bezpieczny) == 0);
- ID = atoi(bezpieczny);
- puts("");
- print_id_pacjenci(pacjenci_front,ID);
- system("PAUSE");
- return false;
- }
- case 2:
- {
- cls();
- puts("2.Wyszukaj po imieniu i nazwisku\n");
- do
- {
- printf("Podaj nazwisko: ");
- scanf("%s", nazwisko);
- }while(!sprawdz_lancuch_znakow(nazwisko));
- do
- {
- printf("Podaj imie: ");
- scanf("%s", imie);
- }while(!sprawdz_lancuch_znakow(imie));
- print_imie_nazwisko_pacjenci(pacjenci_front,imie,nazwisko);
- system("PAUSE");
- return false;
- }
- case 3:
- {
- cls();
- puts("3.Wyszukaj po nr PESEL\n");
- do
- {
- printf("Podaj pesel (11cyfr): ");
- scanf("%s",pesel);
- }while(strlen(pesel)!=11);
- print_pesel_pacjenci(pacjenci_front,pesel);
- system("PAUSE");
- return false;
- }
- case 4:
- {
- cls();
- puts("4.Wyszukaj po dacie urodzenia\n");
- do
- {
- do
- {
- printf("Podaj date urodzenia: ");
- scanf("%s", data_urodzenia);
- }while(strlen(data_urodzenia)!=10);
- if(!(data_urodzenia[2]=='/' && data_urodzenia[5]=='/' && data_urodzenia[2]=='/'))
- {
- puts("Zly format daty, poprawny to DD/MM/RRRR");
- }
- }while(!(data_urodzenia[2]=='/' && data_urodzenia[5]=='/' && data_urodzenia[2]=='/'));
- print_data_urodzenia_pacjenci(pacjenci_front,data_urodzenia);
- system("PAUSE");
- return false;
- }
- case 5:
- {
- cls();
- puts("5.Wyszukaj po miejscu zamieszkania\n");
- do
- {
- printf("Podaj ulice zamieszkania: ");
- scanf("%s", ulica);
- }while(!sprawdz_lancuch_znakow(ulica));
- printf("Podaj numer domu: ");
- scanf("%s", numer_domu);
- do
- {
- printf("Podaj miasto zamieszkania: ");
- scanf("%s", miasto);
- }while(!sprawdz_lancuch_znakow(miasto));
- do
- {
- do
- {
- printf("Podaj kod pocztowy: ");
- scanf("%s", kod_pocztowy);
- }while(strlen(kod_pocztowy)!=6);
- if(kod_pocztowy[2] != '-')
- puts("Zly format kodu pocztowego, wlasciwy to XX-XXX");
- }while(kod_pocztowy[2] != '-');
- print_miejsce_zamieszkania_pacjenci(pacjenci_front,miasto,ulica,numer_domu,kod_pocztowy);
- system("PAUSE");
- return false;
- }
- case 6:
- {
- cls();
- puts("6.Wyszukaj po adresie E-Mail\n");
- powrot_mail_pacjent:
- printf("Podaj adres E-MAIL: ");
- scanf("%s",mail);
- int i;
- int checkmail=0;
- for(i=0;i<strlen(mail);i++)
- {
- if(mail[i]=='@')
- {
- checkmail = 1;
- break;
- }
- }
- if(checkmail == 0)
- {
- goto powrot_mail_pacjent;
- }
- print_mail_pacjenci(pacjenci_front,mail);
- system("PAUSE");
- return false;
- }
- case 7:
- {
- cls();
- puts("7.Wyszukaj po numerze telefonu\n");
- do
- {
- printf("Podaj numer telefonu (9cyfr): ");
- scanf("%s", bezpieczny);
- if (atoi(bezpieczny) != 0)
- telefon = atoi(bezpieczny);
- else
- continue;
- } while ((telefon < 100000000) || (telefon > 999999999));
- print_telefon_pacjenci(pacjenci_front,telefon);
- system("PAUSE");
- return false;
- }
- case 8:
- {
- cls();
- puts("8.Wyszukaj po wadze\n");
- do
- {
- printf("Podaj wage w kilogramach: ");
- scanf("%s", bezpieczny);
- }while(atoi(bezpieczny) == 0);
- waga=atoi(bezpieczny);
- print_waga_pacjenci(pacjenci_front,waga);
- system("PAUSE");
- return false;
- }
- case 9:
- {
- cls();
- puts("9.Wyszukaj po wzroscie\n");
- do
- {
- printf("Podaj wzrost w centymetrach: ");
- scanf("%s", bezpieczny);
- }while(atoi(bezpieczny) == 0);
- wzrost=atoi(bezpieczny);
- print_wzrost_pacjenci(pacjenci_front,wzrost);
- system("PAUSE");
- return false;
- }
- case 10:
- {
- cls();
- puts("10.Wyszukaj po oddziale NFZ\n");
- puts("Podaj oddzial NFZ");
- while(!wybor_oddzialu(oddzial_nfz));
- print_oddzial_nfz_pacjenci(pacjenci_front,oddzial_nfz);
- system("PAUSE");
- return false;
- }
- case 11:
- {
- return true;
- }
- }
- return false;
- }
- ////////////////////////------------PROGRAM GLOWNY-------------------------------------------
- int main()
- {
- struct lekarze *lekarze_front = NULL;
- struct pacjenci *pacjenci_front = NULL;
- int wybor;
- char bezpieczny[9];
- int ID;
- char nazwisko[20];
- char imie[20];
- char pesel[20];
- int pwz;
- char tytul[20];
- char specjalizacja[20];
- char mail[40];
- int telefon;
- char data_urodzenia[11];// DD/MM/RR
- char ulica[20];
- char numer_domu[20];
- char miasto[20];
- char kod_pocztowy[20];
- int waga; //w kg
- int wzrost; //w cm
- char oddzial_nfz[100];
- lekarze_front = load_from_file_lekarze(lekarze_front);
- pacjenci_front = load_from_file_pacjenci(pacjenci_front);
- do
- {
- do {
- cls(); // funkcja wyczysci ekran po kazdej iteracji (estetyka)
- SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),14);
- puts("WITAMY W PRZYCHODNII");
- puts("-------------------------------------------------------");
- SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),15);
- puts("1)Lekarze");
- puts("2)Pacjenci");
- puts("3)Rejestracja Pacjenta");
- puts("9)Wyjscie");
- scanf("%s", bezpieczny);
- } while (atoi(bezpieczny) == 0); //bardzo cenny trick, wprowadzenie znaku nie zakonczy programu to samo zastosuje w kazdej zmiennej int
- wybor = atoi(bezpieczny);
- switch(wybor)
- {
- case 1:
- {
- int back = 0;
- do{
- do {
- system("cls");
- puts("1)Lista lekarzy");
- puts("2)Wyszukiwanie lekarza");
- puts("3)Dodawanie lekarza");
- puts("4)Edycja lekarza");
- puts("5)Usuniecie lekarza");
- puts("9)Powrot do menu glownego");
- scanf("%s", bezpieczny);
- } while (atoi(bezpieczny) == 0);
- wybor = atoi(bezpieczny);
- switch(wybor)
- {
- case 1:
- {
- break;
- }
- case 2:
- {
- if (lekarze_front == NULL)
- {
- puts("Lista lekarzy jest pusta!!!");
- system("pause");
- break;
- }
- while(!wyszukiwanie_lekarza(lekarze_front));
- break;
- }
- case 3:
- {
- cls();
- puts("3)Dodawanie lekarza\n");
- do {
- printf("Podaj numer ID lekarza: ");
- scanf("%s", bezpieczny);
- } while(atoi(bezpieczny) == 0);
- ID = atoi(bezpieczny);
- if (!(sprawdz_numer_ID(lekarze_front,ID))) {
- puts("Istnieje lakarz o takim ID");
- system("PAUSE");
- break;
- }
- wprowadz_dane_lekarze(nazwisko,imie,pesel,&pwz,tytul,specjalizacja,mail,&telefon);
- if(lekarze_front == NULL)
- lekarze_front = create_list_lekarze(ID, nazwisko,imie,pesel,pwz,tytul,specjalizacja,mail,telefon);
- else
- lekarze_front = insert_node_lekarze(lekarze_front,ID, nazwisko,imie,pesel,pwz,tytul,specjalizacja,mail,telefon);
- save_to_file_lekarze(lekarze_front);
- puts("Dodano lekarza");
- system("PAUSE");
- break;
- }
- case 4:
- {
- // przy edycji warto wyswietlic wszystkich klientow zeby uzytkownik wiedzial kogo chce edytowac
- cls();
- puts("4)Edycja lekarza\n");
- if (lekarze_front == NULL) {
- puts("Lista jest pusta!!!");
- system("PAUSE");
- break;
- }
- print_lekarze(lekarze_front);
- do {
- printf("-------------------------------\nPodaj numer ID lekarza do edycji: ");
- scanf("%s", bezpieczny);
- } while(atoi(bezpieczny) == 0);
- ID = atoi(bezpieczny);
- if (sprawdz_numer_ID(lekarze_front,ID)) {
- puts("Brak lekarza o takim ID");
- system("PAUSE");
- break;
- }
- ///////////////////////////
- cls();
- puts("EDYCJA LEKARZA\n");
- wprowadz_dane_lekarze(nazwisko,imie,pesel,&pwz,tytul,specjalizacja,mail,&telefon);
- edit_lekarz(lekarze_front,ID,nazwisko,imie,pesel,pwz,tytul,specjalizacja,mail,telefon);
- save_to_file_lekarze(lekarze_front);
- puts("Edytowano lekarza");
- system("PAUSE");
- break;
- }
- case 5:
- {
- cls();
- puts("5)Usuniecie lekarza\n");
- if (lekarze_front == NULL) {
- puts("Lista jest pusta");
- system("PAUSE");
- break;
- }
- print_lekarze(lekarze_front);
- do {
- printf("-------------------------------\nPodaj numer ID lekarza do usuniecia: ");
- scanf("%s",bezpieczny);
- } while (atoi(bezpieczny) == 0);
- ID = atoi(bezpieczny);
- if (sprawdz_numer_ID(lekarze_front,ID)) {
- puts("Brak lekarza o takim ID");
- system("PAUSE");
- break;
- }
- delete_node_lekarze(&lekarze_front,ID);
- save_to_file_lekarze(lekarze_front);
- puts("Usunieto lekarza");
- system("PAUSE");
- break;
- }
- case 9:
- {
- back = 1;
- break;
- }
- }
- } while(back==0);
- break;
- }
- case 2://PACJENCI
- {
- int back_p = 0;
- do
- {
- do
- {
- system("cls");
- puts("1)Lista pacjentow");
- puts("2)Wyszukiwanie pacjenta");
- puts("3)Dodawanie pacjenta");
- puts("4)Edycja pacjenta");
- puts("5)Usuniecie pacjenta");
- puts("9)Powrot do menu glownego");
- scanf("%s", bezpieczny);
- }while (atoi(bezpieczny) == 0);
- wybor = atoi(bezpieczny);
- switch(wybor)
- {
- case 1:
- {
- break;
- }
- case 2://WYSZUKIWANIE PACJENTA
- {
- puts("2)Wyszukiwanie pacjenta\n");
- if(pacjenci_front == NULL)
- {
- puts("Lista pacjentow jest pusta!!!");
- system("pause");
- break;
- }
- while(!wyszukiwanie_pacjenta(pacjenci_front));
- break;
- }
- case 3://DODAWANIE PACJENTA
- {
- cls();
- puts("3)Dodawanie pacjenta\n");
- do
- {
- do
- {
- printf("Podaj numer ID pacjenta: ");
- scanf("%s", bezpieczny);
- }while(atoi(bezpieczny) == 0);
- ID = atoi(bezpieczny);
- if(sprawdz_numer_ID_pacjenci(pacjenci_front,ID))
- {
- puts("Istnieje pacjent o takim ID");
- }
- }while(sprawdz_numer_ID_pacjenci(pacjenci_front,ID));
- wprowadz_dane_pacjenci(imie,nazwisko,pesel,data_urodzenia,miasto,ulica,numer_domu,kod_pocztowy,mail,&telefon,&waga,&wzrost,oddzial_nfz);
- if(pacjenci_front)
- {
- pacjenci_front=insert_node_pacjenci(pacjenci_front,ID,imie,nazwisko,pesel,data_urodzenia,miasto,ulica,numer_domu,kod_pocztowy,mail,telefon,waga,wzrost,oddzial_nfz);
- }else
- {
- pacjenci_front=create_list_pacjenci(ID,imie,nazwisko,pesel,data_urodzenia,miasto,ulica,numer_domu,kod_pocztowy,mail,telefon,waga,wzrost,oddzial_nfz);
- }
- save_to_file_pacjenci(pacjenci_front);
- puts("Dodano pacjenta");
- system("PAUSE");
- break;
- }
- case 4://EDYCJA PACJENTA
- {
- cls();
- puts("4)Edycja pacjenta\n");
- if (pacjenci_front == NULL) {
- puts("Lista jest pusta!!!");
- system("PAUSE");
- break;
- }
- int back_p_e=0;
- do
- {
- do
- {
- cls();
- puts("4)Edycja pacjenta\n");
- puts("1)Wyszukaj numer ID pacjenta, ktorego chcesz edytowac");
- puts("2)Wyswietl cala liste pacjentow");
- puts("3)Wprowadz numer ID pacjenta");
- puts("9)Poprzednie menu");
- scanf("%s", bezpieczny);
- }while(atoi(bezpieczny) == 0);
- wybor = atoi(bezpieczny);
- switch(wybor)
- {
- case 1:
- {
- while(!wyszukiwanie_pacjenta(pacjenci_front));
- break;
- }
- case 2:
- {
- cls();
- print_pacjenci(pacjenci_front);
- system("PAUSE");
- break;
- }
- case 3:
- {
- do
- {
- cls();
- back_p_e=1;
- printf("-------------------------------\nPodaj numer ID pacjenta do edycji: ");
- scanf("%s", bezpieczny);
- }while(atoi(bezpieczny) == 0);
- ID = atoi(bezpieczny);
- if (!sprawdz_numer_ID_pacjenci(pacjenci_front,ID)) {
- puts("Brak pacjenta o takim ID");
- system("PAUSE");
- break;
- }
- cls();
- puts("EDYCJA PACJENTA\n");
- wprowadz_dane_pacjenci(imie,nazwisko,pesel,data_urodzenia,miasto,ulica,numer_domu,kod_pocztowy,mail,&telefon,&waga,&wzrost,oddzial_nfz);
- edit_pacjenci(pacjenci_front,ID,imie,nazwisko,pesel,data_urodzenia,miasto,ulica,numer_domu,kod_pocztowy,mail,telefon,waga,wzrost,oddzial_nfz);
- puts("Edytowano pacjenta");
- save_to_file_pacjenci(pacjenci_front);
- system("PAUSE");
- break;
- }
- case 9:
- {
- back_p_e=1;
- break;
- }
- }
- }while(back_p_e==0);
- break;
- }
- case 5://USUNIECIE PACJENTA
- {
- cls();
- puts("5)Usuniecie pacjenta\n");
- if (pacjenci_front == NULL) {
- puts("Lista jest pusta!!!");
- system("PAUSE");
- break;
- }
- int back_p_u=0;
- do
- {
- do
- {
- cls();
- puts("5)Usuniecie pacjenta\n");
- puts("1)Wyszukaj numer ID pacjenta, ktorego chcesz usunac");
- puts("2)Wyswietl cala liste pacjentow");
- puts("3)Wprowadz numer ID pacjenta do usuniecia");
- puts("9)Poprzednie menu");
- scanf("%s", bezpieczny);
- }while(atoi(bezpieczny) == 0);
- wybor = atoi(bezpieczny);
- switch(wybor)
- {
- case 1:
- {
- while(!wyszukiwanie_pacjenta(pacjenci_front));
- break;
- }
- case 2:
- {
- cls();
- print_pacjenci(pacjenci_front);
- system("PAUSE");
- break;
- }
- case 3:
- {
- do
- {
- back_p_u=1;
- printf("-------------------------------\nPodaj numer ID pacjenta do usuniecia: ");
- scanf("%s", bezpieczny);
- }while(atoi(bezpieczny) == 0);
- ID = atoi(bezpieczny);
- if (!sprawdz_numer_ID_pacjenci(pacjenci_front,ID)) {
- puts("Brak pacjenta o takim ID");
- system("PAUSE");
- break;
- }
- delete_node_pacjenci(&pacjenci_front,ID);
- puts("Usunieto pacjenta");
- save_to_file_pacjenci(pacjenci_front);
- system("PAUSE");
- break;
- }
- case 9:
- {
- back_p_u=1;
- break;
- }
- }
- }while(back_p_u==0);
- break;
- }
- case 9:
- {
- back_p = 1;
- break;
- }
- }
- }while(back_p==0);
- break;
- }
- case 9:
- {
- return 0;
- }
- }
- }
- while(1); // petla nieskonczona zeby obraca³a siê dopoki nie wcisniemy exit
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement