Professional Documents
Culture Documents
ON
“Cafeteria Management System”
1
ACKNOWLEDGEMENT
The most awaited moment of any endeavor is successful completion, but nothing can be done
successfully if done alone. Success is the outcome of contribution and consistent help of various persons
and we thank those ones who helped us in successful completion of this project.
Primarily I would like to thank Prof (Dr.) Sonal Sharma, Dean-USCS for providing a healthy and
encouraging environment to study.
I profusely thankful to Dr. Sameer Dev Sharma, Head of Department-USCS for their valuable
support and guidance to build the project.
I am also thankful to Mr. Amarjeet Rawat, Program Coordinator- BCA Ist Year, Assistant
Professor-USCS for providing all the required resources in the successful completion of my project
report.
I express my thanks to Mr. Praveen Shah, Project Mentor, Assistant Professor-USCS. He has been
generous enough to provide me an opportunity and accepting my project for the most valuable guidance
and affordable treatment given to us at every stage to boost my morale.
Mehak Gupta
Roll No: 02
B.C.A 1st Semester
Section - E
2
DECLARATION
I hereby declare that the project report entitled Cafeteria Management System submitted by
Mehak Gupta to Uttaranchal School of Computing Sciences. The project report was done under
the guidance of Mr. Praveen Shah, Assistant Professor-USCS. I further declare that the work
reported in this project report has not been submitted and will not be submitted, either in part or
in full, for the award of any other degree or diploma in this university or any other university or
institute.
Mehak Gupta
Roll No: 02
B.C.A 1st Semester
Section - E
iii
CERTIFICATE
This is to certify Mehak Gupta student of BCA 1st Semester, of Uttaranchal School of
Computing Sciences, Dehradun, has completed the Project Report for the topic
Cafeteria Management System for the session (2023- 2024).
4
TABLE OF CONTENTS
01 ACKNOWLEDGEMENT
02 DECLARATION
03 CERTIFICATE
04 INTRODUCTION 06
05 OBJECTIVES 07
06 SYSTEM ANALYSIS
EXISTING SYSTEM 08
PROPOSED SYSTEM AND SCOPE OF PROPOSED 09
SYSTEM
HARDWARE & SOFTWARE REQUIREMENT 10
FUNCTIONAL & NON-FUNCTIONAL 11
REQUIREMENTS
MODULES DESCRIPTION 12
07 SYSTEM ANALYSIS DESIGN
USE CASE DIAGRAM 13
09 CODE 15-22
5
1. INTRODUCTION
Cafeteria management system is to provide fast services to their college students and
teachers. Usually, People have to go to cafeteria and order the food which is updated in a
notebook i.e., using pen & paper system, but with the help of this system you just have to
follow a very simple procedure to order your stuffs. And you need not to wait in the long
queue to place your order.
Our cafeteria management system provides an interface for easy ordering, billing features
and lots more. Implementation of such a system makes the operation of the kitchen and the
whole of the cafeteria as effective and quick as possible.
6
2. OBJECTIVES
The main objective of the project is to manage the details of cafeteria, invoices, sales, and
calculations.
The purpose is to build a software that will reduce the manual work of ordering items and
managing cafeteria. It tracks all the details about the generated bills, ordered food, customer
details, etc.
Generate Invoice – For Generating invoice, the user adds the item with
the prices.
Show all Invoices– For displaying all invoices, the user can view the
previous orders’ invoices too.
Search Invoice- For searching an invoice with the name of customer.
Exit – For the exit, the user can also exit in the system.
7
3. EXISTING SYSTEM
The existing system is a paper-based system. The process takes a lot of time as the employee has
to written down all the orders and sometimes it is not even in a proper sequence, results in poor
service.
The delays in food serving and improper management leads to unsatisfied and unhappy
customers which can decrease the sales of cafeteria.
CHARACTERISTTICS:
Time consuming.
8
4. PROPOSED SYSTEM
This system is generally advantageous to avoid spending time waiting in the queue by posting
orders directly to the kitchen without delay and also by scheduling orders ahead of time. It saves
time and also this technique is easy to use.
The proposed Cafeteria Management System is an adapt solution for chaos at college cafeterias
by computerizing the ordering and billing system.
It will help in collecting information of cafeteria in details. In a very short time, the collection of
data will be obvious, simple and sensible. It will help a person to know the management of
passed month perfectly. It will reduce the manual work of writing down the orders with pen and
paper.
We tried to automate the management system of cafeteria with proper maintenance of data and
calculations of bills.
9
5. HARDWARE AND SOFTWARE REQUIREMENT
4GB RAM
SSD 332GB
10
6. FUNCTIONAL AND NON-FUNCTIONAL REQUIREMENTS
Generate Invoices.
Exit
Time:
The elapsed time between the submission of order process between the customer and cashier in a
cafeteria should be minimum as possible.
User-friendly:
Flexibility:
Our project should be flexible so that whenever we want to make changes in it very easily it can
be done.
Portable:
Our project should be portable on any platform and available on websites easily and at a faster
speed than others.
11
7. MODULES
12
8.USE CASE DIAGRAM
13
9.REFERENCES AND BIBLIOGRAPHY
https://www.acssonaicollege.com/wp-content/uploads/2022/01/Devhare-Vanita-
Dhokne.pdf
https://www.freeprojectz.com/premium-synopsis/synopsis-canteen-management-system
14
10. CODING
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
struct items
char item[20];
float price;
int qty;
};
struct orders
char customer[50];
char date[50];
int numOfItems;
};
printf("\n\n");
printf("\n\t -----------------");
printf("\nDate:%s",date);
15
printf("\nInvoice To: %s",name);
printf("\n");
printf("---------------------------------------\n");
printf("Items\t\t");
printf("Qty\t\t");
printf("Total\t\t");
printf("\n---------------------------------------");
printf("\n\n");
printf("%s\t\t",item);
printf("%d\t\t",qty);
printf("%.2f\t\t",qty * price);
printf("\n");
printf("\n");
float netTotal=total-dis;
printf("---------------------------------------\n");
printf("Sub Total\t\t\t%.2f",total);
printf("\nDiscount @10%s\t\t\t%.2f","%",dis);
16
printf("\n\t\t\t\t-------");
printf("\nNet Total\t\t\t%.2f",netTotal);
printf("\nCGST @9%s\t\t\t%.2f","%",cgst);
printf("\nSGST @9%s\t\t\t%.2f","%",cgst);
printf("\n---------------------------------------");
printf("\nGrand Total\t\t\t%.2f",grandTotal);
printf("\n---------------------------------------\n");
int main()
int opt,n;
char name[50];
FILE *fp;
//dashboard
while(contFlag == 'y')
system("clear");
float total = 0;
int invoiceFound = 0;
printf("\n\n1.Generate Invoice");
printf("\n3.Search Invoice");
17
printf("\n4.Exit");
printf("\n\nYour choice:\t");
scanf("%d",&opt);
fgetc(stdin);
switch(opt)
case 1:
system("clear");
fgets(ord.customer,50,stdin);
ord.customer[strlen(ord.customer)-1] = 0;
strcpy(ord.date,__DATE__);
scanf("%d",&n);
ord.numOfItems = n;
for(int i=0;i<n;i++)
fgetc(stdin);
printf("\n\n");
fgets(ord.itm[i].item,20,stdin);
ord.itm[i].item[strlen(ord.itm[i].item)-1]=0;
scanf("%d",&ord.itm[i].qty);
scanf("%f",&ord.itm[i].price);
18
}
generateBillHeader(ord.customer,ord.date);
for(int i=0;i<ord.numOfItems;i++)
generateBillBody(ord.itm[i].item,ord.itm[i].qty,ord.itm[i].price);
generateBillFooter(total);
scanf("%s",&saveBill);
if(saveBill == 'y')
fp = fopen("RestaurantBill.dat","a+");
fwrite(&ord,sizeof(struct orders),1,fp);
if(fwrite != 0)
printf("\nSuccessfully saved");
else
printf("\nError saving");
fclose(fp);
break;
case 2:
system("clear");
fp = fopen("RestaurantBill.dat","r");
19
while(fread(&order,sizeof(struct orders),1,fp))
float tot = 0;
generateBillHeader(order.customer,order.date);
for(int i=0;i<order.numOfItems;i++)
generateBillBody(order.itm[i].item,order.itm[i].qty,order.itm[i].price);
tot+=order.itm[i].qty * order.itm[i].price;
generateBillFooter(tot);
fclose(fp);
break;
case 3:
//fgetc(stdin);
fgets(name,50,stdin);
name[strlen(name)-1] = 0;
system("clear");
fp = fopen("RestaurantBill.dat","r");
printf("\t*****Invoice of %s*****",name);
while(fread(&order,sizeof(struct orders),1,fp))
float tot = 0;
if(!strcmp(order.customer,name))
generateBillHeader(order.customer,order.date);
20
for(int i=0;i<order.numOfItems;i++)
generateBillBody(order.itm[i].item,order.itm[i].qty,order.itm[i].price);
tot+=order.itm[i].qty * order.itm[i].price;
generateBillFooter(tot);
invoiceFound = 1;
if(!invoiceFound)
fclose(fp);
break;
case 4:
exit(0);
break;
default:
break;
scanf("%s",&contFlag);
21
}
printf("\n\n");
return 0;
22