用c++完成程序设计,需要分开保存为3个文件:类文件、成员函数实现文件和主文件。
9条回答 默认 最新
关注 🕖上午好,题主!目前:🟢[在线]
📢参考通义千问、由郭老师整理提供!
📣今日诗号:疏影横斜,暗香浮动,低酌浅唱月明中。休去,休去,惊起一枕奇梦。C++商品销售统计程序
以下是使用C++实现的商品销售统计程序,分为三个文件:
1. 商品类头文件 (Product.h):
#ifndef PRODUCT_H #define PRODUCT_H #include <string> using namespace std; class Product { public: // 构造函数 Product(const string& name, const string& unit, double price); // 获取商品名称 string getName() const; // 获取计量单位 string getUnit() const; // 获取单价 double getPrice() const; // 设置商品名称 void setName(const string& name); // 设置计量单位 void setUnit(const string& unit); // 设置单价 void setPrice(double price); private: string name_; // 商品名称 string unit_; // 计量单位 double price_; // 单价 }; #endif // PRODUCT_H
2. 商品类实现文件 (Product.cpp):
#include "Product.h" // 构造函数 Product::Product(const string& name, const string& unit, double price) : name_(name), unit_(unit), price_(price) {} // 获取商品名称 string Product::getName() const { return name_; } // 获取计量单位 string Product::getUnit() const { return unit_; } // 获取单价 double Product::getPrice() const { return price_; } // 设置商品名称 void Product::setName(const string& name) { name_ = name; } // 设置计量单位 void Product::setUnit(const string& unit) { unit_ = unit; } // 设置单价 void Product::setPrice(double price) { price_ = price; }
3. 主程序文件 (main.cpp):
#include <iostream> #include <vector> #include "Product.h" using namespace std; // 函数声明 void inputProductInfo(vector<Product>& products); void salesStatistics(const vector<Product>& products); void displayProducts(const vector<Product>& products); int main() { vector<Product> products; int choice; do { cout << "\n===== 商品销售统计系统 =====" << endl; cout << "1. 输入商品信息" << endl; cout << "2. 进行销售统计" << endl; cout << "0. 退出" << endl; cout << "请选择功能: "; cin >> choice; switch (choice) { case 1: inputProductInfo(products); break; case 2: salesStatistics(products); break; case 0: cout << "程序退出,谢谢使用!" << endl; break; default: cout << "输入错误,请重新选择!" << endl; } } while (choice != 0); return 0; } // 输入商品信息 void inputProductInfo(vector<Product>& products) { // ... (实现商品信息输入、修改和删除) } // 销售统计 void salesStatistics(const vector<Product>& products) { if (products.empty()) { cout << "暂无商品信息,请先输入!" << endl; return; } displayProducts(products); double totalAmount = 0.0; int productCode, quantity; do { cout << "\n请输入商品代码 (输入-1结束本次购物): "; cin >> productCode; if (productCode == -1) { break; } if (productCode < 0 || productCode >= products.size()) { cout << "商品代码错误,请重新输入!" << endl; continue; } cout << "请输入购买数量: "; cin >> quantity; double productPrice = products[productCode].getPrice(); totalAmount += productPrice * quantity; } while (productCode != -1); cout << "\n本次购物应付总额为: " << totalAmount << endl; } // 显示所有商品信息 void displayProducts(const vector<Product>& products) { cout << "\n===== 商品列表 =====" << endl; for (size_t i = 0; i < products.size(); ++i) { cout << i << ". " << products[i].getName() << " (" << products[i].getUnit() << ") - " << products[i].getPrice() << "元/" << products[i].getUnit() << endl; } }
代码说明:
- Product.h: 定义了
Product
类,包含商品名称、计量单位、单价等属性,以及相应的构造函数和获取、设置属性的函数。 - Product.cpp: 实现了
Product
类的各个成员函数。 - main.cpp:
- 包含主函数
main()
,程序入口。 - 定义了
inputProductInfo()
函数用于输入、修改和删除商品信息 (具体实现省略)。 - 定义了
salesStatistics()
函数用于进行销售统计,计算应付总额。 - 定义了
displayProducts()
函数用于显示所有商品信息。 - 主函数中通过菜单选择功能,调用相应函数完成操作。
- 包含主函数
编译运行:
- 将上述三个文件保存为同名的
.h
、.cpp
文件。 - 使用C++编译器编译程序:
g++ main.cpp Product.cpp -o sales_statistics
- 运行程序:
./sales_statistics
注意:
- 此代码仅提供一个基本框架,部分功能(如
inputProductInfo()
函数)需要根据实际需求进行完善。 - 可以根据需要添加更多功能,例如商品库存管理、销售记录保存等。
- 在实际开发中,应使用更 robust 的数据结构和算法来提高程序的效率和可维护性。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报- Product.h: 定义了
悬赏问题
- ¥15 关于#DMA固件#的问题,请各位专家解答!
- ¥15 matlab生成的x1图不趋于稳定,之后的图像是稳定的水平线
- ¥15 请问华为OD岗位的内部职业发展通道都有哪些,以及各个级别晋升的要求
- ¥20 微信小程序 canvas 问题
- ¥15 系统 24h2 专业工作站版,浏览文件夹的图库,视频,图片之类的怎样删除?
- ¥15 怎么把512还原为520格式
- ¥15 MATLAB的动态模态分解出现错误,以CFX非定常模拟结果为快照
- ¥15 求高通平台Softsim调试经验
- ¥15 canal如何实现将mysql多张表(月表)采集入库到目标表中(一张表)?
- ¥15 wpf ScrollViewer实现冻结左侧宽度w范围内的视图