饭店管理系统实验报告(c语言)

更新时间:2023-12-24 12:55:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

饭店管理系统

一.需求分析

设计一个饭店的系统用来实现预约订餐等基本功能。

饭店管理系统的主要功能:

1.餐饮管理包括提前预约、点菜的功能;通过这项功能从而能够使得客户在到饭店以前就可以提前预约好,从而可以使客户能够在未到饭店以前就可以约定好了.

2.收银管理为结账.

3.查询管理包括账单查询和预约查询。预约查询可以查询客户已经预约的情况。从而当预约的客户过来时能够方便的验证。账单查询能够方便的显示出各个桌子的消费情况。

二.思路分析

首先编写一个程序用来存储本店的菜单以及菜的价格,这样就可以快捷方便

的调用出来,接下来开始编写主要的程序。

本系统总共有三个模块,分辨是餐饮管理,查询管理,以及收银管理,餐饮管理用来存储顾客的预约信息和点菜的信息,查询管理用来查看顾客的预约信息,从而来确认以及每个桌子上的消费信息,最后收银管理用来结账。

三.概要设计 餐饮管理

给客人分配座位 查询菜单 查询管理 收银管理 退出系统 输入密码进入系统 饭店管理系统 提前预约点菜系统退出预约查询账单查询退出结帐 记录预约客户姓名 记录手机号码后四位 记录预约时间 记录客户的点菜情况

饭店管理系统 功能 餐饮管理 查询管理 收银管理 餐饮管理 功能 提前预约 点菜系统 查询管理 功能 预约查询 账单查询 收银管理 功能 结帐 提前预约 功能 记录预约客户姓名 记录预约客户手机后四位 记录预约的时间 点菜系统 功能 分配客人座位 显示菜单 记录消费情况

消费情况的记录 桌位号 菜名 价格 菜单的显示 菜名 价格 输入密码 打开系统 有人预约预约客户来 进入餐饮管理 打开提前预约功能,记录预约信息 预约客户过来,进入查询管理,打开预约信息查询,确认 查询消费信息,进行最后结算 员工下班退出系统 点菜系统,显示菜单,分配座位号,记录消费信息

菜单的设定 输入菜名和价格和 保存在caidan_list中 四.详细设计

菜单设定程序代码 #include #define size 15 struct caidan_type { char cainame[15]; int jiage; }caidan[10000];

void save() { FILE *fp; int i; if((fp=fopen(\ { printf(\ return; }

for(i=0;i

if( fwrite(&caidan[i],sizeof(struct caidan_type),1,fp)!=1) printf (\ fclose(fp); }

void main() { int i; for(i=0;i

饭店系统代码 #include #define size 10000

struct yuyuexitong_type//定义顾客的预约信息 { char name[10]; int mobilenum; int time; }yuyue[10000];

struct caidan_type//定义菜单的信息 { char cainame[15]; int jiage; }caidan[10000];

struct diancai_type//定义每个桌子点菜的信息 { int zhuoweihao; char caiming[15]; int jiage; }dian[1000];

void save(int i,int f)//储存预约人信息 { FILE *fp; if((fp=fopen(\ { printf(\

return; }

for(i=0;i

{

if( fwrite(&yuyue[i],sizeof(struct yuyuexitong_type),1,fp)!=1) printf (\

} fclose(fp); }

void savedian(int g,int e)//储存每个桌子的点菜的信息 { FILE *fp; if((fp=fopen(\ { printf(\ return; } for(g=0;g

if( fwrite(&dian[g],sizeof(struct diancai_type),1,fp)!=1) printf (\

} fclose(fp); }

void caidanxianshi()//显示菜单 { int i; FILE *fp; fp=fopen(\ for(i=0;i<15;i++) {

fread(&caidan[i],sizeof(struct caidan_type),1,fp);

printf(\

}fclose(fp); }

void xianshi(int f)//显示预约者的信息 { int i; FILE *fp; fp=fopen(\显示每个桌子的点菜的信息

for(i=0;i

fread(&yuyue[i],sizeof(struct yuyuexitong_type),1,fp);

printf(\ }fclose(fp); }

void diancaixianshi(int h) { int i; FILE *fp; fp=fopen(\ for(i=0;i

fread(&dian[i],sizeof(struct diancai_type),1,fp);

printf(\

} fclose(fp); }

void main()//主函数 { int i=0,n,f,nn,m,a=0,b,d,e,g,h=0,j,k,l; long z;

re: printf(\请输入6位密码进入系统\\n\输入密码用来组织非本店人员的进入 scanf(\ if(z==695730) { printf(\进入饭店管理系统\\n\

kaishi: printf(\功能选项 1.餐饮管理 2.查询管理 3.收银管理 4.退出系统\\n\

scanf(\ if(nn==1)//进入餐饮管理功能 {

ss: printf(\餐饮管理选项 1.预约记录 2.桌台点菜 3.退出\\n\ scanf(\ f=i; b=a;

if(n==1)

{printf(\记录预约信息\\n\ printf(\姓名 手机后四位 时间(点)\\n\ scanf(\ save(i,f); printf(\记录完毕\\n\ i++; goto ss;} if(n==2) { printf(\分配桌位号为(总共有35个桌子)\\n\ scanf(\ printf(\显示菜单\\n\ printf(\菜名 价格(元)\\n\ caidanxianshi();

printf(\记录客人点的菜\\n\ printf(\所点菜的数目:\ scanf(\ printf(\桌位号 菜名 价格(元)\\n\ for(g=h;g

mm: printf(\功能选项 1.预约信息查询 2.消费查询 3.退出\\n\ scanf(\ if(m==1) { printf(\显示预约信息\\n\ printf(\姓名 手机后四位 时间(点)\\n\

xianshi(f); goto mm; } if(m==2) { printf(\显示消费信息\\n\ printf(\桌位号 菜名 价格(元)\\n\ diancaixianshi(h); goto mm; } if(m==3) { goto kaishi; } else{ printf(\输入有误请重新输入\\n\ goto mm; } } if(nn==3)//进入收银管理功能 { l=0; printf(\请输入要结账的桌位号\\n\ scanf(\ for(k=0;k

printf(\收银成功\\n\ goto kaishi; } if(nn==4) { printf(\退出系统\\n\}

else{ printf(\输入有误请重新输入\\n\ goto kaishi; } } else{ printf(\输入有误请重新输入\\n\ goto re; } }

五.测试数据及其结果分析

总体测试中基本能够符合要求主要不好的原因还是界面太难看以及操作有点繁琐。

六、调试过程中的问题

在调试中有时因为里面fot循环没有用好的情况而使得里面储存数据的时候出现了错误,存储的顺序不对,其次就是数据的整型,字符行,字符串的设定上出了问题,还有显示存储信息时把调用的地址写错误,从而出现了一堆的乱码。

七、专业课程设计总结

通过本次的实验,是我掌握了以前C语言中不太了解的数据的输入输出的使用。以及一个简单系统的简单开发的方法,首先我们要先设定好这个程序的具体大概使用的功能,然后设计好每个功能里具体好友那些模块,紧接着画出流程图,最好编写程序,编写完成后还有步很重的事情,就是程序的测试,用来检查出程序的不完整之处。

最后小组里一起的讨论也能帮助你的设计和开发,可以得到其它的意见。 这次课程设计让我们原本就已经很少动手的大学生活里多了一次实践的机会, 我相信只有通过这种方式才能有效的增强我们的能力。

总体测试中基本能够符合要求主要不好的原因还是界面太难看以及操作有点繁琐。

六、调试过程中的问题

在调试中有时因为里面fot循环没有用好的情况而使得里面储存数据的时候出现了错误,存储的顺序不对,其次就是数据的整型,字符行,字符串的设定上出了问题,还有显示存储信息时把调用的地址写错误,从而出现了一堆的乱码。

七、专业课程设计总结

通过本次的实验,是我掌握了以前C语言中不太了解的数据的输入输出的使用。以及一个简单系统的简单开发的方法,首先我们要先设定好这个程序的具体大概使用的功能,然后设计好每个功能里具体好友那些模块,紧接着画出流程图,最好编写程序,编写完成后还有步很重的事情,就是程序的测试,用来检查出程序的不完整之处。

最后小组里一起的讨论也能帮助你的设计和开发,可以得到其它的意见。 这次课程设计让我们原本就已经很少动手的大学生活里多了一次实践的机会, 我相信只有通过这种方式才能有效的增强我们的能力。

本文来源:https://www.bwwdw.com/article/y835.html

Top