C语言订餐系统.docx

上传人:b****0 文档编号:8998326 上传时间:2023-05-16 格式:DOCX 页数:17 大小:55.09KB
下载 相关 举报
C语言订餐系统.docx_第1页
第1页 / 共17页
C语言订餐系统.docx_第2页
第2页 / 共17页
C语言订餐系统.docx_第3页
第3页 / 共17页
C语言订餐系统.docx_第4页
第4页 / 共17页
C语言订餐系统.docx_第5页
第5页 / 共17页
C语言订餐系统.docx_第6页
第6页 / 共17页
C语言订餐系统.docx_第7页
第7页 / 共17页
C语言订餐系统.docx_第8页
第8页 / 共17页
C语言订餐系统.docx_第9页
第9页 / 共17页
C语言订餐系统.docx_第10页
第10页 / 共17页
C语言订餐系统.docx_第11页
第11页 / 共17页
C语言订餐系统.docx_第12页
第12页 / 共17页
C语言订餐系统.docx_第13页
第13页 / 共17页
C语言订餐系统.docx_第14页
第14页 / 共17页
C语言订餐系统.docx_第15页
第15页 / 共17页
C语言订餐系统.docx_第16页
第16页 / 共17页
C语言订餐系统.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C语言订餐系统.docx

《C语言订餐系统.docx》由会员分享,可在线阅读,更多相关《C语言订餐系统.docx(17页珍藏版)》请在冰点文库上搜索。

C语言订餐系统.docx

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\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\n");

printf("操作如下:

");

for(;;)

{

printf("\n");

printf("*************************************************\n");

printf("1--新客户\t2--修改\t\t3--清理桌子\n4--厨师查询\t5--顾客查询\t6--退出\n");

printf("*************************************************\n");

printf("\n");

printf("请选择服务类型:

");

scanf("%d",&i);

while(i>6)

{

printf("输入错误\n请重新选择服务类型:

\n");

scanf("%d",&i);

}

if(1==i)newgue();

if(2==i)change();

if(3==i)delet();

if(4==i)print();

if(5==i)find();

if(6==i)break;

}

return0;

}

//新客户

voidnewgue(void)

{

num++;

m++;

if(m>MAX)//如果人数超过最大限度时输出

printf("没有座位了\n");

printf("所要的菜:

\n");

scanf("%s",g[num].food);

strcpy(a[num],g[num].food);//把菜给对应的顾客

printf("\n");

printf("吃饭时间:

");

scanf("%s",g[num].time);

printf("\n");

printf("用餐人数:

");

printf("\n");

scanf("%s",g[num].sum);

g[num].user_num=num;//给顾客编号

printf("客户编号:

%2d\n",g[num].user_num);

printf("\n");

printf("客户名字:

");

scanf("%s",g[num].name);

printf("\n");

printf("手机号码:

");

scanf("%s",g[num].tel);

printf("\n");

file();

}

//修改

voidchange()

{

intn,i;

printf("请输入顾客编号:

");

scanf("%d",&n);

for(i=0;i<=num;i++)

if(n==g[i].user_num)//输入要更改的顾客的编号

{

printf("原来想要的菜为%s\n用餐人数为%s\n吃饭时间为%s\n顾客姓名为%s\n电话号码为%s\n",g[n].food,g[n].sum,g[n].time,g[n].name,g[n].tel);

printf("重新输入所要的菜:

");

scanf("%s",g[i].food);

printf("重新输入吃饭时间:

");

scanf("%s",g[i].time);

printf("重新输入用餐人数:

");

scanf("%s",&g[i].sum);

printf("\n");

}

file();//将上述信息输入文件

}

//查询

voidfind()

{

intn,i;

printf("请输入顾客编号:

");

scanf("%d",&n);

for(i=0;i<=num;i++)

if(n==g[i].user_num)//输入的号码等于要查询的客户的编号的时候输出

{

printf("想要的菜为%s\n用餐人数为%s\n吃饭时间为%s\n顾客姓名为%s\n电话号码为%s\n",g[n].food,g[n].sum,g[n].time,g[n].name,g[n].tel);

printf("\n");

}

}

voiddelet()//清理桌子

{

intn,i;

printf("请输入顾客编号:

");

scanf("%d",&n);

for(i=0;i<=num;i++)

{

if(n==g[i].user_num)//输入的号码等于要查询的客户的编号的时候输出

{

m--;

strcpy(a[i],"\0");

printf("%d号桌子已经清理干净\n",i);

}

}

}

voidprint()//厨师要查询信息

{inti;

printf("现在有%d个客户的菜要做\n",m);

{

if(m!

=0)//顾客人数不为0时输出

printf("应做的菜有:

\n");

for(i=0;i<=num;i++)

{

printf("%s\n",a[i]);

}

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2