C语言实现点菜系统

C语言实现点菜系统

本攻略将介绍如何使用C语言实现一个简单的点菜系统。在这个系统中,顾客可以浏览菜单,选择自己的菜品并计算价格。系统则会输出选择的菜品及总价。

基本思路

  1. 定义菜单。菜单的定义可以采用数组的方式实现,每个元素代表一道菜品,包括名称和价格。
  2. 展示菜单。通过循环遍历数组,输出所有菜品名称及价格。
  3. 用户选择菜品。通过让用户输入菜品的编号,实现选择菜品的功能。
  4. 计算价格。根据用户选择的菜品编号,计算总价。
  5. 输出选择的菜品及总价。

代码实现

下面是一个简单的实现示例,通过注释的形式解释了其中的核心思路。

#include <stdio.h>

int main()
{
    // 定义菜单
    char *menu[4] = {"牛肉面", "鱼香肉丝", "宫保鸡丁", "水煮鱼"};
    float price[4] = {15.0, 18.0, 20.0, 25.0};

    // 展示菜单
    printf("*****欢迎光临!*****\n");
    printf("*******菜 单*******\n");
    for (int i = 0; i < 4; i++) {
        printf("%d. %s\t%.1f元\n", i+1, menu[i], price[i]);
    }

    // 用户选择菜品
    int choice;   // 用户输入的菜品编号
    int num = 0;  // 记录菜品数量
    int order[4]; // 用数组记录用户选择的菜品编号
    printf("请输入您要点的菜品编号(输入0退出):\n");
    do {
        scanf("%d", &choice);
        if (choice != 0) {
            order[num] = choice;
            num++;
        }
    } while (choice != 0);

    // 计算价格
    float total_price = 0.0;
    for (int i = 0; i < num; i++) {
        total_price += price[order[i]-1];
    }

    // 输出选择的菜品及总价
    printf("您选择了以下菜品:\n");
    for (int i = 0; i < num; i++) {
        printf("%d. %s\n", order[i], menu[order[i]-1]);
    }
    printf("总价为:%.1f元\n", total_price);

    return 0;
}

示例一

现有一个菜单,包括“炒饭”、“炒面”、“炒鸡蛋”和“炒豆芽”,其价格分别为12元、15元、10元和8元。用户可以选择其中任意数量的菜品,并输出选择的菜品及总价。

输入示例

请输入您要点的菜品编号(输入0退出):
1
2
3
0

输出示例

您选择了以下菜品:
1. 炒饭
2. 炒面
3. 炒鸡蛋
总价为:37.0元

示例二

现有一个菜单,包括“鱼香肉丝”、“蚂蚁上树”、“宫保鸡丁”和“水煮鱼”,其价格分别为18元、15元、20元和25元。用户可以选择其中任意数量的菜品,并输出选择的菜品及总价。

输入示例

请输入您要点的菜品编号(输入0退出):
1
2
4
3
2
0

输出示例

您选择了以下菜品:
1. 鱼香肉丝
2. 蚂蚁上树
3. 水煮鱼
4. 宫保鸡丁
5. 蚂蚁上树
总价为:88.0元

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言实现点菜系统 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • C++详细讲解继承与虚继承实现

    我们来详细讲解一下C++中继承与虚继承的实现。 继承概述 在C++中,继承是面向对象编程的三大特性之一,它是一种类与类之间的关系,表示一个类可以使用另一个类的属性和方法。 继承有许多优点,比如: 复用已有代码 在现有代码的基础上构建新的类 提高代码的可扩展性和可维护性 继承的实现 在C++中,继承可以通过public、protected和private三种方…

    C 2023年5月22日
    00
  • C语言执行程序时遇到的常见问题及解决

    C语言执行程序时遇到的常见问题及解决 C语言是一种非常流行的编程语言,但在执行程序时,常会遇到各种问题。下面我们来看一些常见问题及解决方案。 1. 编译错误 在编译程序时,我们可能会遇到各种编译错误,如语法错误、未定义的变量或函数等。解决这些错误需要仔细检查代码,并修改错误的部分。 示例: #include <stdio.h> int main(…

    C 2023年5月23日
    00
  • 在C++中如何阻止类被继承详解

    在C++中,如果想要阻止某个类被继承,可以使用以下两种方法。 使用final关键字 在C++11标准中,引入了final关键字,可以用于修饰类、函数和变量,表示它们是最终版本,不允许子类、派生函数和别名修改。如果将一个类声明为final,则它不可以被其他类继承。 示例代码: class Base final { // 将Base类声明为final,不可以被继…

    C 2023年5月23日
    00
  • python math模块使用方法介绍

    Python math模块使用方法介绍 Python的math模块是一个十分强大的数学库,提供许多数学函数和常数。下面将对math模块的使用方法进行详细介绍。 导入math模块 使用math模块前,需要先导入该模块。可以使用以下方式进行导入: import math 常用的math函数 math模块提供了许多数学函数,这里列举一些常用的函数: math.ce…

    C 2023年5月22日
    00
  • C++中文件操作基础详解

    C++中文件操作基础详解 本文将详细讲解C++中文件操作的基础知识,包括文件打开、读取、写入等操作,以及相关函数和代码示例。 文件打开和关闭 C++中的文件操作需要打开文件才能读写文件内容。文件打开需要使用fstream库中的函数open(),它可以接收文件名、文件打开方式等参数,具体参数如下: void open(const char* filename,…

    C 2023年5月22日
    00
  • 解决易语言转换到C++ 自定义数据类型

    解决易语言转换到C++ 自定义数据类型 背景 易语言是一种高级编程语言,用户可以使用易语言编程进行二次开发。但是,在某些情况下,用户可能需要将易语言代码转换成C++代码以便更好地运行和使用。 在将易语言代码转换成C++代码时,对于易语言中的自定义数据类型的处理需要格外注意和谨慎。因为C++中的自定义数据类型对应于易语言中的自定义类型,并且两者的内部结构和使用…

    C 2023年5月23日
    00
  • 一加8T怎么样?一加8T屏幕、拍照、性能等全面评测

    一加8T全面评测 一加8T基本信息 发布时间:2020年10月 屏幕尺寸:6.55英寸 像素密度:402ppi 分辨率:2400*1080 FHD+ AMOLED 处理器:高通骁龙865 一加8T屏幕评测 一加8T采用了6.55英寸FHD+ AMOLED屏幕,像素密度为402ppi,分辨率达到2400*1080。屏幕亮度高,色彩鲜艳饱满。HDR10+支持带来…

    C 2023年5月22日
    00
  • python深度总结线性回归

    Python深度总结线性回归攻略 本文将详细介绍如何使用Python实现线性回归,并包含两个完整的示例说明。 一、线性回归概述 线性回归是一种统计学习方法,用于建立两个或多个变量之间的线性关系。 在线性回归中,我们尝试找到一条直线,以使所有数据点与该直线的距离最小化。 二、Python实现线性回归 下面我们将使用Python实现线性回归。我们需要使用NumP…

    C 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部