Advertisement
Guest User

Untitled

a guest
Oct 10th, 2016
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 9.28 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <string.h>
  4. #include <stdlib.h>
  5.  
  6.  
  7. void LoginPrompt();
  8. void OpenMenu(int ordered[100], int ordered_index);
  9. void OpenTakeOrder(int ordered[100], int ordered_index);
  10. void OpenTakeOrderFoods(int ordered[100], int ordered_index);
  11. void OpenTakeOrderDesserts(int ordered[100], int ordered_index);
  12. void OpenTakeOrderDrinks(int ordered[100], int ordered_index);
  13. void Transact(int ordered[100], int ordered_index);
  14. void flush(int ordered[100], int ordered_index);
  15. char * sanitize(char * aName);
  16.  
  17. int main(void)
  18. {
  19.     LoginPrompt();
  20. }
  21.  
  22. void LoginPrompt()
  23. {
  24.     int ordered[100];
  25.     int ordered_index = 0;
  26.     char UserName[100], Password[100];
  27.  
  28.     printf("--------------------------------------------\n");
  29.     printf("  Good Day! Welcome to My Ordering System!             \n");
  30.     printf("--------------------------------------------\n\n");
  31.  
  32.     printf("UserName: ");
  33.     fgets(UserName, 100, stdin);
  34.     printf("Password: ");
  35.     fgets(Password, 100, stdin);
  36.  
  37.     if (strcmp(sanitize(UserName), "Cpe211a13") == 0 && strcmp(sanitize(Password), "Foreverisreal") == 0)
  38.     {
  39.         system("cls");
  40.         OpenMenu(ordered, ordered_index);
  41.     }
  42.     else
  43.     {
  44.         printf(UserName);
  45.         system("cls");
  46.         printf("Incorrect Username or Password\n\n");
  47.         LoginPrompt();
  48.     }
  49.  
  50. }
  51.  
  52. void OpenMenu(int ordered[100], int ordered_index)
  53. {
  54.     int Choice;
  55.  
  56.     printf("Main Menu\n");
  57.     printf("---------\n");
  58.     printf("[1] Take Orders\n");
  59.     printf("[2] Pay Bills\n");
  60.     printf("[3] Exit\n");
  61.     scanf_s("%i", &Choice);
  62.  
  63.     switch (Choice)
  64.     {
  65.     case 1:
  66.         system("cls");
  67.         OpenTakeOrder(ordered, ordered_index);
  68.         break;
  69.     case 2:
  70.         system("cls");
  71.         Transact(ordered, ordered_index);
  72.         break;
  73.     case 3:
  74.         exit(1);
  75.         break;
  76.     default:
  77.         system("cls");
  78.         printf("Option cannot be found\n\n");
  79.         LoginPrompt();
  80.         break;
  81.     }
  82. }
  83.  
  84. void OpenTakeOrder(int ordered[100], int ordered_index)
  85. {
  86.     int Choice;
  87.  
  88.     printf("Take Order Menu\n");
  89.     printf("---------------\n");
  90.     printf("[1] Food\n");
  91.     printf("[2] Dessert\n");
  92.     printf("[3] Drink\n");
  93.     printf("[4] Back to Main Menu\n");
  94.     scanf_s("%i", &Choice);
  95.  
  96.     switch (Choice)
  97.     {
  98.     case 1:
  99.         system("cls");
  100.         OpenTakeOrderFoods(ordered, ordered_index);
  101.         break;
  102.     case 2:
  103.         system("cls");
  104.         OpenTakeOrderDesserts(ordered, ordered_index);
  105.         break;
  106.     case 3:
  107.         system("cls");
  108.         OpenTakeOrderDrinks(ordered, ordered_index);
  109.         break;
  110.     case 4:
  111.         system("cls");
  112.         OpenMenu(ordered, ordered_index);
  113.         break;
  114.     default:
  115.         system("cls");
  116.         printf("Option cannot be found\n\n");
  117.         LoginPrompt();
  118.         break;
  119.     }
  120. }
  121.  
  122. void OpenTakeOrderFoods(int ordered[100], int ordered_index)
  123. {
  124.     int Choice;
  125.  
  126.     printf("Food Choices\n");
  127.     printf("------------\n");
  128.     printf("[1] Crispy Pata         PHP 250.00\n");
  129.     printf("[2] Calamares           PHP 150.00\n");
  130.     printf("[3] Chopsuey            PHP 70.00\n");
  131.     printf("[4] Tinolang Manok      PHP 120.00\n");
  132.     printf("[5] Back to Take Order Menu\n");
  133.     printf("[6] Back to Main Menu\n");
  134.     scanf_s("%i", &Choice);
  135.  
  136.     switch (Choice)
  137.     {
  138.     case 1:
  139.         ordered[ordered_index] = Choice;
  140.         break;
  141.     case 2:
  142.         ordered[ordered_index] = Choice;
  143.         break;
  144.     case 3:
  145.         ordered[ordered_index] = Choice;
  146.         break;
  147.     case 4:
  148.         ordered[ordered_index] = Choice;
  149.         break;
  150.     case 5:
  151.         system("cls");
  152.         OpenTakeOrder(ordered, ordered_index);
  153.         break;
  154.     case 6:
  155.         system("cls");
  156.         OpenMenu(ordered, ordered_index);
  157.     }
  158.  
  159.     ordered_index += 1;
  160.  
  161.     system("cls");
  162.     printf("Item added to cart\n\n");
  163.     OpenTakeOrderFoods(ordered, ordered_index);
  164. }
  165.  
  166. void OpenTakeOrderDesserts(int ordered[100], int ordered_index)
  167. {
  168.     int Choice;
  169.  
  170.     printf("Dessert Choices\n");
  171.     printf("------------\n");
  172.     printf("[1] Leche Plan         PHP 50.00\n");
  173.     printf("[2] Buko Pandan           PHP 50.00\n");
  174.     printf("[3] Halo2x            PHP 70.00\n");
  175.     printf("[4] Chocolate Cake      PHP 120.00\n");
  176.     printf("[5] Back to Take Order Menu\n");
  177.     printf("[6] Back to Main Menu\n");
  178.     scanf_s("%i", &Choice);
  179.  
  180.     switch (Choice)
  181.     {
  182.     case 1:
  183.         ordered[ordered_index] = 5;
  184.         break;
  185.     case 2:
  186.         ordered[ordered_index] = 6;
  187.         break;
  188.     case 3:
  189.         ordered[ordered_index] = 7;
  190.         break;
  191.     case 4:
  192.         ordered[ordered_index] = 8;
  193.         break;
  194.     case 5:
  195.         system("cls");
  196.         OpenTakeOrder(ordered, ordered_index);
  197.         break;
  198.     case 6:
  199.         system("cls");
  200.         OpenMenu(ordered, ordered_index);
  201.     }
  202.  
  203.     ordered_index += 1;
  204.  
  205.     system("cls");
  206.     printf("Item added to cart\n\n");
  207.     OpenTakeOrderDesserts(ordered, ordered_index);
  208. }
  209.  
  210. void OpenTakeOrderDrinks(int ordered[100], int ordered_index)
  211. {
  212.     int Choice;
  213.  
  214.     printf("Drink Choices\n");
  215.     printf("------------\n");
  216.     printf("[1] Coke/Sprite         PHP 30.00\n");
  217.     printf("[2] Fruit Shake           PHP 50.00\n");
  218.     printf("[3] San Mig Light            PHP 50.00\n");
  219.     printf("[4] Bottle Water      PHP 20.00\n");
  220.     printf("[5] Back to Take Order Menu\n");
  221.     printf("[6] Back to Main Menu\n");
  222.     scanf_s("%i", &Choice);
  223.  
  224.     switch (Choice)
  225.     {
  226.     case 1:
  227.         ordered[ordered_index] = 9;
  228.         break;
  229.     case 2:
  230.         ordered[ordered_index] = 10;
  231.         break;
  232.     case 3:
  233.         ordered[ordered_index] = 11;
  234.         break;
  235.     case 4:
  236.         ordered[ordered_index] = 12;
  237.         break;
  238.     case 5:
  239.         system("cls");
  240.         OpenTakeOrder(ordered, ordered_index);
  241.         break;
  242.     case 6:
  243.         system("cls");
  244.         OpenMenu(ordered, ordered_index);
  245.     }
  246.  
  247.     ordered_index += 1;
  248.  
  249.     system("cls");
  250.     printf("Item added to cart\n\n");
  251.     OpenTakeOrderDrinks(ordered, ordered_index);
  252. }
  253.  
  254. void Transact(int ordered[100], int ordered_index)
  255. {
  256.     int Choice;
  257.     int loop_index;
  258.     float TotalAmount = 0;
  259.     float Money = 0;
  260.     float Change = 0;
  261.  
  262.     typedef struct Items {
  263.         int id;
  264.         char name[25];
  265.         char type[10];
  266.         float price;
  267.     } Item;
  268.  
  269.     Item FoodTinolangManok = { 4, "Tinolang Manok", "food", 120.00 };
  270.     Item FoodCrispyPata = { 1, "Crispy Pata", "food", 250.00 };
  271.     Item FoodCalamares = { 2, "Calamares", "food", 150.00 };
  272.     Item FoodChopsuey = { 3, "Chopsuey", "food", 70.00 };
  273.     Item DessertLechePlan = { 1, "Leche Plan", "dessert", 50.00 };
  274.     Item DessertBukoPandan = { 2, "Buko Pandan", "dessert", 50.00 };
  275.     Item DessertHaloHalo = { 3, "Halo2x", "dessert", 70.00 };
  276.     Item DessertChocolateCake = { 4, "Chocolate Cake", "dessert", 120.00 };
  277.     Item DrinkSoftDrink = { 1, "Coke/Sprite", "drink", 30.00 };
  278.     Item DrinkFruitShake = { 2, "Fruit Shake", "drink", 50.00 };
  279.     Item DrinkSMLight = { 3, "San Mig Light", "drink", 50.00 };
  280.     Item DrinkWater = { 4, "Bottle Water", "drink", 20.00 };
  281.  
  282.     if (ordered_index > 0)
  283.     {
  284.         system("cls");
  285.         printf("Please make an order first\n\n");
  286.         OpenMenu(ordered, ordered_index);
  287.     }
  288.  
  289.     printf("Order Summary\n");
  290.     printf("-------------\n\n");
  291.  
  292.     for (loop_index = 0; loop_index <= ordered_index; loop_index++)
  293.     {
  294.         switch (ordered[loop_index])
  295.         {
  296.         case 1:
  297.             printf("%s         PHP %.2f\n", FoodCrispyPata.name, FoodCrispyPata.price);
  298.             TotalAmount += FoodCrispyPata.price;
  299.             break;
  300.         case 2:
  301.             printf("%s           PHP %.2f\n", FoodCalamares.name, FoodCalamares.price);
  302.             TotalAmount += FoodCalamares.price;
  303.             break;
  304.         case 3:
  305.             printf("%s            PHP %.2f\n", FoodChopsuey.name, FoodChopsuey.price);
  306.             TotalAmount += FoodChopsuey.price;
  307.             break;
  308.         case 4:
  309.  
  310.             printf("%s      PHP %.2f\n", FoodTinolangManok.name, FoodTinolangManok.price);
  311.             TotalAmount += FoodTinolangManok.price;
  312.             break;
  313.         case 5:
  314.  
  315.             printf("%s          PHP %.2f\n", DessertLechePlan.name, DessertLechePlan.price);
  316.             TotalAmount += DessertLechePlan.price;
  317.             break;
  318.         case 6:
  319.  
  320.             printf("%s         PHP %.2f\n", DessertBukoPandan.name, DessertBukoPandan.price);
  321.             TotalAmount += DessertBukoPandan.price;
  322.             break;
  323.         case 7:
  324.  
  325.             printf("%s              PHP %.2f\n", DessertHaloHalo.name, DessertHaloHalo.price);
  326.             TotalAmount += DessertHaloHalo.price;
  327.             break;
  328.         case 8:
  329.  
  330.             printf("%s      PHP %.2f\n", DessertChocolateCake.name, DessertChocolateCake.price);
  331.             TotalAmount += DessertChocolateCake.price;
  332.             break;
  333.         case 9:
  334.             printf("%s         PHP %.2f\n", DrinkSoftDrink.name, DrinkSoftDrink.price);
  335.             TotalAmount += DrinkSoftDrink.price;
  336.             break;
  337.         case 10:
  338.  
  339.             printf("%s         PHP %.2f\n", DrinkFruitShake.name, DrinkFruitShake.price);
  340.             TotalAmount += DrinkFruitShake.price;
  341.             break;
  342.         case 11:
  343.  
  344.             printf("%s       PHP %.2f\n", DrinkSMLight.name, DrinkSMLight.price);
  345.             TotalAmount += DrinkSMLight.price;
  346.             break;
  347.         case 12:
  348.             printf("%s        PHP %.2f\n", DrinkWater.name, DrinkWater.price);
  349.             TotalAmount += DrinkWater.price;
  350.             break;
  351.         }
  352.     }
  353.  
  354.     printf("\nTotal           %.2f\n\n", TotalAmount);
  355.     printf("Please input your money: ");
  356.     scanf_s("%f", &Money);
  357.  
  358.     if (Money < TotalAmount) {
  359.         system("cls");
  360.         printf("You do not have enough money... Please retry...\n\n");
  361.         flush(ordered, ordered_index);
  362.         OpenMenu(ordered, ordered_index);
  363.     }
  364.  
  365.     Change = Money - TotalAmount;
  366.  
  367.     printf("Order success! Your change is: %.2f\n", Change);
  368.     printf("[1] Back to main menu\n");
  369.     printf("[2] Exit\n");
  370.     scanf_s("%i", &Choice);
  371.  
  372.     switch (Choice)
  373.     {
  374.     case 1:
  375.         flush(ordered, ordered_index);
  376.         system("cls");
  377.         OpenMenu(ordered, ordered_index);
  378.         break;
  379.     case 2:
  380.         exit(1);
  381.         break;
  382.     }
  383. }
  384.  
  385. void flush(int ordered[100], int ordered_index)
  386. {
  387.     int Index;
  388.     for (Index = 0; Index <= ordered_index; Index++)
  389.     {
  390.         memset(&ordered[Index], 0, sizeof(ordered));
  391.     }
  392.  
  393.     ordered_index = 0;
  394. }
  395.  
  396. char * sanitize(char * aName)
  397. {
  398.     aName[strcspn(aName, "\n")] = '\0';
  399.  
  400.     return aName;
  401. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement