Advertisement
12345678900987654323

123

May 31st, 2016
357
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.     long position;
  527.  
  528.  
  529.     fp = fopen("patient.txt", "r");
  530.      if(fp==NULL)
  531.         {
  532.             exit(1);
  533.             printf("File cannot open");
  534.         }
  535.  
  536.      else
  537.      {
  538.          char buffer[200];
  539.          char input[200];
  540.          char tok[200];
  541.          int found = 1;
  542.  
  543.          printf("Enter the id: ");
  544.          fflush(stdin);
  545.         gets(input);
  546.  
  547.         position = ftell(fp);
  548.  
  549.          while(fgets(buffer,200,fp) != NULL)
  550.          {
  551.  
  552.              strcpy(tok,buffer);
  553.              token = strtok(tok, s);
  554.              if(strstr(token,input)!=NULL)
  555.              {
  556.                 fgetpos(fp, position);
  557.                   fscanf(fp,"%s %s %s %s %s %s %s %s %s %s",p1.patient_ID
  558.                          ,p1.patient_name
  559.                           ,p1.gender
  560.                            ,p1.contact_num
  561.                             ,p1.age
  562.                              ,p1.address
  563.                               ,p1.city
  564.                                ,p1.zipcode
  565.                                 ,p1.state
  566.                                  ,p1.appointment_time);
  567.  
  568.                     printf("name: %s\n",p1.patient_name);
  569.                     printf("Gender: %s\n",p1.gender);
  570.                     printf("age: %s\n",p1.age);
  571.                     printf("address: %s\n",p1.address);
  572.                   found = 0;
  573.              }
  574.  
  575.             position = ftell(fp);
  576.          }
  577.          if(found == 1)
  578.             printf("ID not found");
  579.  
  580.          if(feof(fp))
  581.          {
  582.              printf("\n");
  583.          }
  584.          else
  585.          {
  586.             printf("\nError");
  587.              exit(1);
  588.          }
  589.  
  590.      }
  591.      fclose(fp);
  592.  
  593.  
  594.     system("pause");
  595.     reception_patient_menu();
  596. }
  597.  
  598. int delete_patient()
  599. {
  600.     FILE*fp;
  601.     system("cls");
  602.     char user_input[30];
  603.     fp = fopen("patient.txt", "r");
  604.     if (fp = NULL)
  605.     {
  606.         printf("File Cannot Open");
  607.     }
  608.     else
  609.     {
  610.         gotoxy(25, 10);
  611.         printf("Enter Your Patient Name:\n");
  612.         fflush(stdin);
  613.         gets(user_input);
  614.         fscanf(fp, "%s", p1.patient_name);
  615.         {
  616.             if (strcmp(user_input, p1.patient_name) == 0)
  617.             {
  618.                 fscanf(fp, "%s", p1.patient_name);
  619.                 printf("Patient Name    :%s\n", p1.patient_name);
  620.                 fscanf(fp, "%s", p1.patient_ID);
  621.                 printf("Patient ID     :%s", p1.patient_ID);
  622.             }
  623.             else
  624.             {
  625.                 printf("Patient Name Cannot Find");
  626.             }
  627.         }
  628.     }
  629. }
  630.  
  631. int modify_patient()
  632. {
  633.     char user_input[30];
  634.     system("cls");
  635.     FILE*fp;
  636.     fp = fopen("patient.txt", "r");
  637.     if (fp = NULL)
  638.     {
  639.         printf("File Cannot Open");
  640.     }
  641.     else
  642.     {
  643.         gotoxy(25, 10);
  644.         fflush(stdin);
  645.         printf("Enter Your Patient Name:\n");
  646.         gets(user_input);
  647.  
  648.         printf("%s", user_input);
  649.         {
  650.             if (strcmp(user_input, p1.patient_name) == 0)
  651.             {
  652.                 fscanf(fp, "%s", p1.patient_name);
  653.                 printf("Patient Name    :%s\n", p1.patient_name);
  654.                 fscanf(fp, "%s", p1.patient_ID);
  655.                 printf("Patient ID     :%s", p1.patient_ID);
  656.             }
  657.             else
  658.             {
  659.                 printf("Patient Name Cannot Find");
  660.             }
  661.         }
  662.     }
  663. }
  664.  
  665. int add_appointment()
  666. {
  667.     FILE*fp;
  668.     char user_input[30];
  669.     int i = 0;
  670.  
  671.     system("cls");
  672.     fp = fopen("patient.txt", "r");
  673.     if (fp = NULL)
  674.     {
  675.         printf("File Cannot Open");
  676.     }
  677.     else
  678.     {
  679.         printf("Enter Your Patient ID:");
  680.         fflush(stdin);
  681.         gets(user_input);
  682.         do  {
  683.             fscanf(fp, "%s", p1.patient_ID);
  684.  
  685.         } while (!feof(fp));
  686.         printf("Enter Doctor Type:\n");
  687.         gets(p1.doctor_type);
  688.         fprintf(fp, "%s", p1.doctor_type);
  689.         printf("Enter Doctor Name:\n");
  690.         gets(p1.doctor_name);
  691.         fprintf(fp, "%s", p1.doctor_name);
  692.         printf("Enter Appointment Time\n");
  693.         gets(p1.appointment_time);
  694.         fprintf(fp, "%s\n", p1.appointment_time);
  695.         fclose(fp);
  696.     }
  697. }
  698.  
  699.  
  700. int search_appointment()
  701. {
  702.     FILE*fp;
  703.     char user_input[30];
  704.  
  705.  
  706.     system("cls");
  707.     fp = fopen("patient.txt", "r");
  708.     if (fp == NULL)
  709.     {
  710.         printf("File Cannot Open");
  711.     }
  712.     else
  713.     {
  714.         gotoxy(25, 10);
  715.         printf("Enter Your Appointment ID:");
  716.  
  717.     }
  718. }
  719.  
  720. int delete_appointment()
  721. {
  722.     FILE*fp;
  723.     char user_input[30];
  724.  
  725.     system("cls");
  726.     fp = fopen("patient.txt", "r");
  727.     if (fp == NULL)
  728.     {
  729.         printf("File Cannot Open");
  730.     }
  731.     else
  732.     {
  733.         gotoxy(25, 10);
  734.         printf("Enter Your Appointment ID:");
  735.         gets(user_input);
  736.     }
  737. }
  738.  
  739. int modify_appointment()
  740. {
  741.     FILE*fp;
  742.     char user_input[30];
  743.     int i = 0;
  744.  
  745.     system("cls");
  746.     fp = fopen("patient.txt", "r");
  747.     if (fp == NULL)
  748.     {
  749.         printf("File Cannot Open");
  750.     }
  751.     else
  752.     {
  753.         printf("Enter Your Appointment ID:");
  754.         gets(user_input);
  755.  
  756.         for (i = 0; i<100; i++)
  757.         {
  758.             fscanf(fp, "%s", p1.patient_ID);
  759.             if (strcmp(user_input, p1.patient_ID) == 0)
  760.             {
  761.                 printf("Patient Found");
  762.             }
  763.             else
  764.             {
  765.                 printf("Error");
  766.             }
  767.  
  768.         }
  769.     }
  770.  
  771. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement