Advertisement
Guest User

Untitled

a guest
Nov 21st, 2019
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.76 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<stdbool.h>
  4.  
  5. typedef struct patients {
  6. char* name;
  7. int age;
  8. struct diseases* disease; //head of diseases
  9. struct patients* next;
  10. }patients;
  11.  
  12. typedef struct diseases {
  13. char* name;
  14. bool cured;
  15. struct diseases* next;
  16. }diseases;
  17.  
  18. struct patients* patientHead; //head of patients
  19.  
  20. void add_diseases(char* name) {
  21. struct patients* diseaseNode=NULL; //head of diseases
  22. struct diseases* node;
  23.  
  24. //search for the patient node
  25. struct patients* temp = patientHead;
  26.  
  27. while (temp != NULL) {
  28. if (temp->name == name) {
  29. diseaseNode = temp;
  30. break;
  31. }
  32. else
  33. temp++;
  34. }
  35.  
  36. if (diseaseNode->disease == NULL) { //if head is null, then this is the first node
  37. node = (diseases*)malloc(sizeof(diseases));
  38. node->name = (char*)malloc(sizeof(char)*200); //dynamic
  39. node->cured = (bool)malloc(sizeof(bool)); //dynamic
  40. printf("Enter disease name: ");
  41. scanf("%s", node->name);
  42. int temp;
  43. printf("Is disease cured? ");
  44. scanf("%d", &temp);
  45. node->cured = temp;
  46. diseaseNode->disease = node;
  47. node->next = NULL;
  48. }
  49. else {
  50. node = (diseases*)malloc(sizeof(diseases));
  51. node->name = (char*)malloc(sizeof(char) * 200); //dynamic
  52. node->cured = (bool)malloc(sizeof(bool)); //dynamic
  53. printf("Enter disease name: ");
  54. scanf("%s", node->name);
  55. int temp;
  56. printf("Is disease cured? ");
  57. scanf("%d", &temp);
  58. node->cured = temp;
  59. node->next = diseaseNode->disease;
  60. diseaseNode->disease = node;
  61. }
  62. }
  63.  
  64.  
  65. int main(void) {
  66. patientHead = (patients*)malloc(sizeof(patients));
  67. patientHead->name = "Lamyaa";
  68. patientHead->age = 2222;
  69. patientHead->next = NULL;
  70. patientHead->disease = NULL;
  71. add_diseases(patientHead->name);
  72. add_diseases(patientHead->name);
  73. return 0;
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement