MrPaan

Project Ticketing System

May 6th, 2016
234
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <stdio.h>
  2. #include <windows.h>
  3.  
  4. //Website : http://www.afamosa.com/price-packages/
  5.  
  6. void menu();
  7. void menuOption();
  8. void receipt();
  9. void summaryExit();
  10. void packageList();
  11. void selectTicket();
  12. void printwrisTag();
  13. void color();
  14. float calculate(int numberAdult,int numberChildren,float priceA,float priceC);
  15. void specialPromotion();
  16.  
  17. //Global Variables
  18. int package;
  19. int option;
  20. int numberAdult;
  21. int numberChildren;
  22. int adult = 0;
  23. int children = 0;
  24. float totalprice = 0.00;
  25. float totalAllPrice = 0.00;
  26. int totalAllAdult = 0;
  27. int totalAllChildren = 0;
  28. float price;
  29. int customer = 0;
  30. int packageA = 0;
  31. int packageB = 0;
  32. int packageC = 0;
  33. int packageD = 0;
  34. int packageE = 0;
  35. int packageF = 0;
  36. int packageG = 0;
  37. int packageH = 0;
  38. int packageS = 0;
  39. int famous = 0;
  40. int notfamous = 0;
  41. char packageSummaryFamous;
  42. char packageSummaryNotFamous;
  43. int week;
  44. int wristag = 0;
  45. char packageChoose;
  46. float promotionPriceAdult = 0.00;
  47. float promotionPriceChildren = 0.00;
  48.  
  49.  
  50. int main(){
  51.    
  52.  
  53. printf("Welcome ! \n");
  54. printf("\n1.Weekday ");
  55. printf("\n2.Weekend \n");
  56. printf("\nEnter Week : ");
  57. scanf("%d",&week);
  58. fflush(stdin);
  59.    
  60.     if(week == 1 || week == 2){
  61.        
  62.         menu();
  63.         do { menuOption(); } while(option !=4);
  64.        
  65.     } else {
  66.    
  67.     system("cls");
  68.     printf("\nPlease enter 1 for weekday and 2 for weekend !");
  69.     system("pause");
  70.     main();
  71.     }
  72.  
  73. return 0;
  74. }
  75.  
  76. void menu(){
  77.    
  78.     color();
  79.     system("cls");
  80.     printf("\nWelcome to A'Famosa Theme Park !\n\n");
  81.     printf("+================================+\n");
  82.     printf("+          MAIN MENU             +\n");
  83.     printf("++++++++++++++++++++++++++++++++++\n");
  84.     printf("+ 1.Buy Ticket                   +\n");
  85.     printf("+ 2.Summary of the day           +\n");
  86.     printf("+ 3.Special Promotion !          +\n");
  87.     printf("+ 4.Exit                         +\n");
  88.     printf("+================================+\n\n");
  89.    
  90.     printf("\n\nEnter your option <Your input must be in number and the value is between 1 - 3 > : ");
  91.     fflush(stdin);
  92.     scanf("%d",&option);
  93.     menuOption();
  94.    
  95.    
  96.    
  97.     return;
  98. }
  99.  
  100. void menuOption(){
  101.  
  102.  
  103. if(option == 1 ) { selectTicket(); }
  104. if(option == 2 ) { summaryExit(); }
  105. if(option == 3 ) { specialPromotion(); }
  106. if(option == 4 ) { exit(1); }
  107. if(option != 1 && option != 2 && option != 3 && option != 4) {
  108.    
  109.     printf("\nPlease enter true option .True option is between 1 - 4.");
  110.     system("pause");
  111.     menu();
  112. }
  113.    
  114.     return;
  115. }
  116.  
  117. void selectTicket(){
  118.    
  119.     color();
  120.     system("cls");
  121.     printf("\nPlease choose your package : <Your input must be between 1 - 7 Only> ");
  122.     printf("\n1.Package A");
  123.     printf("\n2.Package B");
  124.     printf("\n3.Package C");
  125.     printf("\n4.Package D");
  126.     printf("\n5.Package E");
  127.     printf("\n6.Package F");
  128.     printf("\n7.Package G");
  129.     printf("\n8.Package H");
  130.     printf("\n9.Package Info");
  131.     printf("\n10.Back to Main Menu");
  132.     printf("\n\nYour option : ");
  133.     scanf("%d",&package);
  134.        
  135.         if(package == 1 && week == 1){
  136.            
  137.             packageChoose = 'A';
  138.             printf("\nNumber of adult : ");
  139.             fflush(stdin);
  140.             scanf("%d",&numberAdult);
  141.             printf("\nNumber of children : ");
  142.             fflush(stdin);
  143.             scanf("%d",&numberChildren);
  144.            
  145.                 if(numberAdult <= 0 && numberChildren <= 0 ) { printf("\nInvalid input in number Adult or number Children ! "); system("pause"); menu();}
  146.            
  147.                 packageA++;
  148.                 calculate(numberAdult,numberChildren,56.00,43.00);
  149.                
  150.         } else if(package == 1 && week == 2){
  151.            
  152.             packageChoose = 'A';
  153.             printf("\nNumber of adult : ");
  154.             fflush(stdin);
  155.             scanf("%d",&numberAdult);
  156.             printf("\nNumber of children : ");
  157.             fflush(stdin);
  158.             scanf("%d",&numberChildren);
  159.            
  160.                 if(numberAdult <= 0 && numberChildren <= 0 ) { printf("\nInvalid input in number Adult or number Children ! "); system("pause"); menu();}  
  161.                
  162.                 packageA++;
  163.                 calculate(numberAdult,numberChildren,59.00,47.00); 
  164.            
  165.         } else if(package == 2 && week == 1){
  166.            
  167.             packageChoose = 'B';
  168.             printf("\nNumber of adult : ");
  169.             fflush(stdin);
  170.             scanf("%d",&numberAdult);
  171.             printf("\nNumber of children : ");
  172.             fflush(stdin);
  173.             scanf("%d",&numberChildren);
  174.            
  175.                 if(numberAdult <= 0 && numberChildren <= 0 ) { printf("\nInvalid input in number Adult or number Children ! "); system("pause"); menu();}
  176.                
  177.                 packageB++;
  178.                 calculate(numberAdult,numberChildren,43.00,38.00);
  179.            
  180.         } else if(package == 2 && week == 2){
  181.            
  182.             packageChoose = 'B';
  183.             printf("\nNumber of adult : ");
  184.             fflush(stdin);
  185.             scanf("%d",&numberAdult);
  186.             printf("\nNumber of children : ");
  187.             fflush(stdin);
  188.             scanf("%d",&numberChildren);
  189.            
  190.                 if(numberAdult <= 0 && numberChildren <= 0 ) { printf("\nInvalid input in number Adult or number Children ! "); system("pause"); menu();}
  191.                
  192.                 packageB++;
  193.                 calculate(numberAdult,numberChildren,49.00,43.00);
  194.                    
  195.            
  196.         } else if(package == 3 && week == 1){
  197.            
  198.             packageChoose = 'C';
  199.             printf("\nNumber of adult : ");
  200.             fflush(stdin);
  201.             scanf("%d",&numberAdult);
  202.             printf("\nNumber of children : ");
  203.             fflush(stdin);
  204.             scanf("%d",&numberChildren);
  205.            
  206.                 if(numberAdult <= 0 && numberChildren <= 0 ) { printf("\nInvalid input in number Adult or number Children ! "); system("pause"); menu();}
  207.                
  208.                 packageC++;
  209.                 calculate(numberAdult,numberChildren,79.00,62.00);
  210.            
  211.         } else if(package == 3 && week == 2){
  212.            
  213.             packageChoose = 'C';
  214.             printf("\nNumber of adult : ");
  215.             fflush(stdin);
  216.             scanf("%d",&numberAdult);
  217.             printf("\nNumber of children : ");
  218.             fflush(stdin);
  219.             scanf("%d",&numberChildren);
  220.            
  221.                 if(numberAdult <= 0 && numberChildren <= 0 ) { printf("\nInvalid input in number Adult or number Children ! "); system("pause"); menu();}
  222.                
  223.                 packageC++;
  224.                 calculate(numberAdult,numberChildren,88.00,71.00);
  225.            
  226.         } else if(package == 4 && week == 1){
  227.            
  228.             packageChoose = 'D';
  229.             printf("\nNumber of adult : ");
  230.             fflush(stdin);
  231.             scanf("%d",&numberAdult);
  232.             printf("\nNumber of children : ");
  233.             fflush(stdin);
  234.             scanf("%d",&numberChildren);
  235.            
  236.                 if(numberAdult <= 0 && numberChildren <= 0 ) { printf("\nInvalid input in number Adult or number Children ! "); system("pause"); menu();}
  237.                
  238.                 packageD++;
  239.                 calculate(numberAdult,numberChildren,75.00,62.00);
  240.            
  241.         } else if(package == 4 && week == 2){
  242.            
  243.             packageChoose = 'D';
  244.             printf("\nNumber of adult : ");
  245.             fflush(stdin);
  246.             scanf("%d",&numberAdult);
  247.             printf("\nNumber of children : ");
  248.             fflush(stdin);
  249.             scanf("%d",&numberChildren);
  250.            
  251.                 if(numberAdult <= 0 && numberChildren <= 0 ) { printf("\nInvalid input in number Adult or number Children ! "); system("pause"); menu();}
  252.                
  253.                 packageD++;
  254.                 calculate(numberAdult,numberChildren,79.00,68.00);
  255.            
  256.         } else if(package == 5 && week == 1){
  257.            
  258.             packageChoose = 'E';
  259.             printf("\nNumber of adult : ");
  260.             fflush(stdin);
  261.             scanf("%d",&numberAdult);
  262.             printf("\nNumber of children : ");
  263.             fflush(stdin);
  264.             scanf("%d",&numberChildren);
  265.            
  266.                 if(numberAdult <= 0 && numberChildren <= 0 ) { printf("\nInvalid input in number Adult or number Children ! "); system("pause"); menu();}
  267.                
  268.                 packageE++;
  269.                 calculate(numberAdult,numberChildren,79.00,62.00);
  270.                    
  271.            
  272.         } else if(package == 5 && week == 2){
  273.            
  274.             packageChoose = 'E';
  275.             printf("\nNumber of adult : ");
  276.             fflush(stdin);
  277.             scanf("%d",&numberAdult);
  278.             printf("\nNumber of children : ");
  279.             fflush(stdin);
  280.             scanf("%d",&numberChildren);
  281.  
  282.                 if(numberAdult <= 0 && numberChildren <= 0 ) { printf("\nInvalid input in number Adult or number Children ! "); system("pause"); menu();}
  283.                
  284.                 packageE++;
  285.                 calculate(numberAdult,numberChildren,88.00,71.00);
  286.                
  287.         }else if(package == 6){
  288.            
  289.             packageChoose = 'F';
  290.             printf("\nNumber of adult : ");
  291.             fflush(stdin);
  292.             scanf("%d",&numberAdult);
  293.             printf("\nNumber of children : ");
  294.             fflush(stdin);
  295.             scanf("%d",&numberChildren);
  296.            
  297.                 if(numberAdult <= 0 && numberChildren <= 0 ) { printf("\nInvalid input in number Adult or number Children ! "); system("pause"); menu();}
  298.                
  299.                 packageF++;
  300.                 calculate(numberAdult,numberChildren,93.00,82.00);
  301.        
  302.         }else if(package == 7){
  303.            
  304.             packageChoose = 'G';
  305.             printf("\nNumber of adult : ");
  306.             fflush(stdin);
  307.             scanf("%d",&numberAdult);
  308.             printf("\nNumber of children : ");
  309.             fflush(stdin);
  310.             scanf("%d",&numberChildren);
  311.            
  312.                 if(numberAdult <= 0 && numberChildren <= 0 ) { printf("\nInvalid input in number Adult or number Children ! "); system("pause"); menu();}
  313.                
  314.                 packageG++;
  315.                 calculate(numberAdult,numberChildren,48.00,36.00);     
  316.            
  317.         }else if(package == 8){
  318.            
  319.             packageChoose = 'H';
  320.             printf("\nNumber of adult : ");
  321.             fflush(stdin);
  322.             scanf("%d",&numberAdult);
  323.             printf("\nNumber of children : ");
  324.             fflush(stdin);
  325.             scanf("%d",&numberChildren);
  326.            
  327.                 if(numberAdult <= 0 && numberChildren <= 0 ) { printf("\nInvalid input in number Adult or number Children ! "); system("pause"); menu();}
  328.                
  329.                 packageH++;
  330.                 calculate(numberAdult,numberChildren,59.00,48.00);
  331.         }
  332.         else if(package == 9){ packageList(); }
  333.         else if(package == 10){ menu(); }
  334.         else {
  335.            
  336.             printf("Your Input Is Invalid.Please Enter Input Between < 1 - 7> ");
  337.             system("pause");
  338.            
  339.         }
  340.            
  341.      return;
  342. }
  343.  
  344. float calculate(int numberAdult,int numberChildren,float priceA,float priceC){
  345.  
  346.     price = (numberAdult * priceA) + (numberChildren * priceC);
  347.     totalprice = totalprice + price;
  348.     adult = adult + numberAdult;
  349.     children = children + numberChildren;
  350.  
  351.     system("pause");
  352.     system("cls");
  353.     printwrisTag();
  354.     system("pause");
  355.     system("cls");
  356.     receipt();
  357.     system("pause");
  358.     menu();
  359.    
  360.     return 0;
  361. }
  362.  
  363. void printwrisTag(){
  364.    
  365.     color();
  366.     //date
  367.     SYSTEMTIME time;
  368.     GetSystemTime(&time);
  369.     int year = time.wYear;
  370.     int month = time.wMonth;
  371.     int day = time.wDay;
  372.    
  373.     printf("=============================Wristag================================");
  374.    
  375.             for(int i = 1; i <= numberAdult; i++){
  376.            
  377.             wristag++;
  378.             printf("\n.................A'Famosa Theme Park...................");
  379.             printf("\n\nNo : %d\t\t ADULT \t\tDate : %d.%d.%d",wristag,day,month,year);
  380.             printf("\nPackage : %c",packageChoose);
  381.             printf("\n......................8<...............................\n\n");               
  382.             }
  383.     printf("\n\n");
  384.    
  385.             for(int i = 1; i <= numberChildren; i++){
  386.            
  387.             wristag++;
  388.             printf("\n.................A'Famosa Theme Park...................");
  389.             printf("\n\nNo : %d\t\t Children \t\tDate : %d.%d.%d",wristag,day,month,year);
  390.             printf("\nPackage : %c",packageChoose);
  391.             printf("\n.........................8<............................\n\n");
  392.            
  393.         }
  394. }
  395.  
  396.  
  397.  
  398. //Print Receipt
  399. void receipt(){
  400.     //date
  401.     SYSTEMTIME time;
  402.     GetSystemTime(&time);
  403.     int year = time.wYear;
  404.     int month = time.wMonth;
  405.     int day = time.wDay;
  406.    
  407.     customer++;
  408.     color();
  409.     system("cls");
  410.     printf("\n==================================================");
  411.     printf("\nA'Famosa Theme Park");
  412.     printf("\n==================================================\n");
  413.     printf("\nReceipt ID No : %d\t\tDate : %d/%d/%d\n",customer,day,month,year);
  414.     printf("\n++++++++++++++++++++++++++++++++++++++++++++++++++\n");
  415.     printf("\nTotal : RM %.2f",totalprice);
  416.     printf("\nTotal adult : %d",adult);
  417.     printf("\nTotal children : %d\n",children);
  418.     printf("\n==================================================\n");
  419.     printf("\nThank You !\n");
  420.     totalAllPrice = totalAllPrice + totalprice;
  421.     totalAllAdult = totalAllAdult + adult;
  422.     totalAllChildren = totalAllChildren + children;
  423.     totalprice = 0.00;
  424.     adult = 0;
  425.     children = 0;
  426.    
  427.     return;
  428. }
  429.  
  430. //print Summary of the day
  431. void summaryExit(){
  432.     system("cls");
  433.    
  434.         int famousArray[8] = {packageA,packageB,packageC,packageD,packageE,packageF,packageG,packageH};
  435.    
  436.     for(int i = 0; i < 8; i++){
  437.        
  438.         if(famousArray[i] > famous){ famous = famousArray[i]; }
  439.     }
  440.         for(int j = 0; j < 8; j++){
  441.            
  442.             if(famousArray[j] < notfamous){ notfamous = famousArray[j]; }
  443.         }
  444.        
  445.     if(famousArray[0]==famous){ packageSummaryFamous = 'A'; }
  446.         else if(famousArray[1]==famous){ packageSummaryFamous = 'B'; }
  447.         else if(famousArray[2]==famous){ packageSummaryFamous = 'C'; }
  448.         else if(famousArray[3]==famous){ packageSummaryFamous = 'D'; }
  449.         else if(famousArray[4]==famous){ packageSummaryFamous = 'E'; }
  450.         else if(famousArray[5]==famous){ packageSummaryFamous = 'F'; }
  451.         else if(famousArray[6]==famous){ packageSummaryFamous = 'G'; }
  452.         else if(famousArray[7]==famous){ packageSummaryFamous = 'H'; }
  453.        
  454.     if(famousArray[0]==notfamous){ packageSummaryNotFamous = 'A'; }
  455.         else if(famousArray[1]==notfamous){ packageSummaryNotFamous = 'B'; }
  456.         else if(famousArray[2]==notfamous){ packageSummaryNotFamous = 'C'; }
  457.         else if(famousArray[3]==notfamous){ packageSummaryNotFamous = 'D'; }
  458.         else if(famousArray[4]==notfamous){ packageSummaryNotFamous = 'E'; }
  459.         else if(famousArray[5]==notfamous){ packageSummaryNotFamous = 'F'; }
  460.         else if(famousArray[6]==notfamous){ packageSummaryNotFamous = 'G'; }
  461.         else if(famousArray[7]==notfamous){ packageSummaryNotFamous = 'H'; }
  462.        
  463.     color();
  464.     printf("\n===============================================");
  465.     printf("\nSummary for this day");
  466.     printf("\n+++++++++++++++++++++++++++++++++++++++++++++++");
  467.     printf("\nTotal Income : RM %.2f",totalAllPrice);
  468.     printf("\nTotal Adult : %d",totalAllAdult);
  469.     printf("\nTotal Children : %d",totalAllChildren);
  470.     printf("\nTotal Sold Package A : %d",packageA);
  471.     printf("\nTotal Sold Package B : %d",packageB);
  472.     printf("\nTotal Sold Package C : %d",packageC);
  473.     printf("\nTotal Sold Package D : %d",packageD);
  474.     printf("\nTotal Sold Package E : %d",packageE);
  475.     printf("\nTotal Sold Package F : %d",packageF);
  476.     printf("\nTotal Sold Package G : %d",packageG);
  477.     printf("\nTotal Sold Package H : %d",packageH);
  478.     printf("\nSpecial Promotion    : %d",packageS);
  479.     printf("\nMost Popular Package : %c",packageSummaryFamous);
  480.     printf("\nNot Popular Package : %c",packageSummaryNotFamous);
  481.     printf("\n===============================================\n");
  482.     system("pause");   
  483.     menu();
  484.    
  485. }
  486. void packageList(){
  487.    
  488.     color();
  489.     system("cls");
  490.     printf("\n===================================================================+===========================================+====================================");
  491.     printf("\nPackage in A'Famosa Theme Park                                                                                                                      ");                              
  492.     printf("\n===================================================================+===========================================+====================================");
  493.     printf("\n                                                                   +                 Weekday                   +              Weekend               ");
  494.     printf("\n===================================================================+===========================================+====================================");
  495.     printf("\nPackage                                                            +          Adult    +     Child             +        Adult       +     Child     ");
  496.     printf("\n===================================================================+===================+=======================+====================+===============\n");
  497.     printf("\n1.Package A : Safari Wonderland + Set Lunch.Weekday                +       RM 56.00    +     RM 43.00          +       RM 59.00     +    RM 47.00   ");
  498.     printf("\n2.Package B : Water Theme Park + Set Lunch.Weekday                 +       RM 43.00    +     RM 38.00          +       RM 49.00     +    RM 43.00   ");
  499.     printf("\n3.Package C : Water Theme Park + Safari Wonderland + Set Lunch     +       RM 79.00    +     RM 62.00          +       RM 88.00     +    RM 71.00   ");
  500.     printf("\n4.Package D : Water Theme Park + Old West + Set Lunch              +       RM 75.00    +     RM 62.00          +       RM 79.00     +    RM 68.00   ");
  501.     printf("\n5.Package E : Safari Wonderland + Old West + Set Lunch.Weekday     +       RM 79.00    +     RM 62.00          +       RM 88.00     +    RM 71.00   ");
  502.     printf("\n===================================================================+===================+=======================+====================+===============");
  503.     printf("\nVisitor Package                                                    +                   +                       +                    +               ");
  504.     printf("\n====================================================================================================================================================");
  505.     printf("\n6.Package F : Safari Wonderland & Western Meal                     +       RM 93.00    +     RM 82.00          +       RM 93.00     +    RM 82.00   ");
  506.     printf("\n7.Package G : Water Theme Park                                     +       RM 48.00    +     RM 36.00          +       RM 48.00     +    RM 36.00   ");
  507.     printf("\n8.Package H : Old West                                             +       RM 59.00    +     RM 48.00          +       RM 59.00     +    RM 48.00   ");
  508.     printf("\n====================================================================================================================================================\n");
  509.     system("pause");
  510.     selectTicket();
  511.    
  512.     return;
  513. }
  514.  
  515. void color(){
  516. system("color 4F");
  517. return;
  518. }
  519.  
  520. void specialPromotion(){
  521.    
  522.         if(promotionPriceAdult == 0.00 && promotionPriceChildren == 0.00){
  523.            
  524.             system("cls");
  525.             printf("\nPlease Enter Promotion Price For Adult And Children ! ");
  526.             printf("\nPromotion price for adult : ");
  527.             fflush(stdin);
  528.             scanf("%f",&promotionPriceAdult);
  529.             printf("\nPromotion price for children : ");
  530.             fflush(stdin);
  531.             scanf("%f",&promotionPriceChildren);
  532.             printf("\nThanks !");
  533.             system("pause");
  534.            
  535.         } else {
  536.            
  537.             system("cls");
  538.             packageChoose = 'S';
  539.             packageS++;
  540.             printf("\nNumber Adult : ");
  541.             fflush(stdin);
  542.             scanf("%d",&numberAdult);
  543.             printf("\nNumber Children : ");
  544.             fflush(stdin);
  545.             scanf("%d",&numberChildren);
  546.             calculate(numberAdult,numberChildren,promotionPriceAdult,promotionPriceChildren);
  547.         }
  548.        
  549.         return;
  550. }
Advertisement
Add Comment
Please, Sign In to add comment