1 | #include <stdio.h>
|
2 |
|
3 | int counter;
|
4 | int selection;
|
5 | int quantity;
|
6 | double money;
|
7 | double total_cost=0;
|
8 | double price;
|
9 | double sum;
|
10 | double change;
|
11 |
|
12 | int menu();
|
13 | int FoodSelected (int selection);
|
14 | double ItemCost(int selection);
|
15 | double totalprice(double price, int quantity);
|
16 | double EnteredMoney(double money, double sum);
|
17 |
|
18 | int main()
|
19 | {
|
20 | int counter;
|
21 | int selection;
|
22 | int quantity;
|
23 | double money;
|
24 | double total_cost=0;
|
25 | double price;
|
26 | double sum;
|
27 | double change;
|
28 |
|
29 | // write the code to print the first 4 lines of the output image in the output file //
|
30 | FILE *fp;
|
31 | fp = fopen ("invoice.txt", "w");
|
32 | fprintf(fp, "The bill info of the selected item is:\n");
|
33 | fprintf(fp, "--------------------------------------------------------------------------------:\n");
|
34 | fprintf(fp, "The bill info of the selected item is:\n");
|
35 | fprintf(fp, "Item \t Price \t Quantity \t Total \t Paid Money \t Remaining Money\n");
|
36 | fprintf(fp, "--------------------------------------------------------------------------------:\n");
|
37 |
|
38 |
|
39 | for (counter=1, counter > 0, ++counter)
|
40 | {
|
41 |
|
42 | int menu ();
|
43 |
|
44 | if (selecion != 5)
|
45 | {
|
46 | int FoodSelected (int selection);
|
47 | double ItemCost(int selection);
|
48 | double totalprice(double price,int quantity);
|
49 | if (selection ==1)
|
50 | {
|
51 | fprintf(fp, "Apple\t %f \t %d \t %f \n", &price, &quantity, &total_cost);
|
52 | }
|
53 | else if (selection ==2)
|
54 | {
|
55 | fprintf(fp, "Banana\t %f \t %d \t %f \n", &price, &quantity, &total_cost);
|
56 | }
|
57 | else if (selection ==3)
|
58 | {
|
59 | fprintf(fp, "Orange\t %f \t %d \t %f \n", &price, &quantity, &total_cost);
|
60 | }
|
61 | else (selection ==4)
|
62 | {
|
63 | fprintf(fp, "Salad\t %f \t %d \t %f \n", &price, &quantity, &total_cost);
|
64 | }
|
65 | sum = sum + total_cost;
|
66 | printf("------------------------------------------");
|
67 | }
|
68 |
|
69 | else (selecion == 5)
|
70 | {
|
71 | printf("Please enter the Money");
|
72 | printf("\n");
|
73 | scanf("%f",&money);
|
74 | printf("\n");
|
75 |
|
76 | double EnteredMoney(double money, double sum);
|
77 | fprintf(fp, "--------------------------------------------------------------------------------:\n");
|
78 | fprintf(fp, "\t\t\t\t %d $\t %f $ \n", &money, &change);
|
79 | break;
|
80 | }
|
81 |
|
82 | }
|
83 |
|
84 | printf("Thank you for your payment, please check the reset file which has your payment details\n");
|
85 | fclose (fp);
|
86 |
|
87 | return 0;
|
88 |
|
89 |
|
90 | menu();
|
91 | int FoodSelected(int selection);
|
92 | int ItemCost(int selection);
|
93 | double totalprice(double price, int quantity);
|
94 | double EnteredMoney(double money, double sum);
|
95 |
|
96 | return 0;
|
97 | }
|
98 |
|
99 | /* Menu Function */
|
100 |
|
101 | int menu ()
|
102 | {
|
103 | /*List the menu on the screen*/
|
104 | printf("MENU: ");
|
105 | printf("\n");
|
106 | printf("1. Apple $1.00\n");
|
107 | printf("2. Banana $1.50\n");
|
108 | printf("3. Orange $2.00\n");
|
109 | printf("4. Salad $3.00\n");
|
110 | printf("5. Quit");
|
111 | printf("\n\n");
|
112 |
|
113 | /* Ask the user to choose an option from the menu*/
|
114 | printf("Please enter your selection: ");
|
115 | scanf("%d",&selection);
|
116 | printf("\n");
|
117 |
|
118 | return selection;
|
119 | }
|
120 |
|
121 | /* Food Selection Function */
|
122 |
|
123 | /* This function displays the selected item by the user and ask him how many of that item he needs*/
|
124 | int FoodSelected (int selection)
|
125 | {
|
126 | if (selection==1)
|
127 | {
|
128 | printf("You have selected Apple. $1.00 ");
|
129 | printf("\n");
|
130 | printf("How many of the item you need\n");
|
131 | scanf("%d",&quantity);
|
132 | }
|
133 | else if (selection==2)
|
134 | {
|
135 | printf("You have selected Banana. $1.50 ");
|
136 | printf("\n");
|
137 | printf("How many of the item you need\n");
|
138 | scanf("%d",&quantity);
|
139 | }
|
140 | else if (selection==3)
|
141 | {
|
142 | printf("You have selected Orange. $2.00 ");
|
143 | printf("\n");
|
144 | printf("How many of the item you need\n");
|
145 | scanf("%d",&quantity);
|
146 | }
|
147 | else if (selection==4)
|
148 | {
|
149 | printf("You have selected Salad. $3.00 ");
|
150 | printf("\n");
|
151 | printf("How many of the item you need\n");
|
152 | scanf("%d",&quantity);
|
153 | }
|
154 |
|
155 | else /* If the user enter a value that is not between 1-5*/
|
156 | {
|
157 | printf("Invalid selection! Please try again.");
|
158 | scanf("%d",&selection);
|
159 | printf("\n");
|
160 | int FoodSelected (int selection);
|
161 | }
|
162 |
|
163 | return quantity;
|
164 | }
|
165 |
|
166 |
|
167 | /* Selected Item Cost Function */
|
168 |
|
169 | /* This funtion defines the value of the item selected by the user*/
|
170 |
|
171 | double ItemCost(int selection)
|
172 | {
|
173 | if (selection==1)
|
174 | {
|
175 | price = 1.00;
|
176 | }
|
177 | else if (selection==2)
|
178 | {
|
179 | price = 1.50;
|
180 | }
|
181 | else if (selection==3)
|
182 | {
|
183 | price = 2.00;
|
184 | }
|
185 | else if (selection==4)
|
186 | {
|
187 | price = 3.00;
|
188 | }
|
189 | return price;
|
190 | }
|
191 |
|
192 |
|
193 |
|
194 |
|
195 | /* Total Item Cost Function */
|
196 |
|
197 | /* This finction calculates the total cost of the item. It is the price multiplies by the quantity*/
|
198 | double totalprice(double price,int quantity)
|
199 | {
|
200 | total_cost = price*quantity;
|
201 | return total_cost;
|
202 | }
|
203 |
|
204 |
|
205 |
|
206 | /* Entered Money and return change Functions */
|
207 |
|
208 | /* This function calculates the change and checks if the money value is valid*/
|
209 |
|
210 | double EnteredMoney(double money, double sum)
|
211 | {
|
212 | double change;
|
213 | if (money >= sum)
|
214 | {
|
215 | change = money - sum;
|
216 | }
|
217 | else
|
218 | {
|
219 | printf("Error! Please enter the money again!!\n");
|
220 | scanf("%f",&money);
|
221 | printf("\n");
|
222 | double EnteredMoney(double money, double sum);
|
223 | }
|
224 |
|
225 | return change;
|
226 | }
|
227 |
|
228 |
|
229 | /* Main Function */
|