当前位置: 首页 > article >正文

C++实现的购物小程序

以下是一个详细的C++实现的购物小程序。这段代码模拟了一个基础的购物车系统,用户可以通过交互式菜单与程序进行交互,执行各种购物相关的操作,如添加商品到购物车、查看购物车中的商品列表、计算购物车中的商品总价等。

购物小程序

问题描述

实现一个简单但功能齐全的购物小程序,用户可以通过该程序管理自己的购物车。在这个程序中,用户可以执行以下操作:

  1. 添加商品: 用户可以将商品添加到购物车中,每个商品具有名称和价格两个属性。在添加商品时,用户需要输入商品的名称和价格,程序会将该商品添加到购物车的商品列表中。

  2. 查看购物车: 用户可以查看当前购物车中所有已添加的商品,程序会显示每个商品的名称和价格。如果购物车为空,程序会提示用户购物车为空。

  3. 计算总价: 用户可以计算购物车中所有商品的总价格。程序会遍历购物车中的所有商品,累加其价格,并显示总价。

  4. 退出程序: 用户可以选择退出程序。当用户选择退出时,程序会感谢用户使用,并终止运行。

这个购物小程序为用户提供了一个基本的购物体验,并可作为更复杂购物系统的基础。

代码实现

#include <iostream>
#include <vector>
#include <string>

using namespace std;

// 商品类
class Product {
public:
    string name;   // 商品名称
    double price;  // 商品价格

    // 构造函数
    Product(string n, double p) : name(n), price(p) {}
};

// 购物车类
class ShoppingCart {
private:
    vector<Product> cart;  // 存储购物车中的商品

public:
    // 添加商品到购物车
    void addProduct(const Product& product) {
        cart.push_back(product);
        cout << "Added " << product.name << " to the cart." << endl;
    }

    // 显示购物车中的商品
    void showCart() {
        if (cart.empty()) {
            cout << "Your cart is empty!" << endl;
            return;
        }
        cout << "Items in your cart:" << endl;
        for (const auto& product : cart) {
            cout << "- " << product.name << ": $" << product.price << endl;
        }
    }

    // 计算购物车中商品的总价
    double calculateTotal() {
        double total = 0.0;
        for (const auto& product : cart) {
            total += product.price;
        }
        return total;
    }
};

int main() {
    ShoppingCart cart;  // 创建购物车对象
    int choice;         // 用户菜单选择
    string name;        // 商品名称
    double price;       // 商品价格

    // 简单的菜单系统,用户可以选择不同的操作
    while (true) {
        cout << "\nShopping Cart Menu:" << endl;
        cout << "1. Add Product" << endl;
        cout << "2. Show Cart" << endl;
        cout << "3. Calculate Total" << endl;
        cout << "4. Exit" << endl;
        cout << "Enter your choice: ";
        cin >> choice;

        switch (choice) {
            case 1:
                cout << "Enter product name: ";
                cin >> name;
                cout << "Enter product price: ";
                cin >> price;
                cart.addProduct(Product(name, price));  // 将商品添加到购物车
                break;
            case 2:
                cart.showCart();  // 显示购物车中的商品
                break;
            case 3:
                cout << "Total price: $" << cart.calculateTotal() << endl;  // 计算并显示总价
                break;
            case 4:
                cout << "Thank you for shopping!" << endl;  // 退出程序
                return 0;
            default:
                cout << "Invalid choice. Please try again." << endl;
                break;
        }
    }
}

代码说明

Product类表示商品,每个商品有一个名称name和价格price两个属性。
Product类的构造函数用于初始化商品的名称和价格。
ShoppingCart类用于管理购物车。它包含一个cart向量,用于存储所有添加到购物车中的商品。
addProduct()方法用于将一个Product对象添加到购物车中,并在添加后提示用户商品已成功添加。
showCart()方法用于显示购物车中的所有商品名称和价格。如果购物车为空,程序会提示用户购物车为空。
calculateTotal()方法用于计算购物车中所有商品的总价格。通过遍历购物车中的所有商品并累加其价格,程序计算出总价并返回。
在main()函数中,程序首先创建一个ShoppingCart对象cart。接下来,程序进入一个无限循环,展示一个简单的菜单系统,用户可以通过菜单进行交互。
用户可以选择添加商品、查看购物车、计算总价或退出程序。每个选项对应不同的功能,并由switch语句进行处理。
如果用户选择退出,程序会感谢用户的使用,并退出程序。


http://www.kler.cn/a/287992.html

相关文章:

  • CDH安装与配置及相关大数据组件实践
  • 海思3403对RTSP进行目标检测
  • 《C语言程序设计现代方法》note-4 基本类型 强制类型转换 类型定义
  • cls(c基础)
  • hive 统计各项目下排名前5的问题种类
  • CSS 响应式设计之媒体查询技术
  • python-uinput虚拟输入
  • ARP协议(原理,特点,报文格式,具体过程),ARP缓存(有效时间,为什么),ARP欺骗(定向断网,成为中间人),RARP简单介绍
  • 2024-8-28作业C++/QT
  • 机器学习——贝叶斯分类器
  • 【iOS】属性关键字
  • LivePortraitV3,支持图像驱动和区域控制,更精确的人像控制(WIN,MAC)
  • gitlab 包含模型文件,比较大,怎么上传
  • 单片机-STM32 ADC应用(五)
  • 擅长领域python ,深度强化学习,人工智能,计算机等,可咨询
  • LINUX-ubuntu20.04下安装GUI-Guider出现的依赖问题解决办法
  • JavaEE-servlet
  • 本地大语言模型部署及应用
  • 【大模型实战篇】RoPE旋转位置编码PyTorch代码分析
  • reduce使用场景
  • 【k8s系列】Kubernetes Service 深度解析:从基础到实战
  • 如何使用 TortoiseGit(小乌龟)进行分支创建、切换与合并以及解决冲突
  • SpringMvc详解
  • 进程间通信——IPC机制(二)消息队列
  • 设计模式创建型模式之原型模式
  • Android TV的行添加和行中数据项添加