Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <conio.h>
- #include <string.h>
- #include <stdlib.h>
- void LoginPrompt();
- void OpenMenu(int ordered[100], int ordered_index);
- void OpenTakeOrder(int ordered[100], int ordered_index);
- void OpenTakeOrderFoods(int ordered[100], int ordered_index);
- void OpenTakeOrderDesserts(int ordered[100], int ordered_index);
- void OpenTakeOrderDrinks(int ordered[100], int ordered_index);
- void Transact(int ordered[100], int ordered_index);
- void flush(int ordered[100], int ordered_index);
- char * sanitize(char * aName);
- int main(void)
- {
- LoginPrompt();
- }
- void LoginPrompt()
- {
- int ordered[100];
- int ordered_index = 0;
- char UserName[100], Password[100];
- printf("--------------------------------------------\n");
- printf(" Good Day! Welcome to My Ordering System! \n");
- printf("--------------------------------------------\n\n");
- printf("UserName: ");
- fgets(UserName, 100, stdin);
- printf("Password: ");
- fgets(Password, 100, stdin);
- if (strcmp(sanitize(UserName), "Cpe211a13") == 0 && strcmp(sanitize(Password), "Foreverisreal") == 0)
- {
- system("cls");
- OpenMenu(ordered, ordered_index);
- }
- else
- {
- printf(UserName);
- system("cls");
- printf("Incorrect Username or Password\n\n");
- LoginPrompt();
- }
- }
- void OpenMenu(int ordered[100], int ordered_index)
- {
- int Choice;
- printf("Main Menu\n");
- printf("---------\n");
- printf("[1] Take Orders\n");
- printf("[2] Pay Bills\n");
- printf("[3] Exit\n");
- scanf_s("%i", &Choice);
- switch (Choice)
- {
- case 1:
- system("cls");
- OpenTakeOrder(ordered, ordered_index);
- break;
- case 2:
- system("cls");
- Transact(ordered, ordered_index);
- break;
- case 3:
- exit(1);
- break;
- default:
- system("cls");
- printf("Option cannot be found\n\n");
- LoginPrompt();
- break;
- }
- }
- void OpenTakeOrder(int ordered[100], int ordered_index)
- {
- int Choice;
- printf("Take Order Menu\n");
- printf("---------------\n");
- printf("[1] Food\n");
- printf("[2] Dessert\n");
- printf("[3] Drink\n");
- printf("[4] Back to Main Menu\n");
- scanf_s("%i", &Choice);
- switch (Choice)
- {
- case 1:
- system("cls");
- OpenTakeOrderFoods(ordered, ordered_index);
- break;
- case 2:
- system("cls");
- OpenTakeOrderDesserts(ordered, ordered_index);
- break;
- case 3:
- system("cls");
- OpenTakeOrderDrinks(ordered, ordered_index);
- break;
- case 4:
- system("cls");
- OpenMenu(ordered, ordered_index);
- break;
- default:
- system("cls");
- printf("Option cannot be found\n\n");
- LoginPrompt();
- break;
- }
- }
- void OpenTakeOrderFoods(int ordered[100], int ordered_index)
- {
- int Choice;
- printf("Food Choices\n");
- printf("------------\n");
- printf("[1] Crispy Pata PHP 250.00\n");
- printf("[2] Calamares PHP 150.00\n");
- printf("[3] Chopsuey PHP 70.00\n");
- printf("[4] Tinolang Manok PHP 120.00\n");
- printf("[5] Back to Take Order Menu\n");
- printf("[6] Back to Main Menu\n");
- scanf_s("%i", &Choice);
- switch (Choice)
- {
- case 1:
- ordered[ordered_index] = Choice;
- break;
- case 2:
- ordered[ordered_index] = Choice;
- break;
- case 3:
- ordered[ordered_index] = Choice;
- break;
- case 4:
- ordered[ordered_index] = Choice;
- break;
- case 5:
- system("cls");
- OpenTakeOrder(ordered, ordered_index);
- break;
- case 6:
- system("cls");
- OpenMenu(ordered, ordered_index);
- }
- ordered_index += 1;
- system("cls");
- printf("Item added to cart\n\n");
- OpenTakeOrderFoods(ordered, ordered_index);
- }
- void OpenTakeOrderDesserts(int ordered[100], int ordered_index)
- {
- int Choice;
- printf("Dessert Choices\n");
- printf("------------\n");
- printf("[1] Leche Plan PHP 50.00\n");
- printf("[2] Buko Pandan PHP 50.00\n");
- printf("[3] Halo2x PHP 70.00\n");
- printf("[4] Chocolate Cake PHP 120.00\n");
- printf("[5] Back to Take Order Menu\n");
- printf("[6] Back to Main Menu\n");
- scanf_s("%i", &Choice);
- switch (Choice)
- {
- case 1:
- ordered[ordered_index] = 5;
- break;
- case 2:
- ordered[ordered_index] = 6;
- break;
- case 3:
- ordered[ordered_index] = 7;
- break;
- case 4:
- ordered[ordered_index] = 8;
- break;
- case 5:
- system("cls");
- OpenTakeOrder(ordered, ordered_index);
- break;
- case 6:
- system("cls");
- OpenMenu(ordered, ordered_index);
- }
- ordered_index += 1;
- system("cls");
- printf("Item added to cart\n\n");
- OpenTakeOrderDesserts(ordered, ordered_index);
- }
- void OpenTakeOrderDrinks(int ordered[100], int ordered_index)
- {
- int Choice;
- printf("Drink Choices\n");
- printf("------------\n");
- printf("[1] Coke/Sprite PHP 30.00\n");
- printf("[2] Fruit Shake PHP 50.00\n");
- printf("[3] San Mig Light PHP 50.00\n");
- printf("[4] Bottle Water PHP 20.00\n");
- printf("[5] Back to Take Order Menu\n");
- printf("[6] Back to Main Menu\n");
- scanf_s("%i", &Choice);
- switch (Choice)
- {
- case 1:
- ordered[ordered_index] = 9;
- break;
- case 2:
- ordered[ordered_index] = 10;
- break;
- case 3:
- ordered[ordered_index] = 11;
- break;
- case 4:
- ordered[ordered_index] = 12;
- break;
- case 5:
- system("cls");
- OpenTakeOrder(ordered, ordered_index);
- break;
- case 6:
- system("cls");
- OpenMenu(ordered, ordered_index);
- }
- ordered_index += 1;
- system("cls");
- printf("Item added to cart\n\n");
- OpenTakeOrderDrinks(ordered, ordered_index);
- }
- void Transact(int ordered[100], int ordered_index)
- {
- int Choice;
- int loop_index;
- float TotalAmount = 0;
- float Money = 0;
- float Change = 0;
- typedef struct Items {
- int id;
- char name[25];
- char type[10];
- float price;
- } Item;
- Item FoodTinolangManok = { 4, "Tinolang Manok", "food", 120.00 };
- Item FoodCrispyPata = { 1, "Crispy Pata", "food", 250.00 };
- Item FoodCalamares = { 2, "Calamares", "food", 150.00 };
- Item FoodChopsuey = { 3, "Chopsuey", "food", 70.00 };
- Item DessertLechePlan = { 1, "Leche Plan", "dessert", 50.00 };
- Item DessertBukoPandan = { 2, "Buko Pandan", "dessert", 50.00 };
- Item DessertHaloHalo = { 3, "Halo2x", "dessert", 70.00 };
- Item DessertChocolateCake = { 4, "Chocolate Cake", "dessert", 120.00 };
- Item DrinkSoftDrink = { 1, "Coke/Sprite", "drink", 30.00 };
- Item DrinkFruitShake = { 2, "Fruit Shake", "drink", 50.00 };
- Item DrinkSMLight = { 3, "San Mig Light", "drink", 50.00 };
- Item DrinkWater = { 4, "Bottle Water", "drink", 20.00 };
- if (ordered_index > 0)
- {
- system("cls");
- printf("Please make an order first\n\n");
- OpenMenu(ordered, ordered_index);
- }
- printf("Order Summary\n");
- printf("-------------\n\n");
- for (loop_index = 0; loop_index <= ordered_index; loop_index++)
- {
- switch (ordered[loop_index])
- {
- case 1:
- printf("%s PHP %.2f\n", FoodCrispyPata.name, FoodCrispyPata.price);
- TotalAmount += FoodCrispyPata.price;
- break;
- case 2:
- printf("%s PHP %.2f\n", FoodCalamares.name, FoodCalamares.price);
- TotalAmount += FoodCalamares.price;
- break;
- case 3:
- printf("%s PHP %.2f\n", FoodChopsuey.name, FoodChopsuey.price);
- TotalAmount += FoodChopsuey.price;
- break;
- case 4:
- printf("%s PHP %.2f\n", FoodTinolangManok.name, FoodTinolangManok.price);
- TotalAmount += FoodTinolangManok.price;
- break;
- case 5:
- printf("%s PHP %.2f\n", DessertLechePlan.name, DessertLechePlan.price);
- TotalAmount += DessertLechePlan.price;
- break;
- case 6:
- printf("%s PHP %.2f\n", DessertBukoPandan.name, DessertBukoPandan.price);
- TotalAmount += DessertBukoPandan.price;
- break;
- case 7:
- printf("%s PHP %.2f\n", DessertHaloHalo.name, DessertHaloHalo.price);
- TotalAmount += DessertHaloHalo.price;
- break;
- case 8:
- printf("%s PHP %.2f\n", DessertChocolateCake.name, DessertChocolateCake.price);
- TotalAmount += DessertChocolateCake.price;
- break;
- case 9:
- printf("%s PHP %.2f\n", DrinkSoftDrink.name, DrinkSoftDrink.price);
- TotalAmount += DrinkSoftDrink.price;
- break;
- case 10:
- printf("%s PHP %.2f\n", DrinkFruitShake.name, DrinkFruitShake.price);
- TotalAmount += DrinkFruitShake.price;
- break;
- case 11:
- printf("%s PHP %.2f\n", DrinkSMLight.name, DrinkSMLight.price);
- TotalAmount += DrinkSMLight.price;
- break;
- case 12:
- printf("%s PHP %.2f\n", DrinkWater.name, DrinkWater.price);
- TotalAmount += DrinkWater.price;
- break;
- }
- }
- printf("\nTotal %.2f\n\n", TotalAmount);
- printf("Please input your money: ");
- scanf_s("%f", &Money);
- if (Money < TotalAmount) {
- system("cls");
- printf("You do not have enough money... Please retry...\n\n");
- flush(ordered, ordered_index);
- OpenMenu(ordered, ordered_index);
- }
- Change = Money - TotalAmount;
- printf("Order success! Your change is: %.2f\n", Change);
- printf("[1] Back to main menu\n");
- printf("[2] Exit\n");
- scanf_s("%i", &Choice);
- switch (Choice)
- {
- case 1:
- flush(ordered, ordered_index);
- system("cls");
- OpenMenu(ordered, ordered_index);
- break;
- case 2:
- exit(1);
- break;
- }
- }
- void flush(int ordered[100], int ordered_index)
- {
- int Index;
- for (Index = 0; Index <= ordered_index; Index++)
- {
- memset(&ordered[Index], 0, sizeof(ordered));
- }
- ordered_index = 0;
- }
- char * sanitize(char * aName)
- {
- aName[strcspn(aName, "\n")] = '\0';
- return aName;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement