C语言订餐系统.docx
《C语言订餐系统.docx》由会员分享,可在线阅读,更多相关《C语言订餐系统.docx(15页珍藏版)》请在冰豆网上搜索。
C语言订餐系统
课程设计说明书
课程名称:
C语言程序设计
设计题目:
电话订餐信息处理
院系:
计算机科学与信息工程学院
姓名学号:
专业班级:
指导教师:
课程设计任务书
设计题目
电话订餐信息处理系统
学生姓名
所在院系
计算机科学与信息工程学院
专业、年级、班
设计要求:
完成电话订餐信息处理系统,具体要求如下:
1.增加订餐用户
2.修改订餐信息
3.查询顾客信息
4.清空座位
5.厨师查询信息
6.将数据保存在磁盘中
学生应完成的工作:
1学生应认真学习参考程序,理解每个函数以及各个变量的作用和意义。
在此基础上进一步改进程序,最后正确地运行程序。
2对程序进行测试,设计详细的测试计划,然后根据测试计划设计测试用例,对程序进行测试。
测试时应注意对各种边缘情况进行测试。
3完成课程设计报告。
参考文献:
C程序设计
工作计划:
1.小组审题,查阅资料,进行设计前的必要资料准备(2天)。
2.把程序完整运行出来(3天)。
3.增加改进程序(2天)。
4.写课程设计报告(2天)。
5.提交课程设计报告及答辩(1天)
任务下达日期:
2011年6月日
任务完成日期:
2011年6月日
指导教师(签名):
学生(签名):
电话订餐信息处理程序
一设计要求
1..要求使用多个函数实现程序设计。
2..要求在各个函数中实现函数不同功能。
二系统的功能模块
三数据结构设计描述
#defineMAX40//饭店最大订餐数
structGuest//结构体
{
charfood[200];//定餐
chartime[20];//订餐时间
charsum[10];//人数
charname[20];//客户名字
intuser_num;//订餐用户编号
chartel[20];
}g[MAX];//g为顾客
intnum=0;//生成编号
intm=0;//已接订单数量
chara[200][200];//菜名
FILE*fp;//文件指针
四函数功能及参数说明、相互调用关系
函数名
功能
main
总控函数
fopen
保存数据
newgue
新客户
change
修改信息
find
顾客查询信息
delet
清空座位
print
厨师查询
五各变量的定义和作用
voidnewgue(void);//新客户
voidchange(void);//修改信息
voidfind(void);//顾客查询信息
voiddelet(void);//清空座位
voidprint(void);//厨师查询
defineMAX40//饭店最大订餐数
structGuest//结构体
{
charfood[200];//定餐
chartime[20];//订餐时间
charsum[10];//人数
charname[20];//客户名字
intuser_num;//订餐用户编号
chartel[20];
}g[MAX];//g为顾客
intnum=0;//生成编号
intm=0;//已接订单数量
chara[200][200];//菜名
FILE*fp;//文件指针
六各功能模块的算法处理流程图及相关说明
总控函数、菜单文件student
给i赋值,用if
i=1
i=2
i=3
i=4
i=5
增加新用户信息
(调用自定义函数)
修改学生信息
(调用自定义函数)
顾客查询信息
(调用自定义函数)
清空座位(调用自定义函数)
厨师查询
(调用自定义函数)
s
i=6结束运行
对i规定,若不是1到5之间则输入错误
七改进或增加功能模块说明
1.在结构体Guest中增加了顾客所点菜名,顾客姓名,顾客手机号码
structGuest
{
charfood[200];//定餐
chartime[20];//订餐时间
charsum[10];//人数
charname[20];//客户名字
intuser_num;//订餐用户编号
chartel[20];
说明:
增加顾客所点的菜,有利于后厨准备。
增加顾客手机号码和手机号码有利于称呼顾客和联系顾客。
2.增加了厨师查询函数
voidprint()//厨师要查询信息
{
inti;
printf("现在有%d个客户的菜要做\n",m);
{
if(m!
=0)//顾客人数不为0时输出
printf("应做的菜有:
\n");
for(i=0;i<=num;i++)
{
printf("%s\n",a[i]);
}
}
}
说明:
增加此函数有利于厨师及时做菜,为顾客更好的服务。
方便饭店的整体管理
八程序测试
1.测试能否增加新用户
2.测试能否修改用户信息
3.顾客能否正常查询信息
4.厨师查询
5.清空座位
6.保存文件看是否成功
7.输错功能按钮能否报错
8.退出程序
九程序设计过程中遇到的问题及解决过程
1.对程序整体理解,但在设计过程中,细节问题处理不当,造成程序不能运行或者运行错误,并且,对某一部分的程序不能独立设计出来。
对此问题的解决是参考了《c程序设计课程设计》上的参考程序,完成了设计,但是不是一味的照搬,对参考程序进行了修改和添加。
增加了按成绩区间查询的查询方式,增加了按总成绩排序的排序方式。
2.在组建工程的时候,将各个程序分给小组成员,两个人设计一个模块,但是出现了连接错误,各个模块之间也出现了输入上的错误,致使程序不能运行。
对于各个模块逐一检查,添加修改,最终使各个模块错误消除,同时连接错误也自行解决。
3.在刚开始程序设计的时候,不了解什么是组建工程,什么是模块,对于程序设计本身也有不理解的地方,不知道该从何下手。
解决方法:
先看《c程序设计课程设计》,了解怎样组建工程,理解每个模块的作用,弄清楚参考程序上的逻辑顺序以及如何设计等问题,然后再进行课程设计。
十课程设计心得及体会
对于第一次做课程设计的我来说,这次的课程设计是一次既让人痛苦又让人开心的事情。
开始的时候根本不清楚课程设计要设计什么,不知道到底怎样设计,因为平时所写的c程序都是一些简单而且基本的C程序,根本不是解决实际情况,符合客户要求的工程程序,所以觉得无从下手,觉得很困难,甚至没有一个思路,而且对于组建工程,构建模块等工作无法理解。
这些情况都使自己陷入了苦恼的深渊。
后来,听从辅导老师的意见,从《c程序设计课程设计》开始,一点点了解怎样组建工程,怎么样构建模块,对于每个模块应该怎么样进行设计,逻辑思维是什么,然后开始构建。
在设计过程中一直都有错误存在,困难重重。
遇到困难就开始用大量的时间进行修改以及整理,理出思路。
最终将工程调试成功,添加模块成功,而这些成功的瞬间是最快乐最开心的时刻。
而且通过这次课程设计我学会了好多东西,觉得自己设计的东西更加接近实际的程序要求。
知道团队合作的重要性,知道怎样使团队一起合作构建程序。
总的来说,我获益匪浅。
十一参考文献
1.《C程序设计课程设计》
2.刘振安等C程序设计课程设计机械工业出版社2007
3.谭浩强C程序设计教程清华大学出版社2008
十二源程序
/*
这是一个电话订餐系统
能够实现统计订餐(包括菜名、时间、用餐人数、顾客名字、电话号码等)、查询已订餐、查询厨师需要做的菜
修改客户信息、删除数据等功能
程序中客户编号为系统自动生成的,无需保存客户需要记住自己的编号以备查询
该订餐系统能够自动保存数据到硬盘中,需要看的时候可以直接查看
#include
#include
#include
#defineMAX20
structGuest
{
charfood[200];//定餐
chartime[20];//订餐时间
charsum[10];//人数
charname[20];//客户名字
intuser_num;//订餐用户编号
chartel[20];
}g[MAX];//g为顾客
intnum=0;//生成编号
intm=0;//已接订单数量
chara[200][200];//菜名
FILE*fp;//文件指针
voidfile()//文件操作
{
inti;
if((fp=fopen("E:
\\课程设计数据.TXT","w"))==NULL)
{
printf("cannotopen");
exit(0);
}
fputs("\0",fp);
fputs("*****************************************\n",fp);
fputs("*****************************************\n",fp);
fputs("\t皇家酒店电话订餐系统\n",fp);
fputs("*****************************************\n",fp);
fputs("*****************************************\n",fp);
for(i=1;i<=num;i++)//用户信息循环
{
fputs("客户编号为:
",fp);
fprintf(fp,"%d\n",i);
fputs("用餐:
\n",fp);
fputs(g[i].food,fp);
fputs("\n用餐人数:
\n",fp);
fputs(g[i].sum,fp);
fputs("\n吃饭时间:
\n",fp);
fputs(g[i].time,fp);
fputs("\n客户名字:
\n",fp);
fputs(g[i].name,fp);
fputs("\n手机号码:
\n",fp);
fputs(g[i].tel,fp);
fputs("\n",fp);
}
fclose(fp);
}
intmain(void)
{
voidnewgue(void);//新客户
voidchange(void);//修改信息
voidfind(void);//顾客查询信息
voiddelet(void);//清空座位
voidprint(void);//厨师查询
inti;
printf("\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\n");
printf("\t\1(^o^)皇家酒店电话订餐系统(^o^)\1\n");
printf("\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3