summaryrefslogtreecommitdiffstats
path: root/C++/Menu System/Instruction
blob: a8ccdc63d0fd37a5af6cfdc0d2b6b79f6fb8c7a8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
Using the attached video as a guide, you will create a menu system that will mimic a self service kiosk at a restaurant. This program will do the following:

    Create a menu system that allows users to select an item from the below categories:
        Drink
        Appetizer
        Entree
        Dessert
    You will use 4 separate input files (one for each category above) where you read in an unknown number of items from each file
        Each input file will have the item name (string) and the item price (double)
        Use a generic function to check to see if the file was found
        User a generic function to get the data from each of the input files
    Display the subtotal on each menu screen so the customer knows exactly how much is already owed
    As the customer selects items for purchase, you will need to record the item name, price and the quantity desired inside of variables (vector or array) for output later
    The customer should be able to remain in a category menu until they are ready to return to the main menu
    When the customer is finished ordering, display the subtotal, tax, and total on the screen
    Ask for a tip (make a suggested tip amount with 18%, 20%, 25%), then update the total with the tip amount entered
    Get payment from the user and display change due to the customer
    If the customer does not pay enough money, then the program should continue to ask for money until the total is paid in full

Assignment Notes:

    Make your all of variables as private in the class to show me you understand how to do this
    You may use vectors or array variables to store the employee data
    Use a 10% tax rate to make the math easy
    You may use functions inside of the class or outside or mixed. Your choice
    Be sure to add in error checking in case someone enters a value that will break your program! Example: Tip is -1000 which means your system would pay the customer!
    I expect to see functions, but I am not giving you a specific number. You should be able to determine this by yourself by now

General Notes:
Be sure to use comments in your program: Name, Program Description, Date and anywhere else in the program you deem necessary.
If you are stuck, I will help you!   
Grading Rubric:

    If you do not include comments at the top of the program (name, program description, date), you will lose 15 points
    If your program is not object-oriented, you will lose up to 100 points (OOP is the goal of this assignment)
    If your program has no error checking, as mentioned above, you will lose up to 25 points
    If your program does not stay in a category menu until the customer wants to leave, you will lose 10 points
    If you do not use generic functions for checking to see if the file is open or for reading in the data from input files, you will lose up to 40 points
    If your program does not loop from insufficient payment, you will lose up to 25 points
    If your program does not use functions, you will lose up to 50 points 
    If your program does not compile (run), then I will give a grade of 0/100. But will give you the change to repair for points back (some points are better than none)
    If your program is late (within 48 hours of the due date), you will lose 25 points
    If your program is late beyond the 48 hour due date, I will typically still accept it, but you will lose far more points. Depends on when you turn it in
    If you use global variables in your program, I will deduct 5 points for each used
    If your program is not formatted nicely (code all over the place, ugly), you will lose up to 25 points depending on the extent
    If your program stops working when I run it, you will lose points. The exact amount depends on the severity of the error
    If your program still has your friend's name on it, I will send you a message asking you to try harder while giving you a 0/100
    If your program looks like a a professional programmer wrote it, I will write to you to ask if you want a job. Well, maybe not. But, I will ask about the code
    This is just a list of typical issues I run into when grading to give you some idea of where your points go. Points can be taken off for other reasons.