Header Files Problem

I am working on this homework assignment which asks to put different items into classes and header files, which I am not sure how to do.

You are to design a Class that will represent a restaurant order. The Class will have two public methods,
one to place an order and the second to calculate and display the order items and prices, the order subtotal,
the tip, the tax, and the check total. The method to place the order will allow the User to enter up to
5 order items. The method is to present a Menu of items for selection. You are to create two const static,
parallel arrays for the menu items, one for the item descriptions (string) and the second for the item costs
(double), which, of course, will be class private data members. You are to provide 10 items for selection.

Your project must meet these minimum requirements:
 Name the class: RestaurantCheck
 Include a Constructor that takes two arguments, the tax rate and the tip, both as a percentage:
1. Validate that the tax rate is greater than or equal to 1% (0.01) and less than or equal to
12% (0.12). If the value passed to the Constructor is invalid, set the tax rate to 0.065
2. Validate that the tip percentage is greater than or equal to 5% (0.05) and less than or
equal to 20% (0.20). If the value passed to the Constructor is invalid, set the tip to 15%
(0.15)
 Include a Default Constructor that sets the tax rate to 0.065 (6.5%) and the tip percentage to 15%
 The default values and the limit values should be declared as class private, static const values.
 Provide a public static class method, named testTaxRate, to test a tax rate percentage value
passed to it as a parameter. The method will RETurn a bool value, true: The parameter value is
valid.
 Provide a public static class method, named testTipRate, to test a tip percentage value passed to
it as a parameter. The method will RETurn a bool value, true: The parameter value is valid.
 Name the public class method to place an order: placeOrder
 Name the public class method to display the check: issueCheck
 Create a private class method to display the Menu and name it: presentMenu
Note: This method is called by method placeOrder to present the menu of items
 Create a private class method to calculate the tax and name it: calculateTax
 Create a private class method to calculate the tip and name it: calculateTip
 When displaying the check, make sure all amounts have their decimal points vertically aligned
and display 2 digits of precision to the right of the decimal point (all amounts are double)

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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
#include "stdafx.h"
#include <string>
#include <iomanip>
#include <iostream>

using namespace std;

 string menu[10] = { "BLT Sandwich", "Ham and Cheese Sandwich", "Hot Chocolate", "Breakfast Special", "House Sandwich", "Full Stack Special", "Club Sandwich", "Coffee", "Ham and Eggs", "Steak and Eggs" };
double menuPrice[10] = { 6.50, 6.50, 2.50, 8.00, 6.50, 4.00, 6.50, 2.00, 8.00, 12.00,};
int menuOrder[100];

int main()          
{
	double taxRate = 6.5,
		tipRate = 15;

	cout << "Enter the tax rate, as a %: ";
	cin >> taxRate;

	cout << "Enter the tip, as a %: ";
	cin >> tipRate;

	system("cls");

	cout << setw(26) << "Joe's Diner" << endl;
	cout << setw(22) << "Menu" << endl << endl;

	cout << "1: BLT Sandwich" << setw(34) << "2: Ham and Cheese Sandwich" << endl;
	cout << "3: Hot Chocolate" << setw(27) << "4: Breakfast Special" << endl;
	cout << "5: House Sandwich" << setw(28) << "6: Full Stack Pancakes" << endl;
	cout << "7: Club Sandwich" << setw(16) << "8: Coffee" << endl;
	cout << "9: Ham and Eggs" << setw(25) << "10: Steak and Eggs" << endl;
	cout << "11: Order Complete" << endl << endl;

	int Choice = 0;
	int itemNum = 1;
	int i = 1;
	char doneOrder = 'N';
	
	while (Choice != 11)
	{
		cout << "Enter Order item #" << itemNum << ": ";
		itemNum++;
		
		cin >> Choice;
		if (Choice > 11)
		{
			cout << "Please enter a number between 1 and 11." << endl;
			itemNum--;
			cout << "Enter Order item #" << itemNum << ": ";
				cin >> Choice;
				itemNum++;
		}
		menuOrder[i] = Choice;
		i++;
	}

	cout << fixed << setprecision(2);
	cout << endl << "Confirming your customer's Order:" << endl;

	i = 1;
	int l = 1;

	while (doneOrder != 'Y' && doneOrder != 'y')
	{
	
			cout << "Item " << l << ":" << endl;
			l++;
			Choice = menuOrder[i];
		
			switch (Choice)
			{
			case 1:
				cout << menu[0] << ", Price: $" << menuPrice[0] << endl;
				menuOrder[i] = 1;
				i++;
				break;
			case 2:
				cout << menu[1] << ", Price: $" << menuPrice[1] << endl;
				menuOrder[i] = 2;
				i++;
				break;
			case 3:
				cout << menu[2] << ", Price: $" << menuPrice[2] << endl;
				menuOrder[i] = 3;
				i++;
				break;
			case 4:
				cout << menu[3] << ", Price: $" << menuPrice[3] << endl;
				menuOrder[i] = 4;
				i++;
				break;
			case 5:
				cout << menu[4] << ", Price: $" << menuPrice[4] << endl;
				menuOrder[i] = 5;
				i++;
				break;
			case 6:
				cout << menu[5] << ", Price: $" << menuPrice[5] << endl;
				menuOrder[i] = 6;
				i++;
				break;
			case 7:
				cout << menu[6] << ", Price: $" << menuPrice[6] << endl;
				menuOrder[i] = 7;
				i++;
				break;
			case 8:
				cout << menu[7] << ", Price: $" << menuPrice[7] << endl;
				menuOrder[i] = 8;
				i++;
				break;
			case 9:
				cout << menu[8] << ", Price: $" << menuPrice[8] << endl;
				menuOrder[i] = 9;
				i++;
				break;
			case 10:
				cout << menu[9] << ", Price: $" << menuPrice[9] << endl;
				menuOrder[i] = 10;
				i++;
				break;
			case 11:
				cout << endl << "Is this order correct? (Y or N):";
				cin >> doneOrder;
				break;
			}
		}

system("cls");

	double total = 0;
	double tax;
	double tip;

	cout << setw(26) << "Joe's Diner" << endl;
	cout << setw(23) << "Check" << endl << endl;

	i = 0;
	while (menuOrder[i] != 11)
	{

		Choice = menuOrder[i];
		i++;

		switch (Choice)
		{
		case 1:
			cout << menu[0] << setw(20) << " $ " << menuPrice[0] << endl;
			total = total + menuPrice[0];
			break;
		case 2:
			cout << menu[1] << setw(9) << " $ " << menuPrice[1] << endl;
			total = total + menuPrice[1];
			break;
		case 3:
			cout << menu[2] << setw(19) << " $ " << menuPrice[2] << endl;
			total = total + menuPrice[2];
			break;
		case 4:
			cout << menu[3] << setw(15) << " $ " << menuPrice[3] << endl;
			total = total + menuPrice[3];
			break;
		case 5:
			cout << menu[4] << setw(18) << " $ " << menuPrice[4] << endl;
			total = total + menuPrice[4];
			break;
		case 6:
			cout << menu[5] << setw(14) << " $ " << menuPrice[5] << endl;
			total = total + menuPrice[5];
			break;
		case 7:
			cout << menu[6] << setw(19) << " $ " << menuPrice[6] << endl;
			total = total + menuPrice[6];
			break;
		case 8:
			cout << menu[7] << setw(26) << " $ " << menuPrice[7] << endl;
			total = total + menuPrice[7];
			break;
		case 9:
			cout << menu[8] << setw(20) << " $ " << menuPrice[8] << endl;
			total = total + menuPrice[8];
			break;
		case 10:
			cout << menu[9] << setw(17) << " $ " << menuPrice[9] << endl;
			total = total + menuPrice[9];
			break;
		}
	}

	cout << "--------------------------   ---------" << endl;
	cout << "Sub Total" << setw(23) << "$ " << total << endl;

	tax = total * (taxRate/10);
	tip = total * (tipRate/10);

	cout << "Tax (" << taxRate << "%)" << setw(21) <<  "$ " << tax << endl;
	cout << "Tip (" << tipRate << "%)" << setw(20) << "$ " << tip << endl;

	cout << "--------------------------   ---------" << endl;

	total = total + tax + tip;

	cout << "Total Due" << setw(23) << "$ " << total << endl << endl;

return 0;
}
I'd start by declaring the class as described in your instructions.

Your project must meet these minimum requirements:
 Name the class: RestaurantCheck


1
2
3
4
5
class RestaurantCheck
{ 


};
Last edited on
Topic archived. No new replies allowed.