Advertisement
Guest User

Untitled

a guest
Mar 26th, 2019
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.19 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<string.h>
  4. #include<windows.h>
  5. typedef struct node
  6. {
  7.  
  8. float data;
  9. char foodname[50];
  10. int quantity;
  11. float price;
  12. struct node *next;
  13.  
  14. }node;
  15. typedef struct head
  16. {
  17. node *start;
  18. }head;
  19. void insertend(head *t, float data, char foodname[25], int quantity, float price)
  20. {
  21. node *p, *q;
  22. p=(node *)malloc(sizeof(node));
  23. p->data=data;
  24. p->quantity=quantity;
  25. p->price=price;
  26. strcpy(p->foodname, foodname);
  27. p->next=NULL;
  28. if(t->start==NULL)
  29. {
  30. t->start=p;
  31. }
  32. else
  33. {
  34. q=t->start;
  35. while(q->next!=NULL)
  36. {
  37. q=q->next;
  38. }
  39. q->next=p;
  40. }
  41. }
  42. void ccolor(int clr)
  43. {
  44.  
  45. HANDLE hConsole;
  46. hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
  47. SetConsoleTextAttribute(hConsole, clr);
  48.  
  49. }
  50. void foodlist(head *t)
  51. {
  52.  
  53. printf("\n\t"); ccolor(240);
  54. printf("_______________________________________________________");ccolor(26);
  55. printf("\n\t"); ccolor(240);
  56. printf(" Food Code Name Price ");ccolor(26);
  57. printf("\n\t"); ccolor(240);
  58. printf("-------------------------------------------------------");ccolor(26);
  59.  
  60. node *p;
  61. p=t->start;
  62. while(p!= NULL)
  63. {
  64. printf("\n\t");
  65. printf(" %0.1f | %-25s | %0.2f ",p->data,p->foodname,p->price);
  66. ccolor(26);
  67. printf("\n\t");
  68. printf("-------------------------------------------------------");
  69. p=p->next;
  70. }
  71. }
  72. void foodlist1(head *t)
  73. {
  74. printf("\n\t"); ccolor(240);
  75. printf("___________________________________________________________________");ccolor(26);
  76. printf("\n\t"); ccolor(240);
  77. printf(" Food Code Name Quantity Price ");ccolor(26);
  78. printf("\n\t"); ccolor(240);
  79. printf("-------------------------------------------------------------------");ccolor(26);
  80.  
  81. node *p;
  82. p=t->start;
  83. while(p!= NULL)
  84. {
  85. printf("\n\t");
  86. printf(" %0.1f | %-25s | %2d | %0.2f ",p->data,p->foodname, p->quantity, p->price);
  87. printf("\n\t");
  88. printf("------------------------------------------------------------------");
  89. p=p->next;
  90. }
  91. }
  92. float getbill(head *t)
  93. {
  94. node *p;
  95. float b=0;
  96. p=t->start;
  97. while(p!=NULL)
  98. {
  99. b=b+p->price;
  100. p=p->next;
  101. }
  102. return b;
  103. }
  104. void order(head *t, head *l, float fc, int qty)
  105. {
  106. node *p;
  107. p=t->start;
  108. while(p->data!=fc)
  109. {
  110. p=p->next;
  111. }
  112. insertend(l, fc, p->foodname, qty, (p->price*qty));
  113. return;
  114. }
  115. void cls()
  116. {
  117. system("cls");
  118. }
  119.  
  120. void main()
  121. {
  122. head x, s, m, d, o;
  123. x.start=s.start=m.start=d.start=o.start=NULL;
  124. float fcode;
  125. int qty, lo;
  126. ccolor(26);
  127. insertend(&s, 1.1, "Samosa", 1, 50);
  128. insertend(&s, 1.2, "Grilled Cheese Sandwich", 1, 100);
  129. insertend(&s, 1.3, "Nachos", 1, 150);
  130. insertend(&s, 1.4, "Chicken Burger", 1, 150);
  131. insertend(&s, 1.5, "BBQ Chicken Roll", 1, 250);
  132. insertend(&m, 2.1, "Pav Bhaji", 1, 200);
  133. insertend(&m, 2.2, "Punjabi Thali", 1, 350);
  134. insertend(&m, 2.3, "Mexican Sizzler", 1, 250);
  135. insertend(&m, 2.4, "Peri Peri Chicken Pizza", 1, 250);
  136. insertend(&m, 2.5, "Margherita Pizza", 1, 200);
  137. insertend(&m, 2.6, "Veg Pulao", 1, 250);
  138. insertend(&m, 2.7, "Chicken Handi Biryani", 1, 350);
  139. insertend(&d, 3.1, "Chocolate Overload Waffle", 1, 150);
  140. insertend(&d, 3.2, "Cinnamon Waffle", 1, 150);
  141. insertend(&d, 3.3, "Chocolate Cake", 1, 250);
  142. insertend(&d, 3.4, "Red Velevet Cake", 1, 350);
  143. insertend(&d, 3.5, "Strawberry Mouse", 1, 100);
  144. insertend(&d, 3.6, "Orea Freakshake", 1, 150);
  145. insertend(&d, 3.7, "Fruit Milkshake", 1, 80);
  146. //login
  147. char uid[20], pwd[20], uid1[20], pwd1[20], c=' ', k=' ';
  148. int i=0, ch;
  149. while(1)
  150. {
  151. cls();
  152. mainscr: printf("\n\nEnter Choice: 1. Login 2.New User 3.Exit\n");
  153. scanf("%d", &ch);
  154. if(ch==3)
  155. break;
  156. //register new user
  157. if(ch==2)
  158. {
  159. printf(" \n\n ENTER USERNAME:-");
  160. scanf("%s", &uid1);
  161. printf(" \n\n ENTER PASSWORD:-");
  162. while(i<20)
  163. {
  164. pwd1[i]=getch();
  165. c=pwd1[i];
  166. if(c=='\r') break;
  167. else printf("*");
  168. i++;
  169. }
  170. pwd1[i]='\0';
  171. printf("\n\n Registered Successfully!\n");
  172. Sleep(2000);
  173. }
  174. else
  175. {
  176. printf("\n ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ");
  177. printf(" \n\n ENTER USERNAME:-");
  178. scanf("%s", &uid);
  179. printf(" \n\n ENTER PASSWORD:-");
  180. c=' '; i=0;
  181. while(i<20)
  182. {
  183. pwd[i]=getch();
  184. c=pwd[i];
  185. if(c=='\r') break;
  186. else printf("*");
  187. i++;
  188. }
  189. pwd[i]='\0';
  190. //USERMENU
  191. if(strcmp(uid,uid1)==0&&strcmp(pwd,pwd1)==0)
  192. {
  193. printf("\n\n LOGIN SUCCESFULL!");
  194. Sleep(2000);
  195. cls();
  196. int i, ch;
  197. mainmenu: printf("Enter choice: 1.View Menu 2.View Previous Order 3.Log Out\n");
  198. scanf("%d", &ch);
  199. if(ch==2)
  200. {
  201. if(o.start==NULL)
  202. {
  203. printf("Previous Order does not exist!\n");
  204. Sleep(2000);
  205. cls();
  206. goto mainmenu;
  207. }
  208. else
  209. {
  210. cls();
  211. foodlist1(&o);
  212. printf("\nPress 0 to continue.\n");
  213. scanf("%d", &ch);
  214. if(ch==0)
  215. {
  216. goto mainmenu;
  217. }
  218. }
  219.  
  220. }
  221. else if(ch==1)
  222. {
  223. order: printf("Enter Choice:\n");
  224. printf("1.Snacks\n2.Main Course\n3.Dessert\n");
  225. scanf("%d", &ch);
  226. while(1){
  227. switch(ch)
  228. {
  229. case 1: foodlist(&s);
  230. printf("\n");
  231. printf("Enter Food Code:\n");
  232. scanf("%f", &fcode);
  233. printf("Enter Quantity of Food:\n");
  234. scanf("%d", &qty);
  235. order(&s, &o, fcode, qty);
  236. foodlist1(&o);
  237. break;
  238. case 2: foodlist(&m);
  239. printf("\n");
  240. printf("Enter Food Code:\n");
  241. scanf("%f", &fcode);
  242. printf("Enter Quantity of Food:\n");
  243. scanf("%d", &qty);
  244. order(&m, &o, fcode, qty);
  245. foodlist1(&o);
  246. break;
  247. case 3: foodlist(&d);
  248. printf("\n");
  249. printf("Enter Food Code:\n");
  250. scanf("%f", &fcode);
  251. printf("Enter Quantity of Food:\n");
  252. scanf("%d", &qty);
  253. order(&d, &o, fcode, qty);
  254. foodlist1(&o);
  255. break;
  256. default: printf("Invalid Choice.\n");
  257. }
  258. afterorder: printf("\n\n");
  259. printf("\n\t\tEnter Choice: \n\t\t1.Hungry For More? \n\t\t2.View Order \n\t\t3.Confirm Order?\n");
  260. scanf("%d", &ch);
  261. if(ch==1)
  262. {
  263. cls();
  264. goto order;
  265. }
  266. else if(ch==2)
  267. {
  268. cls();
  269. printf("Current Order:\n");
  270. foodlist1(&o);
  271. goto afterorder;
  272. }
  273. //billing
  274. else if(ch==3)
  275. {
  276. cls();
  277. foodlist1(&o);
  278. printf("\nTotal amount to pay: %0.2f\n", getbill(&o));
  279. printf("\nEnjoy Your Meal!\n");
  280. printf("\nPress 0 to continue.\n");
  281. scanf("%d", &ch);
  282. if(ch==0)
  283. {
  284. cls();
  285. goto mainmenu;
  286. }
  287. }
  288. }
  289. }
  290. else if(ch==3)
  291. {
  292. cls();
  293. goto mainscr;
  294. }
  295. else
  296. printf("\nInvalid Choice.\n");
  297. }
  298. //admin
  299. else if(strcmp(uid,"admin")==0&&strcmp(pwd,"admin123")==0)
  300. {
  301. printf("\n\n WELCOME ADMIN");
  302. Sleep(3000);
  303. cls();
  304. int adch;
  305. admin: printf("\n\n Enter Choice:\n");
  306. printf(" 1. View Menu\n");
  307. printf(" 2. Update Menu\n");
  308. printf(" 3. View Recent Order\n");
  309. printf(" 4. Log Out\n");
  310. scanf("%d", &adch);
  311. cls();
  312. if(adch==4)
  313. goto mainscr;
  314. switch(adch)
  315. {
  316. case 1:cls();
  317. printf("\nSNACKS:\n");
  318. foodlist(&s);
  319. Sleep(3000);
  320. printf("\nMAIN COURSE:\n");
  321. foodlist(&m);
  322. Sleep(3000);
  323. printf("\nDESSERT:\n");
  324. foodlist(&d);
  325. printf("\nPress 0 to continue.\n");
  326. scanf("%d", &ch);
  327. if(ch==0)
  328. {
  329. }
  330. break;
  331. case 3: //Sleep(3000);
  332. cls();
  333. printf("Recent Order:\n");
  334. foodlist1(&o);
  335. printf("\nPress 0 to continue.\n");
  336. scanf("%d", &ch);
  337. if(ch==0)
  338. {
  339. goto admin;
  340. }
  341.  
  342. break;
  343. case 2:
  344. cls();
  345. float fcu, pu;
  346. char fnameu[50];
  347. printf("UPDATE MENU\n");
  348. printf("What do you want to update?\n");
  349. printf("Enter Choice:\n");
  350. printf("1.Snacks\n2.Main Course\n3.Dessert\n");
  351. scanf("%d", &ch);
  352. switch(ch)
  353. {
  354. case 1: printf("\nEnter Food Code:\n");
  355. scanf("%f", &fcu);
  356. printf("\nEnter Food name:\n");
  357. scanf("%s", &fnameu);
  358. printf("\nEnter price:\n");
  359. scanf("%f", &pu);
  360. insertend(&s, fcu, fnameu, 1, pu);
  361. printf("\nMENU UPDATED\n");
  362. foodlist(&s);
  363. break;
  364. case 2: printf("\nEnter Food Code:\n");
  365. scanf("%f", &fcu);
  366. printf("\nEnter Food name:\n");
  367. scanf("%s", &fnameu);
  368. printf("\nEnter price:\n");
  369. scanf("%f", &pu);
  370. insertend(&m, fcu, fnameu, 1, pu);
  371. printf("\nMENU UPDATED\n");
  372. foodlist(&m);
  373. break;
  374. case 3: printf("\nEnter Food Code:\n");
  375. scanf("%f", &fcu);
  376. printf("\nEnter Food name:\n");
  377. scanf("%s", &fnameu);
  378. printf("\nEnter price:\n");
  379. scanf("%f", &pu);
  380. insertend(&d, fcu, fnameu, 1, pu);
  381. printf("\nMENU UPDATED\n");
  382. foodlist(&d);
  383. break;
  384.  
  385. }
  386. goto admin;
  387. break;
  388.  
  389. default:printf("\nInvalid Choice\n");
  390. }
  391. }
  392. else
  393. {
  394. printf("\n\n INCORRECT USERNAME OR PASSWORD");
  395. Sleep(2000);
  396. }
  397. }
  398. }
  399. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement