Advertisement
12345678900987654323

12345

May 31st, 2016
264
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include<stdio.h>
  3. #include<string.h>
  4. #include<ctype.h>
  5. #include<windows.h>
  6. #include<stdlib.h>
  7.  
  8. int doctor();           //sub function declaration
  9. int reception();        //int or void is return type
  10. int doctor_menu();
  11. int reception_menu();
  12. int doctor_patient_menu();
  13. int doctor_appointment_menu();
  14. int reception_patient_menu();
  15. int reception_appointmet_menu();
  16. int add_new_patient();
  17. int view_patient();
  18. int search_patient();
  19. int delete_patient();
  20. int modify_patient();
  21. int add_appointment();
  22. int search_appointment();
  23. int delete_appointment();
  24. int modify_appointment();
  25. int choice;
  26.  
  27. void gotoxy();
  28.  
  29. struct patient
  30. {
  31.     char patient_name[100];
  32.     char patient_ID[10];
  33.     char gender[10];
  34.     char age[10];
  35.     char contact_num[30];
  36.     char address[25];
  37.     char city[12];
  38.     char state[10];
  39.     char zipcode[20];
  40.     char doctor_type[20];
  41.     char doctor_name[20];
  42.     char appointment_time[10];
  43. }p1;
  44.  
  45. void getPatientName()
  46. {   int n=0;
  47.     gotoxy(25, 9);
  48.     char buffer[100];
  49.  
  50.     printf("Enter Name:");
  51.     gets(buffer);
  52.  
  53.     while(n < sizeof(buffer))
  54.     {
  55.         if(buffer[n] == ' ')
  56.             buffer[n] = '_' ;
  57.         n++ ;
  58.  
  59.     }
  60.     buffer[n] = '0';
  61.     strcpy(p1.patient_name , buffer);
  62. }
  63.  
  64. void getPatientID()
  65. {
  66.     gotoxy(25, 10);
  67.     printf("Enter Patient ID:");
  68.     gets(p1.patient_ID);
  69. }
  70.  
  71. void getGender()
  72. {
  73.     gotoxy(25, 11);
  74.     printf("Enter Gender:");
  75.     gets(p1.gender);
  76. }
  77.  
  78. void getAge()
  79. {
  80.     gotoxy(25, 12);
  81.     printf("Enter Age:");
  82.     gets(p1.age);
  83. }
  84.  
  85. void getContactNum()
  86. {
  87.     gotoxy(25, 13);
  88.     printf("Enter Contact Num:");
  89.     gets(p1.contact_num);
  90. }
  91.  
  92. void getAddress()
  93. {
  94.     gotoxy(25, 14);
  95.     printf("Enter Address:");
  96.     gets(p1.address);
  97. }
  98.  
  99. void getCity()
  100. {
  101.     gotoxy(25, 15);
  102.     printf("Enter City:");
  103.     gets(p1.city);
  104.  
  105. }
  106.  
  107. void getState()
  108. {
  109.     gotoxy(25, 16);
  110.     printf("Enter State:");
  111.     gets(p1.state);
  112. }
  113.  
  114. void getZipCode()
  115. {
  116.     gotoxy(25, 17);
  117.     printf("Enter ZipCode:");
  118.     gets(p1.zipcode);
  119. }
  120.  
  121. COORD coord = { 0, 0 };
  122.  
  123. void main()              // Login Process
  124. {
  125.     int a, b;
  126.     do{
  127.  
  128.         system("cls");
  129.         gotoxy(25, 8);
  130.         printf("1. Doctor\n");
  131.         gotoxy(25, 9);
  132.         printf("2. Reception\n");
  133.         gotoxy(25, 11);
  134.         printf("Enter your choice:");
  135.         scanf("%d", &choice);
  136.         if (choice < 1 || choice > 2)
  137.         {
  138.             gotoxy(25, 13);
  139.             printf("Invalid Entry\n");
  140.             gotoxy(25, 14);
  141.             printf("Please try again!\n");
  142.         }
  143.         switch (choice)
  144.         {
  145.         case 1: a = doctor();
  146.             if (a != 0)
  147.                 doctor_menu();
  148.             break;
  149.         case 2: b = reception();
  150.             if (b != 0)
  151.                 reception_menu();
  152.             break;
  153.         }
  154.     } while (choice <1  ||  choice > 2);
  155. }
  156.  
  157. void gotoxy(int x, int y)
  158. {
  159.     coord.X = x;
  160.     coord.Y = y;
  161.     SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
  162. }
  163. int doctor()
  164. {
  165.     char name[30] = "Doctor", password[10] = "1234";
  166.     char user_input[30], user_password[10];
  167.     int a = 0;
  168.     do{
  169.  
  170.         system("cls");
  171.         gotoxy(25, 8);
  172.         printf("Welcome Doctor!\n");
  173.         fflush(stdin);
  174.         gotoxy(25, 11);
  175.         printf("Name:");
  176.         gets(user_input);
  177.         fflush(stdin);
  178.         gotoxy(25, 13);
  179.         printf("Password:");
  180.         gets(user_password);
  181.         if ((strcmp(name, user_input) == 0) && (strcmp(password, user_password) == 0))
  182.         {
  183.             printf("Login successful");
  184.             a = 1;
  185.         }
  186.         else
  187.         {
  188.  
  189.             a = 0;
  190.         }
  191.     } while (a == 0);
  192.     return a;
  193. }
  194.  
  195. int reception()
  196. {
  197.     char name[30] = "Jack", password[10] = "1234";
  198.     char user_input[30], user_password[10];
  199.     int a = 0;
  200.     do{
  201.  
  202.         system("cls");
  203.         gotoxy(25, 8);
  204.         printf("Welcome Admin!\n");
  205.         fflush(stdin);
  206.         gotoxy(25, 11);
  207.         printf("Name:");
  208.         fflush(stdin);
  209.         gets(user_input);
  210.         gotoxy(25, 13);
  211.         printf("Password:");
  212.         gets(user_password);
  213.         if ((strcmp(name, user_input) == 0) && ((strcmp(password, user_password) == 0)))
  214.         {
  215.             printf("Login successful");
  216.             a = 1;
  217.         }
  218.         else
  219.         {
  220.             a = 0;
  221.         }
  222.     } while (a == 0);
  223.     return a;
  224. }
  225.  
  226. int doctor_menu()
  227. {
  228.     do{
  229.  
  230.         system("cls");
  231.         gotoxy(25, 8);
  232.         printf("----------Doctor Menu----------");
  233.         gotoxy(25, 10);
  234.         printf("1. Patient\n");
  235.         gotoxy(25, 11);
  236.         printf("2. Appointment\n");
  237.         if (choice < 1 && choice > 2)
  238.         {
  239.             gotoxy(25, 15);
  240.             printf("Invalid Entry\n");
  241.             gotoxy(25, 16);
  242.             printf("Please try again!\n");
  243.         }
  244.         gotoxy(25, 13);
  245.         printf("Enter your choice:");
  246.         scanf("%d", &choice);
  247.         switch (choice)
  248.         {
  249.         case 1: doctor_patient_menu();
  250.             break;
  251.         case 2: doctor_appointment_menu();
  252.             break;
  253.         }
  254.     } while (choice <1  ||  choice > 2);
  255. }
  256.  
  257. int reception_menu()
  258. {
  259.     do{
  260.  
  261.         system("cls");
  262.         gotoxy(25, 8);
  263.         printf("----------Reception Menu----------");
  264.         gotoxy(25, 10);
  265.         printf("1. Patient\n");
  266.         gotoxy(25, 11);
  267.         printf("2. Appointment\n");
  268.         gotoxy(25, 13);
  269.         printf("Enter your choice:");
  270.         scanf("%d", &choice);
  271.         if (choice < 1 || choice > 2)
  272.         {
  273.             gotoxy(25, 15);
  274.             printf("Invalid Entry\n");
  275.             gotoxy(25, 16);
  276.             printf("Please try again!\n");
  277.         }
  278.         switch (choice)
  279.         {
  280.         case 1: reception_patient_menu();
  281.             break;
  282.         case 2: reception_appointmet_menu();
  283.             break;
  284.         default:;
  285.         }
  286.     } while (choice <1  ||  choice > 2);
  287. }
  288.  
  289. int doctor_patient_menu()
  290. {
  291.     do{
  292.  
  293.         system("cls");
  294.         gotoxy(25, 10);
  295.         printf("1. Search Patient\n");
  296.         gotoxy(25, 11);
  297.         printf("2. Modify Patient\n");
  298.  
  299.         gotoxy(25, 13);
  300.         printf("Enter your choice:");
  301.         scanf("%d", &choice);
  302.         if ((choice <1  ||  choice > 2))
  303.         {
  304.             gotoxy(25, 15);
  305.             printf("Invalid Entry\n");
  306.             gotoxy(25, 16);
  307.             printf("Please try again!\n");
  308.         }
  309.         switch (choice)
  310.         {
  311.         case 1: search_patient();
  312.             break;
  313.         case 2: modify_patient();
  314.             break;
  315.         }
  316.     } while (choice <1  ||  choice > 2);
  317. }
  318.  
  319. int doctor_appointment_menu()
  320. {
  321.     do{
  322.  
  323.         system("cls");
  324.         gotoxy(25, 10);
  325.         printf("1. Search Appointment\n");
  326.         gotoxy(25, 11);
  327.         printf("2. Modify Appointment\n");
  328.  
  329.         gotoxy(25, 13);
  330.         printf("Enter your choice:");
  331.         scanf("%d", &choice);
  332.         if (choice <1 || choice > 2)
  333.         {
  334.             gotoxy(25, 15);
  335.             printf("Invalid Entry\n");
  336.             gotoxy(25, 16);
  337.             printf("Please try again!\n");
  338.         }
  339.         switch (choice)
  340.         {
  341.         case 1: search_appointment();
  342.             break;
  343.         case 2: modify_appointment();
  344.             break;
  345.         }
  346.     } while (choice <1  ||  choice > 2);
  347. }
  348.  
  349. int reception_patient_menu()
  350. {
  351.  
  352.     do{
  353.  
  354.         system("cls");
  355.         gotoxy(25, 8);
  356.         printf("1. Add New Patient\n");
  357.         gotoxy(25, 9);
  358.         printf("2. View Patient\n");
  359.         gotoxy(25, 10);
  360.         printf("3. Search Patient\n");
  361.         gotoxy(25, 11);
  362.         printf("4. Delete Patient\n");
  363.         gotoxy(25, 12);
  364.         printf("5. Modify Patient\n");
  365.  
  366.         gotoxy(25, 14);
  367.         printf("Enter your choice:");
  368.         fflush(stdin);
  369.         scanf("%d", &choice);
  370.         if ((choice <1  ||  choice > 5))
  371.         {
  372.             gotoxy(25, 16);
  373.             printf("Invalid Entry\n");
  374.             gotoxy(25, 17);
  375.             printf("Please try again!\n");
  376.         }
  377.         switch (choice)
  378.         {
  379.         case 1: add_new_patient();
  380.             break;
  381.         case 2: view_patient();
  382.             break;
  383.         case 3: search_patient();
  384.             break;
  385.         case 4: delete_patient();
  386.             break;
  387.         case 5: modify_patient();
  388.             break;
  389.         }
  390.     } while ((choice <1  ||  choice > 5));
  391. }
  392.  
  393. int reception_appointmet_menu()
  394. {
  395.     do{
  396.  
  397.         system("cls");
  398.         gotoxy(25, 8);
  399.         printf("1. Add New Appointment\n");
  400.         gotoxy(25, 9);
  401.         printf("2. Search Appointment\n");
  402.         gotoxy(25, 10);
  403.         printf("3. Delete Appointment\n");
  404.         gotoxy(25, 11);
  405.         printf("4. Modify Appointment\n");
  406.  
  407.         gotoxy(25, 13);
  408.         printf("Enter your choice:");
  409.         fflush(stdin);
  410.         scanf("%d", &choice);
  411.         if ((choice <1 || choice > 4))
  412.         {
  413.             gotoxy(25, 15);
  414.             printf("Invalid Entry\n");
  415.             gotoxy(25, 16);
  416.             printf("Please try again!\n");
  417.         }
  418.         switch (choice)
  419.         {
  420.         case 1: add_appointment();
  421.             break;
  422.         case 2: search_appointment();
  423.             break;
  424.         case 3: delete_appointment();
  425.             break;
  426.         case 4: modify_appointment();
  427.             break;
  428.         }
  429.     } while ((choice <1 || choice > 4));
  430. }
  431.  
  432. int add_new_patient()               // Store patient details
  433. {
  434.     char selection = 'Y';
  435.  
  436.     FILE*fp;
  437.     fp = fopen("patient.txt", "a");
  438.  
  439.     if (!fp)
  440.     {
  441.         printf("File cannot open!");
  442.         reception_patient_menu();
  443.     }
  444.     else
  445.     {
  446.         while (selection = 'Y')
  447.         {
  448.  
  449.             system("cls");
  450.             fflush(stdin);
  451.             getPatientName();
  452.             getPatientID();
  453.             getGender();
  454.             getAge();
  455.             getContactNum();
  456.             getAddress();
  457.             getCity();
  458.             getState();
  459.             getZipCode();
  460.             fprintf(fp, "%s>\t\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n", p1.patient_ID, p1.patient_name, p1.gender, p1.age, p1.contact_num, p1.address, p1.city, p1.state, p1.zipcode);
  461.             gotoxy(25, 19);
  462.             printf("Do You Want To Add Another Patient's Details? (Y/N)");
  463.             fflush(stdin);
  464.             selection = getchar();
  465.  
  466.             if (toupper(selection) != 'Y')
  467.             {
  468.                 fclose(fp);
  469.                 reception_patient_menu();
  470.             }
  471.  
  472.         }
  473.     }
  474. }
  475.  
  476. int view_patient()
  477. {
  478.     FILE*fp;
  479.     int length = 0;
  480.     fp = fopen("patient.txt", "r");
  481.     if (fp == NULL)
  482.     {
  483.         printf("File Cannot Open!\n");
  484.         system("pause");
  485.         reception_patient_menu();
  486.  
  487.     }
  488.     else
  489.     {
  490.         while (1) {
  491.             fscanf(fp, "%s", p1.patient_ID);
  492.             if (feof(fp))
  493.                 break;
  494.             gotoxy(25, 15);
  495.             length = strlen(p1.patient_ID);
  496.             p1.patient_ID[length - 1] = '\0';
  497.             printf("Patient ID\t:%s\n", p1.patient_ID);
  498.             fscanf(fp, "%s", p1.patient_name);
  499.             printf("Patient Name\t:%s\n", p1.patient_name);
  500.             fscanf(fp, "%s", p1.gender);
  501.             printf("Gender\t\t:%s\n", p1.gender);
  502.             fscanf(fp, "%s", p1.age);
  503.             printf("Age\t\t:%s\n", p1.age);
  504.             fscanf(fp, "%s", p1.contact_num);
  505.             printf("Contact Number\t:%s\n", p1.contact_num);
  506.             fscanf(fp, "%s", p1.address);
  507.             printf("Address\t\t:%s\n", p1.address);
  508.             fscanf(fp, "%s", p1.city);
  509.             printf("City\t\t:%s\n", p1.city);
  510.             fscanf(fp, "%s", p1.state);
  511.             printf("State\t\t:%s\n", p1.state);
  512.             fscanf(fp, "%s", p1.zipcode);
  513.             printf("ZipCode\t\t:%s\n\n", p1.zipcode);
  514.         } ;
  515.         fclose(fp);
  516.         system("pause");
  517.         reception_patient_menu();
  518.     }
  519. }
  520.  
  521. int search_patient()
  522. {
  523.     FILE*fp;
  524.     const char s[2] = ">";
  525.     char *token;
  526.  
  527.  
  528.  
  529.  
  530.     fp = fopen("patient.txt", "r");
  531.      if(fp==NULL)
  532.         {
  533.             exit(1);
  534.             printf("File cannot open");
  535.         }
  536.  
  537.      else
  538.      {
  539.          char buffer[200];
  540.          char input[200];
  541.          char tok[200];
  542.          int found = 1;
  543.  
  544.  
  545.          printf("Enter the id: ");
  546.          fflush(stdin);
  547.         gets(input);
  548.  
  549.  
  550.          while(fgets(buffer,200,fp) != NULL)
  551.          {
  552.                 static flag = 1;
  553.  
  554.              token = strtok(buffer, s);
  555.              if(strstr(token,input)!=NULL)
  556.              {
  557.                   if (flag == 1)
  558.                     rewind(fp);
  559.  
  560.                   fscanf(fp,"%s %s %s %s %s %s %s %s %s %s",p1.patient_ID
  561.                          ,p1.patient_name
  562.                           ,p1.gender
  563.                            ,p1.contact_num
  564.                             ,p1.age
  565.                              ,p1.address
  566.                               ,p1.city
  567.                                ,p1.zipcode
  568.                                 ,p1.state
  569.                                  ,p1.appointment_time);
  570.  
  571.                     printf("name: %s\n",p1.patient_name);
  572.                     printf("Gender: %s\n",p1.gender);
  573.                     printf("age: %s\n",p1.age);
  574.                     printf("address: %s\n",p1.address);
  575.                   found = 0;
  576.              }
  577.                 flag = 0 ;
  578.          }
  579.          if(found == 1)
  580.             printf("ID not found");
  581.  
  582.          if(feof(fp))
  583.          {
  584.              printf("\n");
  585.          }
  586.          else
  587.          {
  588.             printf("\nError");
  589.              exit(1);
  590.          }
  591.  
  592.      }
  593.      fclose(fp);
  594.  
  595.  
  596.     system("pause");
  597.     reception_patient_menu();
  598. }
  599.  
  600. int delete_patient()
  601. {
  602.     FILE*fp;
  603.     system("cls");
  604.     char user_input[30];
  605.     fp = fopen("patient.txt", "r");
  606.     if (fp = NULL)
  607.     {
  608.         printf("File Cannot Open");
  609.     }
  610.     else
  611.     {
  612.         gotoxy(25, 10);
  613.         printf("Enter Your Patient Name:\n");
  614.         fflush(stdin);
  615.         gets(user_input);
  616.         fscanf(fp, "%s", p1.patient_name);
  617.         {
  618.             if (strcmp(user_input, p1.patient_name) == 0)
  619.             {
  620.                 fscanf(fp, "%s", p1.patient_name);
  621.                 printf("Patient Name    :%s\n", p1.patient_name);
  622.                 fscanf(fp, "%s", p1.patient_ID);
  623.                 printf("Patient ID     :%s", p1.patient_ID);
  624.             }
  625.             else
  626.             {
  627.                 printf("Patient Name Cannot Find");
  628.             }
  629.         }
  630.     }
  631. }
  632.  
  633. int modify_patient()
  634. {
  635.     char user_input[30];
  636.     system("cls");
  637.     FILE*fp;
  638.     fp = fopen("patient.txt", "r");
  639.     if (fp = NULL)
  640.     {
  641.         printf("File Cannot Open");
  642.     }
  643.     else
  644.     {
  645.         gotoxy(25, 10);
  646.         fflush(stdin);
  647.         printf("Enter Your Patient Name:\n");
  648.         gets(user_input);
  649.  
  650.         printf("%s", user_input);
  651.         {
  652.             if (strcmp(user_input, p1.patient_name) == 0)
  653.             {
  654.                 fscanf(fp, "%s", p1.patient_name);
  655.                 printf("Patient Name    :%s\n", p1.patient_name);
  656.                 fscanf(fp, "%s", p1.patient_ID);
  657.                 printf("Patient ID     :%s", p1.patient_ID);
  658.             }
  659.             else
  660.             {
  661.                 printf("Patient Name Cannot Find");
  662.             }
  663.         }
  664.     }
  665. }
  666.  
  667. int add_appointment()
  668. {
  669.     FILE*fp;
  670.     char user_input[30];
  671.     int i = 0;
  672.  
  673.     system("cls");
  674.     fp = fopen("patient.txt", "r");
  675.     if (fp = NULL)
  676.     {
  677.         printf("File Cannot Open");
  678.     }
  679.     else
  680.     {
  681.         printf("Enter Your Patient ID:");
  682.         fflush(stdin);
  683.         gets(user_input);
  684.         do  {
  685.             fscanf(fp, "%s", p1.patient_ID);
  686.  
  687.         } while (!feof(fp));
  688.         printf("Enter Doctor Type:\n");
  689.         gets(p1.doctor_type);
  690.         fprintf(fp, "%s", p1.doctor_type);
  691.         printf("Enter Doctor Name:\n");
  692.         gets(p1.doctor_name);
  693.         fprintf(fp, "%s", p1.doctor_name);
  694.         printf("Enter Appointment Time\n");
  695.         gets(p1.appointment_time);
  696.         fprintf(fp, "%s\n", p1.appointment_time);
  697.         fclose(fp);
  698.     }
  699. }
  700.  
  701.  
  702. int search_appointment()
  703. {
  704.     FILE*fp;
  705.     char user_input[30];
  706.  
  707.  
  708.     system("cls");
  709.     fp = fopen("patient.txt", "r");
  710.     if (fp == NULL)
  711.     {
  712.         printf("File Cannot Open");
  713.     }
  714.     else
  715.     {
  716.         gotoxy(25, 10);
  717.         printf("Enter Your Appointment ID:");
  718.  
  719.     }
  720. }
  721.  
  722. int delete_appointment()
  723. {
  724.     FILE*fp;
  725.     char user_input[30];
  726.  
  727.     system("cls");
  728.     fp = fopen("patient.txt", "r");
  729.     if (fp == NULL)
  730.     {
  731.         printf("File Cannot Open");
  732.     }
  733.     else
  734.     {
  735.         gotoxy(25, 10);
  736.         printf("Enter Your Appointment ID:");
  737.         gets(user_input);
  738.     }
  739. }
  740.  
  741. int modify_appointment()
  742. {
  743.     FILE*fp;
  744.     char user_input[30];
  745.     int i = 0;
  746.  
  747.     system("cls");
  748.     fp = fopen("patient.txt", "r");
  749.     if (fp == NULL)
  750.     {
  751.         printf("File Cannot Open");
  752.     }
  753.     else
  754.     {
  755.         printf("Enter Your Appointment ID:");
  756.         gets(user_input);
  757.  
  758.         for (i = 0; i<100; i++)
  759.         {
  760.             fscanf(fp, "%s", p1.patient_ID);
  761.             if (strcmp(user_input, p1.patient_ID) == 0)
  762.             {
  763.                 printf("Patient Found");
  764.             }
  765.             else
  766.             {
  767.                 printf("Error");
  768.             }
  769.  
  770.         }
  771.     }
  772.  
  773. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement