Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdio>
- #include <stdlib.h>
- #include <conio.h>
- #include <string>
- using namespace std;
- int cnt, choice;
- bool passcheck()
- {
- string password;
- char takepass;
- printf("\n\tPlease Enter The Password (Maximum Length 8): ");
- takepass = _getch();
- while (takepass != 13)
- {
- password.push_back(takepass);
- printf("*");
- takepass = _getch();
- }
- if (password == "1234")
- return true;
- else
- return false;
- }
- struct item
- {
- string name;
- int price;
- int quantity;
- struct item *nextsnacks;
- struct item *nextmeals;
- struct item *nextdrinks;
- }*snacksvariable, *mealsvariable, *drinksvariable, *snackstemp, *mealstemp, *drinkstemp;
- struct head
- {
- int counter;
- struct item *pointer;
- }*sheadvariable, *mheadvariable, *dheadvariable;
- void creat(string putname, int putprice, int putcategory)
- {
- if (putcategory == 1)
- {
- snacksvariable = (struct item*) malloc(sizeof (struct item));
- snacksvariable -> name = putname;
- snacksvariable -> price = putprice;
- snacksvariable -> quantity = 10;
- snacksvariable -> nextsnacks = NULL;
- sheadvariable -> counter++;
- if (sheadvariable -> counter != 1)
- snacksvariable -> nextsnacks = sheadvariable -> pointer;
- sheadvariable -> pointer = snacksvariable;
- printf("\n\t== Successfully Added a New Snacks Item ==\n");
- }
- else if (putcategory == 2)
- {
- mealsvariable = (struct item*) malloc(sizeof (struct item));
- mealsvariable -> name = putname;
- mealsvariable -> price = putprice;
- mealsvariable -> quantity = 10;
- mealsvariable -> nextmeals = NULL;
- mheadvariable -> counter++;
- if (mheadvariable -> counter != 1)
- mealsvariable -> nextmeals = mheadvariable -> pointer;
- mheadvariable -> pointer = mealsvariable;
- printf("\n\t== Successfully Added a New Meals Item ==\n");
- }
- else if (putcategory == 3)
- {
- drinksvariable = (struct item*) malloc(sizeof (struct item));
- drinksvariable -> name = putname;
- drinksvariable -> price = putprice;
- drinksvariable -> quantity = 10;
- drinksvariable -> nextdrinks = NULL;
- dheadvariable -> counter++;
- if (dheadvariable -> counter != 1)
- drinksvariable -> nextdrinks = dheadvariable -> pointer;
- dheadvariable -> pointer = drinksvariable;
- printf("\n\t== Successfully Added a New Drinks Item ==\n");
- }
- }
- void display()
- {
- snacksvariable = (struct item*) malloc(sizeof (struct item));
- printf("\nCategories:\n");
- printf("\t1 = Snacks\n");
- printf("\t2 = Meal\n");
- printf("\t3 = Drinks\n");
- printf("\n\tSelect a Category: ");
- scanf("%d",&choice);
- printf("\t-----------------------------------------------------------\n");
- printf("\n\t No.\tName\t\t\tPrice\t\tQuantity\n");
- printf("\t-----------------------------------------------------------\n");
- int number = 0;
- if (choice == 1)
- {
- snackstemp = sheadvariable -> pointer;
- while (snackstemp != NULL)
- {
- number++;
- printf("\t %d.",number);
- cout << "\t" << snackstemp -> name;
- printf("\t\t %d\t\t %d\n",snackstemp -> price, snackstemp -> quantity);
- snackstemp = snackstemp -> nextsnacks;
- }
- }
- else if (choice == 2)
- {
- mealstemp = mheadvariable -> pointer;
- while (mealstemp != NULL)
- {
- number++;
- printf("\t %d.",number);
- cout << "\t" << mealstemp -> name;
- printf("\t\t %d\t\t %d\n",mealstemp -> price, mealstemp -> quantity);
- mealstemp = mealstemp -> nextmeals;
- }
- }
- else if (choice == 3)
- {
- drinkstemp = dheadvariable -> pointer;
- while (drinkstemp != NULL)
- {
- number++;
- printf("\t %d.",number);
- cout << "\t" << drinkstemp -> name;
- printf("\t\t %d\t\t %d\n",drinkstemp -> price, drinkstemp -> quantity);
- drinkstemp = drinkstemp -> nextdrinks;
- }
- }
- }
- traverse (struct item *temp, int take, int option, int catagory)
- {
- if (catagory == 1)
- {
- if (temp != NULL)
- {
- cnt++;
- if (cnt == take)
- {
- if (option == 1)
- {
- int takequantity;
- printf("\n\tEnter Your Updated Quantity: ");
- scanf("%d",&takequantity);
- temp -> quantity = takequantity;
- printf("\n\t== Successfully Updated The Quantity ==\n");
- }
- else if (option == -1)
- {
- int newprice;
- printf("\n\tEnter The New Price: ");
- scanf("%d",&newprice);
- temp -> price = newprice;
- printf("\n\t== Successfully Revise The Price ==\n");
- }
- else if (option == 2)
- {
- snackstemp = temp -> nextsnacks;
- temp -> nextsnacks = snackstemp -> nextsnacks;
- free(snackstemp);
- sheadvariable -> counter --;
- printf("\n\t== Successfully Removed An Item ==\n");
- }
- }
- traverse (temp -> nextsnacks, take, option, catagory);
- }
- }
- else if (catagory == 2)
- {
- if (temp != NULL)
- {
- cnt++;
- if (cnt == take)
- {
- if (option == 1)
- {
- int takequantity;
- printf("\n\tEnter Your Updated Quantity: ");
- scanf("%d",&takequantity);
- temp -> quantity = takequantity;
- printf("\n\t== Successfully Updated The Quantity ==\n");
- }
- else if (option == -1)
- {
- int newprice;
- printf("\n\tEnter The New Price: ");
- scanf("%d",&newprice);
- temp -> price = newprice;
- printf("\n\t== Successfully Revise The Price ==\n");
- }
- else if (option == 2)
- {
- mealstemp = temp -> nextmeals;
- temp -> nextmeals = mealstemp -> nextmeals;
- free(mealstemp);
- mheadvariable -> counter --;
- printf("\n\t== Successfully Removed An Item ==\n");
- }
- }
- traverse (temp -> nextmeals, take, option, catagory);
- }
- }
- else if (catagory == 3)
- {
- if (temp != NULL)
- {
- cnt++;
- if (cnt == take)
- {
- if (option == 1)
- {
- int takequantity;
- printf("\n\tEnter Your Updated Quantity: ");
- scanf("%d",&takequantity);
- temp -> quantity = takequantity;
- printf("\n\t== Successfully Updated The Quantity ==\n");
- }
- else if (option == -1)
- {
- int newprice;
- printf("\n\tEnter The New Price: ");
- scanf("%d",&newprice);
- temp -> price = newprice;
- printf("\n\t== Successfully Revise The Price ==\n");
- }
- else if (option == 2)
- {
- drinkstemp = temp -> nextdrinks;
- temp -> nextdrinks = drinkstemp -> nextdrinks;
- free(drinkstemp);
- dheadvariable -> counter --;
- printf("\n\t== Successfully Removed An Item ==\n");
- }
- }
- traverse (temp -> nextdrinks, take, option, catagory);
- }
- }
- }
- int main()
- {
- sheadvariable = (struct head*) malloc(sizeof (struct head));
- sheadvariable -> counter = 0;
- sheadvariable -> pointer = NULL;
- mheadvariable = (struct head*) malloc(sizeof (struct head));
- mheadvariable -> counter = 0;
- mheadvariable -> pointer = NULL;
- dheadvariable = (struct head*) malloc(sizeof (struct head));
- dheadvariable -> counter = 0;
- dheadvariable -> pointer = NULL;
- printf("\n\t*************** WELCOME TO THE SUPER RESTURENT ***************\n");
- printf("\t--------------------------------------------------------------\n");
- mainmenu:
- int user_choice;
- string password;
- char takepass;
- printf("\nUsers:\n");
- printf("\t1 = Admin\n\t2 = Customer\n\t0 = Exit\n\n");
- printf("\tYour Choice: ");
- scanf("%d",&user_choice);
- if (user_choice == 1)
- {
- if (passcheck() == true)
- {
- printf("\n\n");
- adminlevel:
- int adminchoice, takecategory, takenumber;
- printf("\t1 = Add a New Item.\n");
- printf("\t2 = Update Some Quantity.\n");
- printf("\t3 = Revise Some Price.\n");
- printf("\t4 = Remove Some Item.\n");
- printf("\t5 = Display The Menu.\n");
- printf("\t6 = Return Main Menu.\n");
- printf("\n\tEnter Your Choice: ");
- scanf("%d",&adminchoice);
- if (adminchoice == 1)
- {
- int take, tempprice;
- string tempname;
- printf("\nCategories:\n");
- printf("\t1 = Snacks\n");
- printf("\t2 = Meal\n");
- printf("\t3 = Drinks\n");
- printf("\n\tSelect a Category: ");
- scanf("%d",&take);
- cin.ignore();
- printf("\n\tPlease Enter The Name of This Item: ");
- getline(cin, tempname);
- printf("\n\tPlease Enter The Price: ");
- scanf("%d",&tempprice);
- creat(tempname, tempprice, take);
- }
- else if (adminchoice == 2 || adminchoice == 3 || adminchoice == 4)
- {
- display();
- printf("\n\tPlease Choose The Number of Your Required Item: ");
- scanf("%d",&takenumber);
- if (choice == 1)
- {
- cnt = 0;
- if (adminchoice == 2)
- traverse(sheadvariable -> pointer, takenumber, 1, choice);
- else if (adminchoice == 3)
- traverse(sheadvariable -> pointer, takenumber, -1, choice);
- else if (adminchoice == 4)
- {
- if (takenumber == 1)
- {
- snackstemp = sheadvariable -> pointer;
- sheadvariable -> pointer = sheadvariable -> pointer -> nextsnacks;
- free(snackstemp);
- sheadvariable -> counter --;
- printf("\n\t== Successfully Removed An Item ==\n");
- }
- else
- traverse(sheadvariable -> pointer, --takenumber, 2, choice);
- }
- }
- else if (choice == 2)
- {
- cnt = 0;
- if (adminchoice == 2)
- traverse(mheadvariable -> pointer, takenumber, 1, choice);
- else if (adminchoice == 3)
- traverse(mheadvariable -> pointer, takenumber, -1, choice);
- else if (adminchoice == 4)
- {
- if (takenumber == 1)
- {
- mealstemp = mheadvariable -> pointer;
- mheadvariable -> pointer = mheadvariable -> pointer -> nextmeals;
- free(mealstemp);
- mheadvariable -> counter --;
- printf("\n\t== Successfully Removed An Item ==\n");
- }
- else
- traverse(mheadvariable -> pointer, --takenumber, 2, choice);
- }
- }
- else if (choice == 3)
- {
- cnt = 0;
- if (adminchoice == 2)
- traverse(dheadvariable -> pointer, takenumber, 1, choice);
- else if (adminchoice == 3)
- traverse(dheadvariable -> pointer, takenumber, -1, choice);
- else if (adminchoice == 4)
- {
- if (takenumber == 1)
- {
- drinkstemp = dheadvariable -> pointer;
- dheadvariable -> pointer = dheadvariable -> pointer -> nextdrinks;
- free(drinkstemp);
- dheadvariable -> counter --;
- printf("\n\t== Successfully Removed An Item ==\n");
- }
- else
- traverse(dheadvariable -> pointer, --takenumber, 2, choice);
- }
- }
- }
- else if (adminchoice == 5)
- display();
- else if (adminchoice == 6)
- goto mainmenu;
- printf("\n");
- goto adminlevel;
- }
- else
- {
- printf("\tInvalid Password! You Cannot Access This Feature.\n");
- goto mainmenu;
- }
- }
- else if (user_choice == 2)
- {
- int customer_choice;
- printf("\n\t*************** WELCOME TO THE SUPER RESTURENT ***************\n");
- printf("\t--------------------------------------------------------------\n");
- customerlevel:
- printf("\n\t1 = Display Full Menu.\n");
- printf("\t2 = Make Your Choice.\n");
- printf("\t0 = Leave.\n");
- printf("\tPlease Enter Your Choice: ");
- scanf("%d",&customer_choice);
- if (customer_choice == 1)
- display();
- else if (customer_choice == 2)
- {
- display();
- }
- goto customerlevel;
- }
- else if (user_choice == 0)
- {
- printf("\n\tThank You.\n");
- return 0;
- }
- else
- {
- printf("\n\tUnknown Option. Please Try Again.\n");
- goto mainmenu;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement