Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "hosto.h"
- /* Creation d'une nouvelle liste */
- List new_list(void)
- {
- return NULL;
- }
- ListMedecin new_ListOf_Medecine(void)
- {
- return NULL;
- }
- /*---------------------------------------------------------*/
- /* Verification si la liste est vide ou non */
- Bool is_empty_list_Of_Medecine(ListMedecin mylist)
- {
- if (mylist == NULL)
- return true;
- return false;
- }
- Bool is_empty_list(List mylist)
- {
- if (mylist == NULL)
- return true;
- return false;
- }
- Bool salle_vide(void)
- {
- if (premiere == NULL && derniere == NULL)
- return true;
- return false;
- }
- /* GESTIONS DES SALLES */
- /* Créer une salle*/
- void occuper_une_salle(Lit p)
- {
- Salle *disponible;
- disponible = malloc(sizeof(*disponible));
- if (disponible == NULL)
- {
- fprintf(stderr,"Error : allocation echouee %s %d\n", __FILE__, __LINE__);
- exit(EXIT_FAILURE);
- }
- disponible->nombreDeLit.nbLit = p.nbLit;
- disponible->nombreDeLit.uniteDeSoin = p.uniteDeSoin;
- disponible->next = NULL;
- if (salle_vide())
- {
- premiere = disponible;
- derniere = disponible;
- }
- else
- {
- derniere->next = disponible;
- derniere = disponible;
- }
- nb_salle++;
- }
- /* Vider une salle */
- void vider_une_salle(void)
- {
- if (salle_vide())
- {
- return;
- }
- Salle *tmp = premiere;
- if (premiere == derniere)
- {
- premiere = NULL;
- derniere = NULL;
- }
- else
- premiere = premiere->next;
- free(tmp);
- tmp = NULL;
- nb_salle--;
- }
- /* Afficher les salles */
- void lister_les_salles(void)
- {
- if (salle_vide())
- {
- printf("Les salles sont vides\n");
- return;
- }
- Salle *tmp = premiere;
- while(tmp != NULL)
- {
- printf("[lit] : %d\n", tmp->nombreDeLit.nbLit);
- printf("[Unite de soin] : %d\n", tmp->nombreDeLit.uniteDeSoin);
- tmp = tmp->next;
- }
- puts("");
- }
- /* Fermer les salles */
- void fermer_les_salles(void)
- {
- if (salle_vide())
- {
- exit(1);
- }
- while(salle_vide())
- vider_une_salle();
- }
- /* Nombre de salle*/
- int nombre_salle(void)
- {
- return nb_salle;
- }
- /*---------------------------------------------------------*/
- /* Affichage de la liste de patients */
- void print_list(List mylist)
- {
- if (is_empty_list(mylist))
- {
- printf("Rien a afficher\n");
- return;
- }
- temps();
- while(mylist != NULL)
- {
- printf("[Patient]------------------------------------------------------\n");
- puts("");
- printf("[Numero d\'admission] : %s\n", mylist->patient.num);
- printf("[Nom] : %s\t\t\t", mylist->patient.name);
- printf("[Prenom] : %s\n", mylist->patient.surname);
- printf("[Date de naissance] : %02d/%02d/%02d\t", mylist->patient.birthDate, mylist->patient.birthMonth, mylist->patient.birthYear);
- printf("[S matrimoniale] : %s\n", mylist->patient.maritalSituation);
- puts("");
- printf("[Contact]-------------------------------------------------------\n");
- puts("");
- printf("[Telephone] : %s\t\t", mylist->patient.phone);
- printf("[Adresse] : %s\n", mylist->patient.address);
- puts("");
- mylist = mylist->next;
- printf("\n---------------------------------------------------------------\n");
- puts("");
- }
- printf("\n");
- }
- /*---------------------------------------------------------*/
- /* Ajout de patients */
- List addPatient(List mylist, Sick patient)
- {
- ListElement *element;
- element = malloc(sizeof(*element));
- if (element == NULL)
- {
- fprintf(stderr,"Error : allocation echouee %s %d\n", __FILE__, __LINE__);
- exit(EXIT_FAILURE);
- }
- strcpy(element->patient.num, patient.num);
- strcpy(element->patient.name, patient.name);
- strcpy(element->patient.surname, patient.surname);
- strcpy(element->patient.address, patient.address);
- strcpy(element->patient.maritalSituation, patient.maritalSituation);
- strcpy(element->patient.phone, patient.phone);
- element->patient.birthDate = patient.birthDate;
- element->patient.birthMonth = patient.birthMonth;
- element->patient.birthYear = patient.birthYear;
- //element->patient.unity = patient.unity;
- if (is_empty_list(mylist))
- {
- element->next = NULL;
- }
- else
- element->next = mylist;
- return element;
- }
- /*---------------------------------------------------------*/
- /* Nombre de patient */
- int length(List mylist)
- {
- int size = 0;
- if (is_empty_list(mylist))
- return size;
- while(mylist != NULL)
- {
- ++size;
- mylist = mylist->next;
- }
- return size;
- }
- /*---------------------------------------------------------*/
- /* Supprimer un patient */
- List deletePatient(List mylist)
- {
- ListElement *element;
- if (is_empty_list(mylist))
- {
- return new_list();
- }
- else
- element = mylist->next;
- free(mylist);
- mylist = NULL;
- return element;
- }
- /*--------------------------------------------------------------------*/
- /* Ajouter un docteur*/
- ListMedecin addDoctor(ListMedecin mylist, Medecin doctor)
- {
- Pile *element;
- element = malloc(sizeof(*element));
- if (element == NULL)
- {
- fprintf(stderr,"Error : allocation echouee %s %d\n", __FILE__, __LINE__);
- exit(EXIT_FAILURE);
- }
- element->liste.numID = doctor.numID;
- strcpy(element->liste.name, doctor.name);
- strcpy(element->liste.surname, doctor.surname);
- strcpy(element->liste.speciality, doctor.speciality);
- strcpy(element->liste.phone, doctor.phone);
- element->next = mylist;
- return element;
- }
- /*---------------------------------------------------------------------*/
- /*Afficher la liste des docteurs*/
- void ListDoctor(ListMedecin mylist)
- {
- if (is_empty_list_Of_Medecine(mylist))
- {
- printf("Aucun docteur present\n");
- return;
- }
- while(!is_empty_list_Of_Medecine(mylist))
- {
- //printf("%d\n", mylist->liste.numID);
- printf("[Medecin traitant]-------------------------------------------\n");
- printf("[Nom] : %s\t\t\t", mylist->liste.name);
- printf("[Prenom] : %s\n", mylist->liste.surname);
- printf("[Specialite] : %s\t\t", mylist->liste.speciality);
- printf("[Telephone] : %s\n", mylist->liste.phone);
- puts("");
- printf("-------------------------------------------------------------\n");
- puts("");
- mylist = mylist->next;
- }
- printf("\n");
- }
- /*---------------------------------------------------------------------*/
- /*Nombre de docteurs disponibles*/
- int doctorNumber(ListMedecin mylist)
- {
- int size = 0;
- if (is_empty_list_Of_Medecine(mylist))
- return size;
- while(!is_empty_list_Of_Medecine(mylist))
- {
- ++size;
- mylist = mylist->next;
- }
- return size;
- }
- /*---------------------------------------------------------------------*/
- /* Licencier un docteur (C'est à dire le supprimer)*/
- ListMedecin deleteDoctor(ListMedecin mylist)
- {
- Pile *element;
- element = malloc(sizeof(*element));
- if (element == NULL)
- {
- fprintf(stderr,"allocation echouee %s %d\n", __FILE__, __LINE__);
- exit(EXIT_FAILURE);
- }
- if (is_empty_list_Of_Medecine(mylist))
- {
- return new_ListOf_Medecine();
- }
- element = mylist->next;
- free(mylist);
- mylist = NULL;
- return deleteDoctor(element);
- }
- ListMedecin pop_doctor(ListMedecin mylist)
- {
- Pile *element;
- if (is_empty_list_Of_Medecine(mylist))
- {
- return new_ListOf_Medecine();
- }
- element = mylist->next;
- free(mylist);
- return element;
- }
- void medecin(void)
- {
- ListMedecin medecin = new_ListOf_Medecine();
- Medecin infoMedecin0 = {1, "Bernard", "Gabriel", "+33 3 45 29 30 21", "Radiologue"};
- Medecin infoMedecin1 = {2, "Martin", "Raphael", "+33 1 03 15 67 99", "Cardiologue"};
- Medecin infoMedecin2 = {3, "Dubois", "Arthur", "+33 9 82 49 20 11", "Chirurgien"};
- Medecin infoMedecin3 = {4, "Keita", "Abdul Kabir", "+33 8 03 77 20", "Neurologue"};
- Medecin infoMedecin4 = {5, "Leroy", "Camille", "+33 4 29 44 72", "Odontologue"};
- Medecin infoMedecin5 = {6, "Garcia", "Sarah", "+33 0 48 71 09", "Medecin generaliste"};
- Medecin infoMedecin6 = {7, "Martinez", "Charlotte", "+33 6 88 91 05", "Psychiatre"};
- medecin = addDoctor(medecin, infoMedecin0);
- medecin = addDoctor(medecin, infoMedecin1);
- medecin = addDoctor(medecin, infoMedecin2);
- medecin = addDoctor(medecin, infoMedecin3);
- //medecin = pop_doctor(medecin);
- medecin = addDoctor(medecin, infoMedecin4);
- medecin = addDoctor(medecin, infoMedecin5);
- medecin = addDoctor(medecin, infoMedecin6);
- puts("");
- ListDoctor(medecin);
- //printf("Medecin diponible %d\n", doctorNumber(medecin));
- medecin = deleteDoctor(medecin);
- }
- void patient(void)
- {
- List malade = new_list();
- int size = 0;
- Sick *patient;
- int i = 0;
- puts("");
- system("cls");
- //timer();
- temps();
- puts("");
- printf("\t\t\t[CENTRE HOSPATALIER UNIVERSITAIRE STEEVE]\n\n");
- printf("Liste de patient\n");
- scanf("%d", &size);
- patient = (Sick *)malloc(size * sizeof(Sick));
- if (patient == NULL)
- {
- fprintf(stderr,"Error : Allocation echouee %s %d\n", __FILE__, __LINE__);
- exit(EXIT_FAILURE);
- }
- for (int i = 0; i < size; ++i)
- {
- printf("ID : ");
- scanf("%s", (patient + i)->num);
- printf("Name : ");
- scanf("%s", (patient + i )->name);
- printf("Surname : ");
- scanf("%s", (patient + i )->surname);
- printf("Marital Situation : ");
- scanf("%s", (patient + i)->maritalSituation);
- printf("Birth date : ");
- scanf("%d", &(patient + i)->birthDate);
- scanf("%d", &(patient + i)->birthMonth);
- scanf("%d", &(patient + i)->birthYear);
- printf("Phone : ");
- scanf("%s", (patient + i )->phone);
- printf("Address : ");
- scanf("%s", (patient + i )->address);
- puts("");
- malade = addPatient(malade, patient[i]);
- }
- system("cls");
- puts("");
- print_list(malade);
- printf("patients admis %d\n", length(malade));
- malade = deletePatient(malade);
- }
- void temps(void)
- {
- char format[128];
- time_t temps;
- struct tm date;
- // On récupère la date et l'heure actuelles.
- time(&temps);
- date=*localtime(&temps);
- // On remplit la chaîne avec le format choisi, puis on l'affiche.
- strftime(format, 128, "%a %x\n%X %Z\n", &date);
- puts("");
- puts(format);
- }
- int soin(int choix)
- {
- puts("");
- printf("1\tCardiologie\n");
- printf("2\tNeurologie\n");
- printf("3\tOdontologie\n");
- printf("4\tRadiologie\n");
- printf("5\tPsychiatrie\n");
- printf("6\tGeneraliste\n");
- printf("7\tChirurgie\n");
- scanf("%d", &choix);
- do
- {
- switch(choix)
- {
- case 1:
- {
- }
- break;
- case 2:
- {
- }
- break;
- case 3:
- {
- }
- break;
- case 4:
- {
- }
- break;
- case 5:
- {
- }
- break;
- case 6:
- {
- }
- break;
- case 7:
- {
- }
- break;
- default:
- printf("Faites un bon choix svp !!!\n");
- break;
- }
- }while(choix != 7);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement