Advertisement
TH_Pallab

Draft4

Mar 30th, 2017
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 14.66 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdio>
  3. #include <stdlib.h>
  4. #include <conio.h>
  5. #include <string>
  6. using namespace std;
  7.  
  8. int cnt, choice;
  9.  
  10. bool passcheck()
  11. {
  12.     string password;
  13.     char takepass;
  14.     printf("\n\tPlease Enter The Password (Maximum Length 8): ");
  15.     takepass = _getch();
  16.     while (takepass != 13)
  17.     {
  18.         password.push_back(takepass);
  19.         printf("*");
  20.         takepass = _getch();
  21.     }
  22.     if (password == "1234")
  23.         return true;
  24.     else
  25.         return false;
  26. }
  27.  
  28. struct item
  29. {
  30.     string name;
  31.     int price;
  32.     int quantity;
  33.     struct item *nextsnacks;
  34.     struct item *nextmeals;
  35.     struct item *nextdrinks;
  36. }*snacksvariable, *mealsvariable, *drinksvariable, *snackstemp, *mealstemp, *drinkstemp;
  37.  
  38. struct head
  39. {
  40.     int counter;
  41.     struct item *pointer;
  42. }*sheadvariable, *mheadvariable, *dheadvariable;
  43.  
  44. void creat(string putname, int putprice, int putcategory)
  45. {
  46.     if (putcategory == 1)
  47.     {
  48.         snacksvariable = (struct item*) malloc(sizeof (struct item));
  49.         snacksvariable -> name = putname;
  50.         snacksvariable -> price = putprice;
  51.         snacksvariable -> quantity = 10;
  52.         snacksvariable -> nextsnacks = NULL;
  53.         sheadvariable -> counter++;
  54.  
  55.         if (sheadvariable -> counter != 1)
  56.             snacksvariable -> nextsnacks = sheadvariable -> pointer;
  57.         sheadvariable -> pointer = snacksvariable;
  58.         printf("\n\t== Successfully Added a New Snacks Item ==\n");
  59.     }
  60.  
  61.     else if (putcategory == 2)
  62.     {
  63.         mealsvariable = (struct item*) malloc(sizeof (struct item));
  64.         mealsvariable -> name = putname;
  65.         mealsvariable -> price = putprice;
  66.         mealsvariable -> quantity = 10;
  67.         mealsvariable -> nextmeals = NULL;
  68.         mheadvariable -> counter++;
  69.  
  70.         if (mheadvariable -> counter != 1)
  71.             mealsvariable -> nextmeals = mheadvariable -> pointer;
  72.         mheadvariable -> pointer = mealsvariable;
  73.         printf("\n\t== Successfully Added a New Meals Item ==\n");
  74.     }
  75.  
  76.     else if (putcategory == 3)
  77.     {
  78.         drinksvariable = (struct item*) malloc(sizeof (struct item));
  79.         drinksvariable -> name = putname;
  80.         drinksvariable -> price = putprice;
  81.         drinksvariable -> quantity = 10;
  82.         drinksvariable -> nextdrinks = NULL;
  83.         dheadvariable -> counter++;
  84.  
  85.         if (dheadvariable -> counter != 1)
  86.             drinksvariable -> nextdrinks = dheadvariable -> pointer;
  87.         dheadvariable -> pointer = drinksvariable;
  88.         printf("\n\t== Successfully Added a New Drinks Item ==\n");
  89.     }
  90. }
  91.  
  92. void display()
  93. {
  94.     snacksvariable = (struct item*) malloc(sizeof (struct item));
  95.     printf("\nCategories:\n");
  96.     printf("\t1 = Snacks\n");
  97.     printf("\t2 = Meal\n");
  98.     printf("\t3 = Drinks\n");
  99.     printf("\n\tSelect a Category: ");
  100.     scanf("%d",&choice);
  101.     printf("\t-----------------------------------------------------------\n");
  102.     printf("\n\t No.\tName\t\t\tPrice\t\tQuantity\n");
  103.     printf("\t-----------------------------------------------------------\n");
  104.     int number = 0;
  105.     if (choice == 1)
  106.     {
  107.         snackstemp = sheadvariable -> pointer;
  108.         while (snackstemp != NULL)
  109.         {
  110.             number++;
  111.             printf("\t %d.",number);
  112.             cout << "\t" << snackstemp -> name;
  113.             printf("\t\t %d\t\t   %d\n",snackstemp -> price, snackstemp -> quantity);
  114.             snackstemp = snackstemp -> nextsnacks;
  115.         }
  116.     }
  117.  
  118.     else if (choice == 2)
  119.     {
  120.         mealstemp = mheadvariable -> pointer;
  121.         while (mealstemp != NULL)
  122.         {
  123.             number++;
  124.             printf("\t %d.",number);
  125.             cout << "\t" << mealstemp -> name;
  126.             printf("\t\t %d\t\t   %d\n",mealstemp -> price, mealstemp -> quantity);
  127.             mealstemp = mealstemp -> nextmeals;
  128.         }
  129.     }
  130.  
  131.     else if (choice == 3)
  132.     {
  133.         drinkstemp = dheadvariable -> pointer;
  134.         while (drinkstemp != NULL)
  135.         {
  136.             number++;
  137.             printf("\t %d.",number);
  138.             cout << "\t" << drinkstemp -> name;
  139.             printf("\t\t %d\t\t   %d\n",drinkstemp -> price, drinkstemp -> quantity);
  140.             drinkstemp = drinkstemp -> nextdrinks;
  141.         }
  142.     }
  143. }
  144.  
  145. traverse (struct item *temp, int take, int option, int catagory)
  146. {
  147.     if (catagory == 1)
  148.     {
  149.         if (temp != NULL)
  150.         {
  151.             cnt++;
  152.             if (cnt == take)
  153.             {
  154.                 if (option == 1)
  155.                 {
  156.                     int takequantity;
  157.                     printf("\n\tEnter Your Updated Quantity: ");
  158.                     scanf("%d",&takequantity);
  159.                     temp -> quantity = takequantity;
  160.                     printf("\n\t== Successfully Updated The Quantity ==\n");
  161.                 }
  162.  
  163.                 else if (option == -1)
  164.                 {
  165.                     int newprice;
  166.                     printf("\n\tEnter The New Price: ");
  167.                     scanf("%d",&newprice);
  168.                     temp -> price = newprice;
  169.                     printf("\n\t== Successfully Revise The Price ==\n");
  170.                 }
  171.  
  172.                 else if (option == 2)
  173.                 {
  174.                     snackstemp = temp -> nextsnacks;
  175.                     temp -> nextsnacks = snackstemp -> nextsnacks;
  176.                     free(snackstemp);
  177.                     sheadvariable -> counter --;
  178.                     printf("\n\t== Successfully Removed An Item ==\n");
  179.                 }
  180.             }
  181.             traverse (temp -> nextsnacks, take, option, catagory);
  182.         }
  183.     }
  184.  
  185.     else if (catagory == 2)
  186.     {
  187.         if (temp != NULL)
  188.         {
  189.             cnt++;
  190.             if (cnt == take)
  191.             {
  192.                 if (option == 1)
  193.                 {
  194.                     int takequantity;
  195.                     printf("\n\tEnter Your Updated Quantity: ");
  196.                     scanf("%d",&takequantity);
  197.                     temp -> quantity = takequantity;
  198.                     printf("\n\t== Successfully Updated The Quantity ==\n");
  199.                 }
  200.  
  201.                 else if (option == -1)
  202.                 {
  203.                     int newprice;
  204.                     printf("\n\tEnter The New Price: ");
  205.                     scanf("%d",&newprice);
  206.                     temp -> price = newprice;
  207.                     printf("\n\t== Successfully Revise The Price ==\n");
  208.                 }
  209.  
  210.                 else if (option == 2)
  211.                 {
  212.                     mealstemp = temp -> nextmeals;
  213.                     temp -> nextmeals = mealstemp -> nextmeals;
  214.                     free(mealstemp);
  215.                     mheadvariable -> counter --;
  216.                     printf("\n\t== Successfully Removed An Item ==\n");
  217.                 }
  218.             }
  219.             traverse (temp -> nextmeals, take, option, catagory);
  220.         }
  221.     }
  222.  
  223.     else if (catagory == 3)
  224.     {
  225.         if (temp != NULL)
  226.         {
  227.             cnt++;
  228.             if (cnt == take)
  229.             {
  230.                 if (option == 1)
  231.                 {
  232.                     int takequantity;
  233.                     printf("\n\tEnter Your Updated Quantity: ");
  234.                     scanf("%d",&takequantity);
  235.                     temp -> quantity = takequantity;
  236.                     printf("\n\t== Successfully Updated The Quantity ==\n");
  237.                 }
  238.  
  239.                 else if (option == -1)
  240.                 {
  241.                     int newprice;
  242.                     printf("\n\tEnter The New Price: ");
  243.                     scanf("%d",&newprice);
  244.                     temp -> price = newprice;
  245.                     printf("\n\t== Successfully Revise The Price ==\n");
  246.                 }
  247.  
  248.                 else if (option == 2)
  249.                 {
  250.                     drinkstemp = temp -> nextdrinks;
  251.                     temp -> nextdrinks = drinkstemp -> nextdrinks;
  252.                     free(drinkstemp);
  253.                     dheadvariable -> counter --;
  254.                     printf("\n\t== Successfully Removed An Item ==\n");
  255.                 }
  256.             }
  257.             traverse (temp -> nextdrinks, take, option, catagory);
  258.         }
  259.     }
  260. }
  261.  
  262. int main()
  263. {
  264.     sheadvariable = (struct head*) malloc(sizeof (struct head));
  265.     sheadvariable -> counter = 0;
  266.     sheadvariable -> pointer = NULL;
  267.  
  268.     mheadvariable = (struct head*) malloc(sizeof (struct head));
  269.     mheadvariable -> counter = 0;
  270.     mheadvariable -> pointer = NULL;
  271.  
  272.     dheadvariable = (struct head*) malloc(sizeof (struct head));
  273.     dheadvariable -> counter = 0;
  274.     dheadvariable -> pointer = NULL;
  275.  
  276.     printf("\n\t*************** WELCOME TO THE SUPER RESTURENT ***************\n");
  277.     printf("\t--------------------------------------------------------------\n");
  278.  
  279.     mainmenu:
  280.  
  281.     int user_choice;
  282.     string password;
  283.     char takepass;
  284.  
  285.     printf("\nUsers:\n");
  286.     printf("\t1 = Admin\n\t2 = Customer\n\t0 = Exit\n\n");
  287.     printf("\tYour Choice: ");
  288.     scanf("%d",&user_choice);
  289.  
  290.     if (user_choice == 1)
  291.     {
  292.         if (passcheck() == true)
  293.         {
  294.             printf("\n\n");
  295.             adminlevel:
  296.             int adminchoice, takecategory, takenumber;
  297.             printf("\t1 = Add a New Item.\n");
  298.             printf("\t2 = Update Some Quantity.\n");
  299.             printf("\t3 = Revise Some Price.\n");
  300.             printf("\t4 = Remove Some Item.\n");
  301.             printf("\t5 = Display The Menu.\n");
  302.             printf("\t6 = Return Main Menu.\n");
  303.             printf("\n\tEnter Your Choice: ");
  304.             scanf("%d",&adminchoice);
  305.  
  306.             if (adminchoice == 1)
  307.             {
  308.                 int take, tempprice;
  309.                 string tempname;
  310.                 printf("\nCategories:\n");
  311.                 printf("\t1 = Snacks\n");
  312.                 printf("\t2 = Meal\n");
  313.                 printf("\t3 = Drinks\n");
  314.                 printf("\n\tSelect a Category: ");
  315.                 scanf("%d",&take);
  316.                 cin.ignore();
  317.                 printf("\n\tPlease Enter The Name of This Item: ");
  318.                 getline(cin, tempname);
  319.                 printf("\n\tPlease Enter The Price: ");
  320.                 scanf("%d",&tempprice);
  321.                 creat(tempname, tempprice, take);
  322.             }
  323.  
  324.             else if (adminchoice == 2 || adminchoice == 3 || adminchoice == 4)
  325.             {
  326.                 display();
  327.                 printf("\n\tPlease Choose The Number of Your Required Item: ");
  328.                 scanf("%d",&takenumber);
  329.                 if (choice == 1)
  330.                 {
  331.                     cnt = 0;
  332.                     if (adminchoice == 2)
  333.                         traverse(sheadvariable -> pointer, takenumber, 1, choice);
  334.                     else if (adminchoice == 3)
  335.                         traverse(sheadvariable -> pointer, takenumber, -1, choice);
  336.                     else if (adminchoice == 4)
  337.                     {
  338.                         if (takenumber == 1)
  339.                         {
  340.                             snackstemp = sheadvariable -> pointer;
  341.                             sheadvariable -> pointer = sheadvariable -> pointer -> nextsnacks;
  342.                             free(snackstemp);
  343.                             sheadvariable -> counter --;
  344.                             printf("\n\t== Successfully Removed An Item ==\n");
  345.                         }
  346.                         else
  347.                             traverse(sheadvariable -> pointer, --takenumber, 2, choice);
  348.                     }
  349.                 }
  350.  
  351.                 else if (choice == 2)
  352.                 {
  353.                     cnt = 0;
  354.                     if (adminchoice == 2)
  355.                         traverse(mheadvariable -> pointer, takenumber, 1, choice);
  356.                     else if (adminchoice == 3)
  357.                         traverse(mheadvariable -> pointer, takenumber, -1, choice);
  358.                     else if (adminchoice == 4)
  359.                     {
  360.                         if (takenumber == 1)
  361.                         {
  362.                             mealstemp = mheadvariable -> pointer;
  363.                             mheadvariable -> pointer = mheadvariable -> pointer -> nextmeals;
  364.                             free(mealstemp);
  365.                             mheadvariable -> counter --;
  366.                             printf("\n\t== Successfully Removed An Item ==\n");
  367.                         }
  368.                         else
  369.                             traverse(mheadvariable -> pointer, --takenumber, 2, choice);
  370.                     }
  371.                 }
  372.  
  373.                 else if (choice == 3)
  374.                 {
  375.                     cnt = 0;
  376.                     if (adminchoice == 2)
  377.                         traverse(dheadvariable -> pointer, takenumber, 1, choice);
  378.                     else if (adminchoice == 3)
  379.                         traverse(dheadvariable -> pointer, takenumber, -1, choice);
  380.                     else if (adminchoice == 4)
  381.                     {
  382.                         if (takenumber == 1)
  383.                         {
  384.                             drinkstemp = dheadvariable -> pointer;
  385.                             dheadvariable -> pointer = dheadvariable -> pointer -> nextdrinks;
  386.                             free(drinkstemp);
  387.                             dheadvariable -> counter --;
  388.                             printf("\n\t== Successfully Removed An Item ==\n");
  389.                         }
  390.                         else
  391.                             traverse(dheadvariable -> pointer, --takenumber, 2, choice);
  392.                     }
  393.                 }
  394.             }
  395.  
  396.             else if (adminchoice == 5)
  397.                 display();
  398.  
  399.             else if (adminchoice == 6)
  400.                 goto mainmenu;
  401.  
  402.             printf("\n");
  403.             goto adminlevel;
  404.         }
  405.         else
  406.         {
  407.             printf("\tInvalid Password! You Cannot Access This Feature.\n");
  408.             goto mainmenu;
  409.         }
  410.     }
  411.  
  412.     else if (user_choice == 2)
  413.     {
  414.         int customer_choice;
  415.         printf("\n\t*************** WELCOME TO THE SUPER RESTURENT ***************\n");
  416.         printf("\t--------------------------------------------------------------\n");
  417.         customerlevel:
  418.         printf("\n\t1 = Display Full Menu.\n");
  419.         printf("\t2 = Make Your Choice.\n");
  420.         printf("\t0 = Leave.\n");
  421.         printf("\tPlease Enter Your Choice: ");
  422.         scanf("%d",&customer_choice);
  423.  
  424.         if (customer_choice == 1)
  425.             display();
  426.  
  427.         else if (customer_choice == 2)
  428.         {
  429.             display();
  430.         }
  431.  
  432.         goto customerlevel;
  433.     }
  434.  
  435.     else if (user_choice == 0)
  436.     {
  437.         printf("\n\tThank You.\n");
  438.         return 0;
  439.     }
  440.  
  441.     else
  442.     {
  443.         printf("\n\tUnknown Option. Please Try Again.\n");
  444.         goto mainmenu;
  445.     }
  446. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement