点餐系统实验报告.docx

上传人:b****3 文档编号:13247103 上传时间:2023-06-12 格式:DOCX 页数:27 大小:82.08KB
下载 相关 举报
点餐系统实验报告.docx_第1页
第1页 / 共27页
点餐系统实验报告.docx_第2页
第2页 / 共27页
点餐系统实验报告.docx_第3页
第3页 / 共27页
点餐系统实验报告.docx_第4页
第4页 / 共27页
点餐系统实验报告.docx_第5页
第5页 / 共27页
点餐系统实验报告.docx_第6页
第6页 / 共27页
点餐系统实验报告.docx_第7页
第7页 / 共27页
点餐系统实验报告.docx_第8页
第8页 / 共27页
点餐系统实验报告.docx_第9页
第9页 / 共27页
点餐系统实验报告.docx_第10页
第10页 / 共27页
点餐系统实验报告.docx_第11页
第11页 / 共27页
点餐系统实验报告.docx_第12页
第12页 / 共27页
点餐系统实验报告.docx_第13页
第13页 / 共27页
点餐系统实验报告.docx_第14页
第14页 / 共27页
点餐系统实验报告.docx_第15页
第15页 / 共27页
点餐系统实验报告.docx_第16页
第16页 / 共27页
点餐系统实验报告.docx_第17页
第17页 / 共27页
点餐系统实验报告.docx_第18页
第18页 / 共27页
点餐系统实验报告.docx_第19页
第19页 / 共27页
点餐系统实验报告.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

点餐系统实验报告.docx

《点餐系统实验报告.docx》由会员分享,可在线阅读,更多相关《点餐系统实验报告.docx(27页珍藏版)》请在冰点文库上搜索。

点餐系统实验报告.docx

点餐系统实验报告

《高级语言程序设计课程设计》报告模板

吉林大学珠海学院

高级语言程序设计课程设计

 

系别:

计算机学院

专业名称:

计算机科学与技术

学生姓名:

学号:

指导教师:

 

完成日期:

2018年6月12日

 

 

1.题目1

1.1问题描述

编写程序,输入两个整数,计算它们的商和余数,并输出。

运行程序:

输入9和2两个整数,结果图如下图所示:

1.2解题思路

问题分析:

该题需要对用户输入的两个数字进行除法运算并输出结果

解题思路:

首先依题目要求引导用户输入数字,然后进行除法运算并输出结果

1.3程序设计

具体目标:

利用已定义的除法运算对用户输入的两个数字进行处理

1.4测试结果

inta,b;

cout<<"请输入两个整数,用空格分隔开,按回车键结束:

"<

cin>>a>>b;

cout<<"输出结果:

"<

cout<<"num1="<

cout<

"<

"<

 

测试结果:

2.题目2

2.1问题描述

编写程序,实现对四个整数由大到小排序,并输出。

效果如图:

2.2解题思路

问题分析:

该题需要对用户输入的四个整数进行由大到小的排序并输出

解题思路:

引导用户输入数字,并用冒泡排序法进行排序,然后输出

2.3程序设计

具体目标:

对用户输入的数字进行冒泡排序

2.4测试结果

inti,j;

inta[4];

cout<<"请输入4个整数,用空格键分开,按回车键结束:

"<

for(i=1;i<5;i++)

{

cin>>a[i];

}

for(i=1;i<5;i++)

{

for(j=1;j

{

if(a[i]>a[j])

{

inttemp=0;

temp=a[i];

a[i]=a[j];

a[j]=temp;

}

}

}

for(i=1;i<5;i++)

{

cout<

}

测试结果:

3.题目3

3.1问题描述

编写程序,输出1-200之间可以被n整除的所有整数,n由用户输入。

要求每一行显示5个数,并且程序最后输出一共有多少个整数能被n整除。

效果图:

3.2解题思路

问题分析:

该题需要用户指定一个整数,计算1-200以内能被该数字整除的整数并输出

解题思路:

规定1-200的计算范围,对用户输入的数字挨个进行除法运算,对能整除的数字进行计数并输出

3.3程序设计

具体目标;引导用户输入数字,因为题目规定的范围比较小,所以在规定的上下界范围内用穷举的方法对每个数字进行除法运算,对符合要求的数字进行计数,计算完成后以每行5个的形式输出所有符合要求的数字

3.4测试结果

 

inta,b,count=0;

cout<<"请输入一个整数:

"<

cin>>a;

cout<<"1-200之间能被"<

"<

for(b=1;b<=200;b++)

{

if(b%a==0)

{

cout<

count++;

}

if(count%5==0)

cout<

}

cout<

cout<<"一共有"<

测试结果:

4.题目4

4.1问题描述

金拱门快餐点餐、结算系统

题目描述:

金拱门快餐店主要出售汉堡、小吃、饮料和甜品等类型的快餐食品,每种类型的食品有不同的产品,例如饮料类食品有可乐、咖啡、茶饮料等。

现在让你担任吉珠金拱门连锁门店的经理,负责销售产品的选定和套餐的设计,你需要使用C/C++的console模式开发一个软件,包含所有销售产品的信息(包括单品和套餐信息),通过一个菜单系统实现顾客的点餐和结算过程,通过管理员权限统计当前结算周期的销售信息(如各产品的销售量、销售额等)

功能需求:

(1)根据面向对象的设计思想,设计一个抽象类作为基类,封装所有具体产品的共有属性和运算。

根据你的产品列表,从基类派生出各具体类,包括单品和套餐产品。

(2)设计一个菜单类,应该包含但不限定下述多层菜单选项

i.顾客点餐子菜单:

商品列表,顾客可一次购买多种产品

ii.结算子菜单:

顾客点餐完毕自动转入结算界面,现实顾客点餐内容及总金额。

要求可以返回点餐菜单进行修改。

iii.管理员子菜单:

密码管理,销售统计,退出系统。

(3)设计一个订单类,封装每一个售出的订单信息,以供数据统计使用。

(4)使用外部文件存取数据,方便数据的输入输出。

4.2解题思路

问题分析:

该题需要我们创建一个产品的抽象类,还要派生出各具体类,设置一个用户操作界面,实现顾客点餐子菜单结算子菜单管理员子菜单

解题思路:

首先用class创建一个产品类,使用virtual关键字声明纯虚函数,实现产品的抽象类,然后派生出各种具体产品的类(汉堡类,小吃类,饮料类,甜品类,套餐类等),通过switch关键字实现用户的操作界面,用fopen打开文件存储产品的信息,(fputs存储函数)

4.3程序设计

具体目标:

创建一个抽象产品类,具体产品继承了抽象产品类,抽象类中有价格,数量,总价格,产品信息等成语,实现顾客点餐子菜单:

商品列表,顾客可一次购买多种产品,结算子菜单:

顾客点餐完毕自动转入结算界面,现实顾客点餐内容及总金额。

要求可以返回点餐菜单进行修改。

管理员子菜单:

密码管理,销售统计,退出系统,使用外部文件存取数据,方便数据的输入输出

4.4测试结果

#include

#include

#include

#include//对文件操作的库函数

#include//输入输出头文件包含getchputch等不回显函数

usingnamespacestd;

classcp//产品的抽象类

{

public:

virtualdoublejisuanzongjiage()=0;//计算总价格函数

virtualvoidshurushuliang()=0;//输入数量函数

virtualvoidshezhijiage(doublex)=0;//设置产品价格函数

doublezongshuliang;//销售的总数量

charname[20];//产品名称

doubleshuliang;//数量

doublejiage;//价格

protected:

//封装产品的总价格

doublezongjiage;//总价格

};

classhanbao:

publiccp//汉堡类

{

public:

voidshezhijiage(doublex)

{

jiage=x;

}

doublejisuanzongjiage()

{

zongjiage=jiage*shuliang;

returnzongjiage;

}

voidshurushuliang()

{

cout<<"请输入点餐数量"<

cin>>shuliang;

}

};

classxiaochi:

publiccp//小吃类

{

public:

voidshezhijiage(doublex)

{

jiage=x;

}

doublejisuanzongjiage()

{

zongjiage=jiage*shuliang;

returnzongjiage;

}

voidshurushuliang()

{

cout<<"请输入点餐数量"<

cin>>shuliang;

}

};

classyinliao:

publiccp//饮料类

{

public:

voidshezhijiage(doublex)

{

jiage=x;

}

doublejisuanzongjiage()

{

zongjiage=jiage*shuliang;

returnzongjiage;

}

voidshurushuliang()

{

cout<<"请输入点餐数量"<

cin>>shuliang;

}

};

classtianpin:

publiccp//甜品类

{

public:

voidshezhijiage(doublex)

{

jiage=x;

}

doublejisuanzongjiage()

{

zongjiage=jiage*shuliang;

returnzongjiage;

}

voidshurushuliang()

{

cout<<"请输入点餐数量"<

cin>>shuliang;

}

};

classtaocan:

publiccp//套餐类

{

public:

voidshezhijiage(doublex)

{

jiage=x;

}

doublejisuanzongjiage()

{

zongjiage=jiage*shuliang;

returnzongjiage;

}

voidshurushuliang()

{

cout<<"请输入点餐数量"<

cin>>shuliang;

}

};

classdingdan//订单类

{

public:

chardd[100];

};

intmain()

{

FILE*chanpin;//创建保存每种产品信息的文件

while

(1)

{

chanpin=fopen("产品.txt","w");

if(chanpin!

=NULL)

{

cout<<"金拱门产品信息文件创建成功"<

break;

}

}

hanbaohb[5];//汉堡类的具体对象(每种汉堡)

strcpy(hb[1].name,"双层牛肉堡");//设置每种汉堡的名字

strcpy(hb[2].name,"巨无霸");

strcpy(hb[3].name,"原味鸡腿堡");

strcpy(hb[4].name,"深海鳕鱼堡");

hb[1].shezhijiage(20);//设置他们的价格

hb[2].shezhijiage(25);

hb[3].shezhijiage(19);

hb[4].shezhijiage(19);

fputs("汉堡:

",chanpin);//用外部文件存储汉堡类的信息

fputs("\n",chanpin);

fputs(hb[1].name,chanpin);

fputs("价格:

20",chanpin);

fputs("\n",chanpin);

fputs(hb[2].name,chanpin);

fputs("价格:

25",chanpin);

fputs("\n",chanpin);

fputs(hb[3].name,chanpin);

fputs("价格:

19",chanpin);

fputs("\n",chanpin);

fputs(hb[4].name,chanpin);

fputs("价格:

19",chanpin);

fputs("\n",chanpin);

fputs("\n",chanpin);

xiaochixc[5];//小吃类的具体对象(每种小吃)

strcpy(xc[1].name,"中薯条");

strcpy(xc[2].name,"大薯条");

strcpy(xc[3].name,"炸鸡米花");

strcpy(xc[4].name,"烤鸡腿");

xc[1].shezhijiage(7);//设置他们的价格

xc[2].shezhijiage(10);

xc[3].shezhijiage(11);

xc[4].shezhijiage(9);

fputs("小吃:

",chanpin);//用外部文件存储小吃类的信息

fputs("\n",chanpin);

fputs(xc[1].name,chanpin);

fputs("价格:

7",chanpin);

fputs("\n",chanpin);

fputs(xc[2].name,chanpin);

fputs("价格:

10",chanpin);

fputs("\n",chanpin);

fputs(xc[3].name,chanpin);

fputs("价格:

11",chanpin);

fputs("\n",chanpin);

fputs(xc[4].name,chanpin);

fputs("价格:

9",chanpin);

fputs("\n",chanpin);

fputs("\n",chanpin);

yinliaoyl[5];//饮料类的具体对象(每种饮料)

strcpy(yl[1].name,"可乐");

strcpy(yl[2].name,"咖啡");

strcpy(yl[3].name,"茶饮料");

strcpy(yl[4].name,"水果茶");

yl[1].shezhijiage(9);//设置他们的价格

yl[2].shezhijiage(15);

yl[3].shezhijiage(12);

yl[4].shezhijiage(16);

fputs("饮料:

",chanpin);//用外部文件存储饮料类的信息

fputs("\n",chanpin);

fputs(yl[1].name,chanpin);

fputs("价格:

9",chanpin);

fputs("\n",chanpin);

fputs(yl[2].name,chanpin);

fputs("价格:

15",chanpin);

fputs("\n",chanpin);

fputs(yl[3].name,chanpin);

fputs("价格:

12",chanpin);

fputs("\n",chanpin);

fputs(yl[4].name,chanpin);

fputs("价格:

16",chanpin);

fputs("\n",chanpin);

fputs("\n",chanpin);

tianpintp[5];//甜品类的具体对象(每种甜品)

strcpy(tp[1].name,"抹茶甜筒");

strcpy(tp[2].name,"巧克力雪糕");

strcpy(tp[3].name,"草莓新地");

strcpy(tp[4].name,"奥利奥麦旋风");

tp[1].shezhijiage(4);//设置他们的价格

tp[2].shezhijiage(7);

tp[3].shezhijiage(8);

tp[4].shezhijiage(9);

fputs("甜品:

",chanpin);

fputs("\n",chanpin);

fputs(tp[1].name,chanpin);

fputs("价格:

4",chanpin);

fputs("\n",chanpin);

fputs(tp[2].name,chanpin);

fputs("价格:

7",chanpin);

fputs("\n",chanpin);

fputs(tp[3].name,chanpin);

fputs("价格:

8",chanpin);

fputs("\n",chanpin);

fputs(tp[4].name,chanpin);

fputs("价格:

9",chanpin);

fputs("\n",chanpin);

fputs("\n",chanpin);

taocantc[5];//套餐类的具体对象(每种套餐)

strcpy(tc[1].name,"原味板烧鸡腿堡配中薯套餐");

strcpy(tc[2].name,"麦辣鸡腿堡鸡翅套餐");

strcpy(tc[3].name,"亲子套餐");

strcpy(tc[4].name,"深海鳕鱼堡加中薯套餐");

tc[1].shezhijiage(35);//设置他们的价格

tc[2].shezhijiage(36);

tc[3].shezhijiage(45);

tc[4].shezhijiage(39);

fputs("套餐:

",chanpin);

fputs("\n",chanpin);

fputs(tc[1].name,chanpin);

fputs("价格:

35",chanpin);

fputs("\n",chanpin);

fputs(tc[2].name,chanpin);

fputs("价格:

36",chanpin);

fputs("\n",chanpin);

fputs(tc[3].name,chanpin);

fputs("价格:

45",chanpin);

fputs("\n",chanpin);

fputs(tc[4].name,chanpin);

fputs("价格:

39",chanpin);

fputs("\n",chanpin);

fputs("\n",chanpin);

for(inti=1;i<=4;i++)//设置每个产品一开始销售的数量为0;

{

hb[i].zongshuliang=0;

xc[i].zongshuliang=0;

yl[i].zongshuliang=0;

tp[i].zongshuliang=0;

tc[i].zongshuliang=0;

}

while

(1)

{

booly=false;

inta;

cout<<"0.退出"<

cout<<"1.点餐"<

cout<<"2.查询汉堡类别的销售数量"<

cout<<"3.查询小吃类别的销售数量"<

cout<<"4.查询饮料类别的销售数量"<

cout<<"5.查询甜品类别的销售数量"<

cout<<"6.查询套餐类别的销售数量"<

cout<<"请输入操作号码"<

cin>>a;

switch(a)

{

case0:

{

y=true;

}break;

case1:

{

while

(1)

{

doublesum=0;

intaa=0,bb=0,cc=0,dd=0,ee=0;

system("cls");//清屏函数

cout<<"---汉堡---"<

cout<<"0.不需要"<

cout<<"1.双层牛肉堡"<

cout<<"2.巨无霸"<

cout<<"3.原味鸡腿堡"<

cout<<"4.深海鳕鱼堡"<

cout<<"请输入你要点餐的号码"<

cin>>aa;

if(aa==1||aa==2||aa==3||aa==4)

{

hb[aa].shurushuliang();

sum=sum+hb[aa].jisuanzongjiage();

}

system("cls");

cout<<"---小吃---"<

cout<<"0.不需要"<

cout<<"1.中薯条"<

cout<<"2.大薯条"<

cout<<"3.炸鸡米花"<

cout<<"4.烤鸡腿"<

cout<<"请输入你要点餐的号码"<

cin>>bb;

if(bb==1||bb==2||bb==3||bb==4)

{

xc[bb].shurushuliang();

sum=sum+xc[bb].jisuanzongjiage();

}

system("cls");

cout<<"---饮料---"<

cout<<"0.不需要"<

cout<<"1.可乐"<

cout<<"2.咖啡"<

cout<<"3.茶饮料"<

cout<<"4.水果茶"<

cout<<"请输入你要点餐的号码"<

cin>>cc;

if(cc==1||cc==2||cc==3||cc==4)

{

yl[cc].shurushuliang();

sum=sum+yl[cc].jisuanzongjiage();

}

system("cls");

cout<<"---甜品---"<

cout<<"0.不需要"<

cout<<"1.抹茶甜筒"<

cout<<"2.巧克力雪糕"<

cout<<"3.草莓新地"<

cout<<"4.奥利奥麦旋风"<

cout<<"请输入你要点餐的号码"<

cin>>dd;

if(dd==1||dd==2||dd==3||dd==4)

{

tp[dd].shurushuliang();

sum=sum+tp[dd].jisuanzongjiage();

}

system("cls");

cout<<"---套餐---"<

cout<<"0.不需要"<

cout<<"1.原味板

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

当前位置:首页 > 医药卫生 > 基础医学

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

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