Advertisement
Guest User

hotel

a guest
Feb 15th, 2019
267
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 10.26 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #include<ctype.h>
  4. #include<windows.h>
  5. #include<stdlib.h>
  6. #include<time.h>
  7.  
  8. void add();  //FUNCTIONS
  9. void list();
  10. void edit();  //GLOBALLY DECLARED FUNCTIONS N VARIABLE
  11. void delete1();
  12. void search();
  13.  
  14.  
  15. void login()
  16. {
  17.  
  18.     int a=0,i=0;
  19.     char uname[10],c=' ';
  20.     char pword[10],code[10];
  21.     char user[10]="jms210";
  22.     char pass[10]="210210";
  23.     do
  24. {
  25.     system("cls");
  26.  
  27.     printf("\n  **************************  LOGIN FORM  **************************  ");
  28.     printf(" \n                       ENTER USERNAME:-");
  29.     scanf("%s", &uname);
  30.     printf(" \n                       ENTER PASSWORD:-");
  31.     while(i<10)
  32.     {
  33.         pword[i]=getch();
  34.         c=pword[i];
  35.         if(c==13) break;
  36.         else printf("*");
  37.         i++;
  38.     }
  39.     pword[i]='\0';
  40.     //char code=pword;
  41.     i=0;
  42.     //scanf("%s",&pword);
  43.         if(strcmp(uname,user)==0 && strcmp(pword,pass)==0)
  44.     {
  45.     printf("  \n\n\n       WELCOME !!!! LOGIN IS SUCCESSFUL");
  46.  
  47.     break;
  48.     }
  49.     else
  50.     {
  51.         printf("\n        SORRY !!!!  LOGIN IS UNSUCESSFUL");
  52.         a++;
  53.  
  54.         getch();
  55.  
  56.     }
  57. }
  58.     while(a<=2);
  59.     if (a>2)
  60.     {
  61.         printf("\nSorry you have entered the wrong username and password for four times!!!");
  62.  
  63.         getch();
  64.  
  65.         }
  66.         system("cls");
  67. }
  68.  
  69. struct CustomerDetails   //STRUCTURE DECLARATION
  70. {
  71.     char roomnumber[10];
  72.     char name[20];
  73.     char address[25];
  74.     char phonenumber[15];
  75.     char nationality[15];
  76.     //char email[20];
  77.     char period[10];
  78.     char arrivaldate[10];
  79. }s;
  80.  
  81. int main(){     // MAIN FUNCTION
  82.     int i=0;
  83.  
  84.     time_t t;
  85.     time(&t);
  86.     char customername;
  87.     char choice;
  88.  
  89.     system("cls");   // FOR CLEARING SCREEN
  90.     //setcolor(15);
  91.  
  92.     printf("\t\t*************************************************\n");
  93.     printf("\t\t*                                               *\n");
  94.     printf("\t\t*       -----------------------------           *\n");
  95.     printf("\t\t*         WELCOME TO HOTEL JMS210               *\n");
  96.     printf("\t\t*       -----------------------------           *\n");
  97.     printf("\t\t*                                               *\n");
  98.     printf("\t\t*                                               *\n");
  99.     printf("\t\t*                                               *\n");
  100.     printf("\t\t*                                               *\n");
  101.     printf("\t\t*                                               *\n");
  102.     printf("\t\t*           CONTACT US:01761611116              *\n");
  103.     printf("\t\t*************************************************\n\n\n");
  104.         for(i=0;i<80;i++)
  105.         printf("-");
  106.         printf("\nCurrent date and time : %s",ctime(&t));
  107.         for(i=0;i<80;i++)
  108.         printf("-");
  109.     printf(" \n Press any key to continue:");
  110.  
  111.     getch();
  112.     system("cls");
  113.     login();
  114.     system("cls");
  115.     while (1)      // INFINITE LOOP
  116.     {
  117.         system("cls");
  118.         //setcolor(10);
  119.          for(i=0;i<80;i++)
  120.         printf("-");
  121.         printf("\n");
  122.         printf("   ******************************  |MAIN MENU|  ***************************** \n");
  123.         for(i=0;i<80;i++)
  124.         printf("-");
  125.         printf("\n");
  126.         //setcolor(10);
  127.         printf("\t\t *Please enter your choice for menu*:");
  128.         printf("\n\n");
  129.         printf(" \n Enter 1 -> Book a room");
  130.         printf("\n------------------------");
  131.         printf(" \n Enter 2 -> View Customer Record");
  132.         printf("\n----------------------------------");
  133.         printf(" \n Enter 3 -> Delete Customer Record");
  134.         printf("\n-----------------------------------");
  135.         printf(" \n Enter 4 -> Search Customer Record");
  136.         printf("\n-----------------------------------");
  137.         printf(" \n Enter 5 -> Edit Record");
  138.         printf("\n-----------------------");
  139.         printf(" \n Enter 6 -> Exit");
  140.         printf("\n-----------------");
  141.         printf("\n");
  142.         for(i=0;i<80;i++)
  143.         printf("-");
  144.         printf("\nCurrent date and time : %s",ctime(&t));
  145.         for(i=0;i<80;i++)
  146.         printf("-");
  147.  
  148.         choice=getche();
  149.         choice=toupper(choice);
  150.         switch(choice)           // SWITCH STATEMENT
  151.         {
  152.             case '1':
  153.                 add();break;
  154.             case '2':
  155.                 list();break;
  156.             case '3':
  157.                 delete1();break;
  158.             case '4':
  159.                 search();break;
  160.             case '5':
  161.                 edit();break;
  162.             case '6':
  163.                 system("cls");
  164.                 printf("\n\n\t *****THANK YOU*****");
  165.                 printf("\n\t FOR TRUSTING OUR SERVICE");
  166.             //  Sleep(2000);
  167.                 exit(0);
  168.                 break;
  169.             default:
  170.                 system("cls");
  171.                 printf("Incorrect Input");
  172.                 printf("\n Press any key to continue");
  173.                 getch();
  174.         }
  175.     }
  176. }
  177. int availability(int room)
  178. {
  179.     FILE *file=fopen("abc.txt","r");
  180.     FILE *file2=fopen("abc2.txt","w");
  181.     char line[100],avail[100];
  182.     char d1,d2;
  183.     int num,b=0;
  184.     while (fgets(line, sizeof(line), file) != NULL)
  185.     {
  186.  
  187.         sscanf(line,"%c %d %c %s",&d1,&num,&d2,avail);
  188.         if(num==room)
  189.         {
  190.             char news[100]="not available";
  191.  
  192.             if(avail[0]=='a')
  193.             {
  194.                 int k,j;
  195.                 for(k=8,j=0;j<strlen(news);j++,k++)
  196.                 {
  197.                     line[k]=news[j];
  198.  
  199.                 }
  200.                 line[k]='\n';
  201.                 line[k+1]='\0';
  202.  
  203.                 fputs(line,file2);
  204.                 b=1;
  205.             }
  206.             else
  207.             {
  208.                 fputs(line,file2);
  209.             }
  210.  
  211.         }
  212.         else
  213.             fputs(line,file2);
  214.     }
  215.     fclose(file);
  216.     fclose(file2);
  217.     remove("abc.txt");
  218.     rename("abc2.txt","abc.txt");
  219.     return b;
  220. }
  221. void add()
  222. {
  223.     FILE *f;
  224.     char test;
  225.     f=fopen("add.txt","a+");
  226.     if(f==0)
  227.     {   f=fopen("add.txt","w+");
  228.         system("cls");
  229.         printf("Please hold on while we set our database in your computer!!");
  230.         printf("\n Process completed press any key to continue!! ");
  231.         getch();
  232.     }
  233.     while(1)
  234.     {
  235.         system("cls");
  236.         printf("\n Enter Customer Details:");
  237.         printf("\n**************************");
  238.  
  239.  
  240.         while(1)
  241.         {
  242.             printf("\n Enter Room number:\n");
  243.             scanf("\n%s",s.roomnumber);
  244.             int te=atoi(s.roomnumber);
  245.             fflush(stdin);
  246.             int r=availability(te);
  247.             if(r==1)break;
  248.             else printf("\n Room not available\n");
  249.  
  250.         }
  251.         printf("Enter Name:\n");
  252.         scanf("%s",s.name);
  253.         printf("Enter Address:\n");
  254.         scanf("%s",s.address);
  255.         printf("Enter Phone Number:\n");
  256.         scanf("%s",s.phonenumber);
  257.         printf("Enter Nationality:\n");
  258.         scanf("%s",s.nationality);
  259.         //printf("Enter Email:\n");
  260.         //scanf(" %s",s.email);
  261.         printf("Enter Period(\'x\'days):\n");
  262.         scanf("%s",&s.period);
  263.         printf("Enter Arrival date(dd\\mm\\yyyy):\n");
  264.         scanf("%s",&s.arrivaldate);
  265.         fwrite(&s,sizeof(s),1,f);
  266.         fflush(stdin);
  267.         printf("\n\n1 Room is successfully booked!!");
  268.         printf("\n Press esc key to exit,  any other key to add another customer detail:");
  269.         test=getche();
  270.         if(test==27)
  271.             break;
  272.  
  273.     }
  274.     fclose(f);
  275. }
  276.  
  277. void list()
  278. {
  279.     FILE *f;
  280.     int i;
  281.     if((f=fopen("add.txt","r"))==NULL)
  282.         exit(0);
  283.     system("cls");
  284.     printf("ROOM    ");
  285.     printf("NAME\t ");
  286.     printf("\tADDRESS ");
  287.     printf("\tPHONENUMBER ");
  288.     printf("\tNATIONALITY ");
  289.     //printf("\tEMAIL ");
  290.     printf("\t\t  PERIOD ");
  291.     printf("\t ARRIVALDATE \n");
  292.  
  293.     for(i=0;i<118;i++)
  294.         printf("-");
  295.     while(fread(&s,sizeof(s),1,f)==1)
  296.     {
  297.         /*printf("ROOMNUMBER :\t%s\n",s.roomnumber);
  298.         printf("NAME:\t%s\n",,s.name);
  299.         printf("ADDRESS:\t%s\n",s.address);
  300.         printf("PHONENUMBER:\t%s\n",s.phonenumber);
  301.         printf("NATIONALITY \n");*/
  302.         printf("\n%s \t%s \t\t%s \t\t%s \t%s  \t%s  \t     %s  \t  %s",s.roomnumber, s.name , s.address , s.phonenumber , s.nationality, s.period,  s.arrivaldate);
  303.     }
  304.     printf("\n");
  305.     for(i=0;i<118;i++)
  306.         printf("-");
  307.  
  308.     fclose(f);
  309.     getch();
  310. }
  311.  
  312. void delete1()
  313. {
  314.     FILE *f,*t;
  315.     int i=1;
  316.     char roomnumber[20];
  317.     if((t=fopen("temp.txt","w"))==NULL)
  318.     exit(0);
  319.     if((f=fopen("add.txt","r"))==NULL)
  320.     exit(0);
  321.     system("cls");
  322.     printf("Enter the Room Number of the hotel to be deleted from the database: \n");
  323.     fflush(stdin);
  324.     scanf("%s",roomnumber);
  325.     while(fread(&s,sizeof(s),1,f)==1)
  326.     {
  327.         if(strcmp(s.roomnumber,roomnumber)==0)
  328.         {       i=0;
  329.             continue;
  330.         }
  331.         else
  332.             fwrite(&s,sizeof(s),1,t);
  333.     }
  334.     if(i==1)
  335.     {
  336.         printf("\n\n Records of Customer in this  Room number is not found!!");
  337.         //remove("E:/file.txt");
  338.        //rename("E:/temp.txt","E:/file.txt");
  339.         getch();
  340.         fclose(f);
  341.         fclose(t);
  342.         main();
  343.     }
  344.     fclose(f);
  345.     fclose(t);
  346.     remove("add.txt");
  347.     rename("temp.txt","add.txt");
  348.     printf("\n\nThe Customer is successfully removed....");
  349.     fclose(f);
  350.     fclose(t);
  351.     getch();
  352. }
  353.  
  354. void search()
  355. {
  356. system("cls");
  357.     FILE *f;
  358.     char roomnumber[20];
  359.     int flag=1;
  360.     f=fopen("add.txt","r+");
  361.     if(f==0)
  362.         exit(0);
  363.     fflush(stdin);
  364.     printf("Enter Room number of the customer to search its details: \n");
  365.     scanf("%s", roomnumber);
  366.     while(fread(&s,sizeof(s),1,f)==1)
  367.     {
  368.         if(strcmp(s.roomnumber,roomnumber)==0){
  369.             flag=0;
  370.             printf("\n\tRecord Found\n ");
  371.             printf("\nRoom Number:\t%s",s.roomnumber);
  372.             printf("\nName:\t%s",s.name);
  373.             printf("\nAddress:\t%s",s.address);
  374.             printf("\nPhone number:\t%s",s.phonenumber);
  375.             printf("\nNationality:\t%s",s.nationality);
  376.             //printf("\nEmail:\t%s",s.email);
  377.             printf("\nPeriod:\t%s",s.period);
  378.             printf("\nArrival date:\t%s",s.arrivaldate);
  379.             flag=0;
  380.             break;
  381.         }
  382.     }
  383.     if(flag==1){
  384.         printf("\n\tRequested Customer could not be found!");
  385.     }
  386.     getch();
  387.     fclose(f);
  388. }
  389.  
  390. void edit()
  391. {
  392.     FILE *f;
  393.     int k=1;
  394.     char roomnumber[20];
  395.     long int size=sizeof(s);
  396.     if((f=fopen("add.txt","r+"))==NULL)
  397.         exit(0);
  398.     system("cls");
  399.     printf("Enter Room number of the customer to edit:\n\n");
  400.     scanf("%[^\n]",roomnumber);
  401.     fflush(stdin);
  402.     while(fread(&s,sizeof(s),1,f)==1)
  403.     {
  404.         if(strcmp(s.roomnumber,roomnumber)==0)
  405.         {
  406.             k=0;
  407.             printf("\nEnter Room Number     :");
  408.             gets(s.roomnumber);
  409.             printf("\nEnter Name    :");
  410.             fflush(stdin);
  411.             scanf("%s",&s.name);
  412.             printf("\nEnter Address        :");
  413.             scanf("%s",&s.address);
  414.             printf("\nEnter Phone number :");
  415.             scanf("%f",&s.phonenumber);
  416.             printf("\nEnter Nationality :");
  417.             scanf("%s",&s.nationality);
  418.             //printf("\nEnter Email :");
  419.             //scanf("%s",&s.email);
  420.             printf("\nEnter Period :");
  421.             scanf("%s",&s.period);
  422.             printf("\nEnter Arrival date :");
  423.             scanf("%s",&s.arrivaldate);
  424.             fseek(f,size,SEEK_CUR);  //to go to desired position infile
  425.             fwrite(&s,sizeof(s),1,f);
  426.             break;
  427.         }
  428.     }
  429.     if(k==1){
  430.         printf("\n\nTHE RECORD DOESN'T EXIST!!!!");
  431.         fclose(f);
  432.         getch();
  433.     }else{
  434.     fclose(f);
  435.     printf("\n\n\t\tYOUR RECORD IS SUCCESSFULLY EDITED!!!");
  436.     getch();
  437. }
  438. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement