Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- #include<stdbool.h>
- typedef struct patients {
- char* name;
- int age;
- struct diseases* disease; //head of diseases
- struct patients* next;
- }patients;
- typedef struct diseases {
- char* name;
- bool cured;
- struct diseases* next;
- }diseases;
- struct patients* patientHead; //head of patients
- void add_diseases(char* name) {
- struct patients* diseaseNode=NULL; //head of diseases
- struct diseases* node;
- //search for the patient node
- struct patients* temp = patientHead;
- while (temp != NULL) {
- if (temp->name == name) {
- diseaseNode = temp;
- break;
- }
- else
- temp++;
- }
- if (diseaseNode->disease == NULL) { //if head is null, then this is the first node
- node = (diseases*)malloc(sizeof(diseases));
- node->name = (char*)malloc(sizeof(char)*200); //dynamic
- node->cured = (bool)malloc(sizeof(bool)); //dynamic
- printf("Enter disease name: ");
- scanf("%s", node->name);
- int temp;
- printf("Is disease cured? ");
- scanf("%d", &temp);
- node->cured = temp;
- diseaseNode->disease = node;
- node->next = NULL;
- }
- else {
- node = (diseases*)malloc(sizeof(diseases));
- node->name = (char*)malloc(sizeof(char) * 200); //dynamic
- node->cured = (bool)malloc(sizeof(bool)); //dynamic
- printf("Enter disease name: ");
- scanf("%s", node->name);
- int temp;
- printf("Is disease cured? ");
- scanf("%d", &temp);
- node->cured = temp;
- node->next = diseaseNode->disease;
- diseaseNode->disease = node;
- }
- }
- int main(void) {
- patientHead = (patients*)malloc(sizeof(patients));
- patientHead->name = "Lamyaa";
- patientHead->age = 2222;
- patientHead->next = NULL;
- patientHead->disease = NULL;
- add_diseases(patientHead->name);
- add_diseases(patientHead->name);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement