用vs2015写一个模拟购物车功能:2个商品购买页面(可互相切换),一个购物车(显示购物列表)。其中商品购买页面包含商品的名称、单价和购买数量,购物车能统计商品的单价、购买数量和总价。需要具体过程代码
时间: 2024-01-21 17:17:42 浏览: 31
好的,以下是一个简单的模拟购物车功能示例:
1. 创建一个 Visual Studio 2015 的 Win32 控制台应用程序项目。
2. 在项目中添加两个头文件 `product1.h` 和 `product2.h`,分别表示两个商品的购买页面。每个头文件中包含商品的名称、单价和购买数量的定义。
`product1.h` 的内容如下:
```c++
#pragma once
#include <iostream>
using namespace std;
class Product1 {
public:
string name;
double price;
int quantity;
Product1(string n, double p, int q) {
name = n;
price = p;
quantity = q;
}
void display() {
cout << "Product Name: " << name << endl;
cout << "Price: " << price << endl;
cout << "Quantity: " << quantity << endl;
cout << endl;
}
};
```
`product2.h` 的内容如下:
```c++
#pragma once
#include <iostream>
using namespace std;
class Product2 {
public:
string name;
double price;
int quantity;
Product2(string n, double p, int q) {
name = n;
price = p;
quantity = q;
}
void display() {
cout << "Product Name: " << name << endl;
cout << "Price: " << price << endl;
cout << "Quantity: " << quantity << endl;
cout << endl;
}
};
```
3. 在主函数中添加购物车类 `ShoppingCart`,用于统计商品的单价、购买数量和总价。购物车类中包含一个 `vector` 容器,用于存储已购买的商品列表。同时,购物车类还包含添加商品和显示购物车列表的方法。
购物车类的代码如下:
```c++
#include <iostream>
#include <vector>
#include "product1.h"
#include "product2.h"
using namespace std;
class ShoppingCart {
public:
vector<Product1> product1List;
vector<Product2> product2List;
void addProduct1(Product1 p) {
product1List.push_back(p);
}
void addProduct2(Product2 p) {
product2List.push_back(p);
}
void display() {
double total = 0;
cout << "Product 1 List:" << endl;
for (int i = 0; i < product1List.size(); i++) {
product1List[i].display();
total += product1List[i].price * product1List[i].quantity;
}
cout << "Product 2 List:" << endl;
for (int i = 0; i < product2List.size(); i++) {
product2List[i].display();
total += product2List[i].price * product2List[i].quantity;
}
cout << "Total: " << total << endl;
}
};
```
4. 在主函数中,创建两个商品的实例,以及购物车的实例。然后,根据用户的输入,添加商品到购物车中,并显示购物车列表。
主函数的代码如下:
```c++
int main()
{
string choice;
ShoppingCart cart;
while (true) {
cout << "Choose a product to add to cart (1/2), or 'q' to quit: ";
cin >> choice;
if (choice == "1") {
string name;
double price;
int quantity;
cout << "Enter product name: ";
cin >> name;
cout << "Enter product price: ";
cin >> price;
cout << "Enter product quantity: ";
cin >> quantity;
Product1 p(name, price, quantity);
cart.addProduct1(p);
}
else if (choice == "2") {
string name;
double price;
int quantity;
cout << "Enter product name: ";
cin >> name;
cout << "Enter product price: ";
cin >> price;
cout << "Enter product quantity: ";
cin >> quantity;
Product2 p(name, price, quantity);
cart.addProduct2(p);
}
else if (choice == "q") {
break;
}
else {
cout << "Invalid choice! Please enter 1, 2, or q." << endl;
}
}
cart.display();
return 0;
}
```
5. 编译并运行程序,输入 `1` 或 `2` 添加商品到购物车中,输入 `q` 退出程序。程序将会显示购物车列表和总价。
这就是一个简单的模拟购物车功能的实现。完整代码如下: