C语言编程:点餐系统实现与代码详解
171 浏览量
更新于2024-09-01
9
收藏 55KB PDF 举报
"C语言实现点餐系统,包括菜品类(shiwu)与套餐类(Taocan),以及简单的用户交互和数据存储功能。"
本文将深入探讨如何使用C语言设计并实现一个简单的点餐系统。这个系统包含了菜单、套餐的选择以及用户订单的保存功能。首先,我们创建了一个名为`shiwu`的类来表示菜品,包含两个属性:菜品名称(mingzi)和价格(price)。这个类还提供了默认构造函数和带参数的构造函数,以便于创建菜品对象。
```cpp
class shiwu {
public:
string mingzi;
int price;
shiwu() {}
shiwu(string n, int p) : mingzi(n), price(p) {}
};
```
接着,我们定义了三类菜品数组:主食(zhucan)、小吃(fushi)和饮料(drink),并填充了具体的菜品实例。例如,主食类中包含大汉堡、烤肉饭和鸡肉卷等。
为了组合菜品形成套餐,我们创建了`Taocan`类。它包含套餐名称(mingzi)、三个菜品对象(tc)以及套餐总价(price)。`Taocan`类同样提供了一个构造函数,用于根据指定的菜品构建套餐,并计算总价(减去10元优惠)。
```cpp
class Taocan {
public:
string mingzi;
shiwu tc[3];
int price;
Taocan() {}
Taocan(string n, shiwu a, shiwu b, shiwu c) {
mingzi = n;
tc[0] = a;
tc[1] = b;
tc[2] = c;
price = a.price + b.price + c.price - 10;
}
};
```
系统中定义了多个套餐实例,如鸡腿鸡翅套餐、鳕鱼鸡米花套餐和鸡肉卷薯条套餐,分别由不同组合的菜品构成。
用户点餐的部分,我们使用一个动态数组`shiwumyshiwu`来存储用户选择的菜品,变量`mymoney`记录用户当前的钱数,`mynum`则表示用户选择的菜品数量。程序还包含一个`write()`函数,用于将用户的消费清单写入文件,方便查看。
```cpp
shiwu myshiwu[13];
int mymoney;
int mynum = 0;
void write() {
ofstream f("list.txuant");
int i;
f << "KFC消费清单\n";
for (i = 0; i < mynum; i++)
f << i + 1 << "、" << myshiwu[i].mingzi << "价格:" << myshiwu[i].price << endl;
f.close();
}
```
此外,程序还可能包含其他功能,如用户输入钱数、浏览菜单、选择套餐或菜品、计算总价、确认订单等。这些功能通常会通过控制台交互实现,利用`iostream`库进行输入输出,`conio.h`库中的`_getch()`函数可能用于等待用户按键,使交互更流畅。
通过这样的设计,我们可以构建一个基本的点餐系统,虽然简单,但包含了类的使用、数组操作、文件读写等核心C++特性。这个系统可以根据需求进一步扩展,比如增加用户登录、数据库存储等功能,使其更加完善。对于初学者来说,这是一个很好的实践项目,有助于理解和运用面向对象编程思想。
2021-01-17 上传
2020-12-26 上传
2023-05-24 上传
2023-04-30 上传
2023-11-24 上传
2023-06-06 上传
2023-06-08 上传
2023-06-12 上传
weixin_38738830
- 粉丝: 6
- 资源: 920
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦