C课程设计自助点餐系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

面向对象程序课程设计(2014/2015学年第一学期第20周)

指导教师:庄巧莉、杨东鹤

班级:计算机科学与技术13(1)

学号:

姓名:

面向对象程序课程设计

目录

一、题目

二、需求分析

三、系统结构图

四、类的设计

五、程序代码与说明

六、运行结果与分析

七、心得与体会

一:题目

自助点餐系统

二:需求分析

有一个小型餐厅,该餐厅提供即时就餐和外卖服务。现在这个餐厅打算使用自助点餐系统,让顾客自己点餐,实现以下功能。

1、根据顾客的选择正确打出账单

2、正确统计出每一天的及时就餐和外卖的销售情况

3、实现对餐厅菜式和价格的有效管理

4、考虑点餐的自动排序问题,使顾客可以实时查询到自己菜单处理情况三:系统结构图

四:类的设计

Client类:客户类,包含客户属性姓名,电话号码,费用等信息,登记客户,记录客户订单信息

ClientManager类:客户管理类,用于管理客户,记录客户数量,存储客户菜

单信息,查询客户订单信息,统计订单

FeeManager类:用于记录就餐、外卖的销售费用,统计收入

Food类:餐厅食物的类,包含食物名称和价格

FoodManager类:管理菜单,用于添加食物,修改食物,删除食物,记录不

同食物的信息,呈现菜单

MenuView类:用于打印各种操作界面

五:程序代码与说明

Client.h

#ifndef CLIENT

#define CLIENT

#include"FoodManager.h"

#include

using namespace std;

class Client

{

private:

int number;//客户编号

int type;//客户的类型,1表示就餐,2表示外卖

double fee;//客户账单费用

char *name;//客户名称

char *phone;//客户手机号码

public:

Client(){}//构造函数

char * getName();//返回客户姓名

int num[100];//num[i]存储食物数量,i表示食物编号

FoodManager client_fm; //管理客户所点的食物

Client(char *n,char *p);//构造函数

int getNumber();//返回客户编号

void setNumber(int n);//设置客户编号

int getType();//返回客户类型

void setType(int n);//设置客户类型

void addFee(double x);//添加费用

double getFee();//返回费用

void showClientMessage();//展示客户信息

void changNum();//修改客户所点的食物的数量void deleFood();//删除客户所选择的食物

};

#endif

Client.cpp

#include"Client.h"

#include

Client::Client(char *s,char *p)

{

name = s;

phone = p;

fee = 0;

for(int i = 0 ; i < 100 ; i++)

num[i] = 0 ;

cout<<"客户注册成功"<

}

int Client::getNumber()

{

return number;

}

void Client::setNumber(int n)

{

number = n;

}

int Client::getType()

{

return type;

}

void Client::setType(int n)

{

type = n;

}

void Client::addFee(double x)

{

fee += x;

}

double Client::getFee()

{

return fee;

}

void Client::showClientMessage()

{

char * ss;

if(type == 1)ss = "就餐";

else if(type == 2)ss = "外卖";

cout<<"姓名: "<

cout<<"手机号码: "<

cout<<"订单总价:"<

cout<<"订单详情:"<

cout<

for(int i = 0 ; i < client_fm.getTotal() ; i ++)

{

cout<

}

cout<<"总价:\t\t"<

}

char * Client::getName()

{

return name;

}

void Client::changNum()

{

int n;

int numss;

cout<<"请输入食物序号:";cin>>n;

cout<<"您选择了食物:"<

cout<<"请输入数量:";cin>>numss;

fee += (numss - num[n-1] )*client_fm.getPriceByName(client_fm.getNameByList(n-1));

num[n-1]=numss;

}

void Client::deleFood()

{

int n;

cout<<"请输入食物序号:";cin>>n;

cout<<"您选择了食物:"<

fee -= (num[n-1] )*client_fm.getPriceByName(client_fm.getNameByList(n-1));

相关文档
最新文档