编程题目:使用C++语言模拟完成一个简单的计算机系统 参考编程选择:模拟学生选课、超市购物、化妆品销售、城市公交车线路、健身俱乐部会员管理等,可以自由选择题材。
时间: 2023-08-14 09:05:48 浏览: 81
好的,我选择模拟一个超市购物系统。
首先,我们需要定义一些商品的信息,包括商品名称、价格、库存等等。我们可以使用一个结构体来表示一个商品的信息:
```cpp
struct Product {
string name; // 商品名称
double price; // 商品价格
int stock; // 商品库存
};
```
接下来,我们可以定义一个商品列表,用来存储所有的商品信息。我们可以使用一个 vector 容器来存储商品列表:
```cpp
vector<Product> products = {
{"可乐", 2.5, 100},
{"雪碧", 2.5, 100},
{"薯片", 5, 50},
{"巧克力", 10, 30},
{"面包", 4, 80},
{"牛奶", 6, 60},
{"饼干", 3.5, 70},
{"矿泉水", 1.5, 120},
};
```
接下来,我们可以定义一个购物车,用来存储用户选择的商品。我们可以使用一个 map 容器来存储购物车信息,其中键是商品名称,值是商品数量:
```cpp
map<string, int> cart;
```
接下来,我们可以编写一个函数,用来显示商品列表,让用户进行购物:
```cpp
void show_product_list() {
cout << "商品列表:" << endl;
for (int i = 0; i < products.size(); i++) {
cout << i + 1 << ". " << products[i].name << " 价格:" << products[i].price << " 库存:" << products[i].stock << endl;
}
}
```
接下来,我们可以编写一个函数,用来向购物车中添加商品:
```cpp
void add_to_cart(string name, int count) {
// 检查商品是否存在
bool found = false;
for (int i = 0; i < products.size(); i++) {
if (products[i].name == name) {
found = true;
// 检查库存是否充足
if (products[i].stock >= count) {
// 添加商品到购物车
if (cart.count(name) > 0) {
cart[name] += count;
} else {
cart[name] = count;
}
// 更新库存
products[i].stock -= count;
cout << "添加商品成功!" << endl;
} else {
cout << "库存不足!" << endl;
}
break;
}
}
if (!found) {
cout << "商品不存在!" << endl;
}
}
```
接下来,我们可以编写一个函数,用来从购物车中删除商品:
```cpp
void remove_from_cart(string name, int count) {
// 检查商品是否存在
if (cart.count(name) > 0) {
int current_count = cart[name];
if (current_count >= count) {
// 从购物车中删除商品
cart[name] -= count;
// 更新库存
for (int i = 0; i < products.size(); i++) {
if (products[i].name == name) {
products[i].stock += count;
break;
}
}
cout << "删除成功!" << endl;
} else {
cout << "购物车中数量不足!" << endl;
}
} else {
cout << "购物车中不存在该商品!" << endl;
}
}
```
接下来,我们可以编写一个函数,用来显示购物车信息:
```cpp
void show_cart() {
if (cart.empty()) {
cout << "购物车为空!" << endl;
} else {
cout << "购物车:" << endl;
for (auto iter = cart.begin(); iter != cart.end(); iter++) {
cout << iter->first << " 数量:" << iter->second << endl;
}
}
}
```
最后,我们可以编写一个主函数,用来驱动整个程序:
```cpp
int main() {
while (true) {
cout << "请选择操作:" << endl;
cout << "1. 查看商品列表" << endl;
cout << "2. 添加商品到购物车" << endl;
cout << "3. 从购物车中删除商品" << endl;
cout << "4. 查看购物车" << endl;
cout << "5. 结束购物" << endl;
int choice;
cin >> choice;
switch (choice) {
case 1:
show_product_list();
break;
case 2:
cout << "请输入商品名称和数量(用空格隔开):" << endl;
string name;
int count;
cin >> name >> count;
add_to_cart(name, count);
break;
case 3:
cout << "请输入商品名称和数量(用空格隔开):" << endl;
cin >> name >> count;
remove_from_cart(name, count);
break;
case 4:
show_cart();
break;
case 5:
cout << "感谢您的光临!" << endl;
return 0;
default:
cout << "无效的选择!" << endl;
}
}
}
```
这个程序可以模拟一个简单的超市购物系统。用户可以查看商品列表,将商品添加到购物车中,从购物车中删除商品,查看购物车中的商品,最后结束购物。程序会自动检查商品库存和购物车中商品数量,确保购物的合法性。
阅读全文