用c++实现一个完整的团购订单信息管理系统。该系统现团购订单信息的添加、查找、修改、删除、浏览等功能。要求输入登录口令,口令正确才可以继续操作。用结构体数组实现。具体功能说明如下。 (1)添加订单。 输入要添加的订单信息,包括订单编号(唯一)、商品编号、商品名称、商品单价、商品数量、收件人地址、收件人姓名、收件人电话等信息。判断订单编号是否已经存在,若存在则重新输入。将订单信息存入结构体数组中。 (2)查找订单。 设置二级菜单,可以通过订单编号、商品编号、收件人姓名等多途径进行订单查询,查 找出符合条件的一条或多条记录,并输出显示。 (3)修改订单。 先按订单编号查找订单,然后修改其信息。除订单编号外,可以修改商品编号、商品名 称、商品单价、商品数量、收件人地址、收件人姓名、收件人电话等信息。 (4)删除订单。 可输入订单编号进行删除,这时查询到的订单唯一,可直接删除,删除前要进行确认,确认是否真要删除。也可通过商品编号、收件人姓名等进行删除,这时查找到的订单不唯一,显示出所有符合条件的订单,要求输入要删除的订单号,删除唯一订单。 (5)浏览订单。 遍历存有所有订单信息的顺序表,按顺序依次显示所有订单。若无订单,则提示系统中无订单。
时间: 2023-12-16 09:03:48 浏览: 20
以下是一个简单的 C++ 实现:
```c++
#include <iostream>
#include <string>
using namespace std;
const int MAX_SIZE = 100; // 最大订单数
// 订单结构体
struct Order {
string orderNumber;
string productNumber;
string productName;
double productPrice;
int productQuantity;
string recipientAddress;
string recipientName;
string recipientPhone;
};
// 订单管理系统类
class OrderManagementSystem {
private:
Order orders[MAX_SIZE]; // 订单数组
int count; // 当前订单数
string password; // 登录密码
public:
OrderManagementSystem(string pwd) {
count = 0;
password = pwd;
}
// 添加订单
void addOrder() {
cout << "请输入订单信息:" << endl;
Order newOrder;
cin >> newOrder.orderNumber;
// 判断订单编号是否已经存在
for (int i = 0; i < count; i++) {
if (orders[i].orderNumber == newOrder.orderNumber) {
cout << "订单编号已经存在,请重新输入!" << endl;
return;
}
}
cin >> newOrder.productNumber >> newOrder.productName
>> newOrder.productPrice >> newOrder.productQuantity
>> newOrder.recipientAddress >> newOrder.recipientName
>> newOrder.recipientPhone;
orders[count++] = newOrder;
cout << "订单添加成功!" << endl;
}
// 查找订单
void searchOrder() {
cout << "请选择查找方式:" << endl;
cout << "1. 订单编号" << endl;
cout << "2. 商品编号" << endl;
cout << "3. 收件人姓名" << endl;
int choice;
cin >> choice;
if (choice == 1) {
string orderNumber;
cout << "请输入订单编号:" << endl;
cin >> orderNumber;
for (int i = 0; i < count; i++) {
if (orders[i].orderNumber == orderNumber) {
displayOrder(orders[i]);
return;
}
}
cout << "没有找到订单!" << endl;
}
else if (choice == 2) {
string productNumber;
cout << "请输入商品编号:" << endl;
cin >> productNumber;
for (int i = 0; i < count; i++) {
if (orders[i].productNumber == productNumber) {
displayOrder(orders[i]);
}
}
}
else if (choice == 3) {
string recipientName;
cout << "请输入收件人姓名:" << endl;
cin >> recipientName;
for (int i = 0; i < count; i++) {
if (orders[i].recipientName == recipientName) {
displayOrder(orders[i]);
}
}
}
else {
cout << "输入有误!" << endl;
}
}
// 修改订单
void modifyOrder() {
string orderNumber;
cout << "请输入要修改的订单编号:" << endl;
cin >> orderNumber;
for (int i = 0; i < count; i++) {
if (orders[i].orderNumber == orderNumber) {
cout << "请输入修改后的信息:" << endl;
cin >> orders[i].productNumber >> orders[i].productName
>> orders[i].productPrice >> orders[i].productQuantity
>> orders[i].recipientAddress >> orders[i].recipientName
>> orders[i].recipientPhone;
cout << "订单修改成功!" << endl;
return;
}
}
cout << "没有找到订单!" << endl;
}
// 删除订单
void deleteOrder() {
cout << "请选择删除方式:" << endl;
cout << "1. 订单编号" << endl;
cout << "2. 商品编号" << endl;
cout << "3. 收件人姓名" << endl;
int choice;
cin >> choice;
if (choice == 1) {
string orderNumber;
cout << "请输入要删除的订单编号:" << endl;
cin >> orderNumber;
for (int i = 0; i < count; i++) {
if (orders[i].orderNumber == orderNumber) {
displayOrder(orders[i]);
cout << "确认要删除该订单吗?(Y/N)" << endl;
char c;
cin >> c;
if (c == 'Y' || c == 'y') {
for (int j = i; j < count - 1; j++) {
orders[j] = orders[j + 1];
}
count--;
cout << "订单删除成功!" << endl;
}
return;
}
}
cout << "没有找到订单!" << endl;
}
else if (choice == 2) {
string productNumber;
cout << "请输入要删除的商品编号:" << endl;
cin >> productNumber;
int deleteCount = 0;
for (int i = 0; i < count; i++) {
if (orders[i].productNumber == productNumber) {
displayOrder(orders[i]);
cout << "确认要删除该订单吗?(Y/N)" << endl;
char c;
cin >> c;
if (c == 'Y' || c == 'y') {
for (int j = i; j < count - 1; j++) {
orders[j] = orders[j + 1];
}
count--;
deleteCount++;
}
}
}
if (deleteCount == 0) {
cout << "没有找到订单!" << endl;
}
else {
cout << "共删除了 " << deleteCount << " 个订单!" << endl;
}
}
else if (choice == 3) {
string recipientName;
cout << "请输入收件人姓名:" << endl;
cin >> recipientName;
int deleteCount = 0;
for (int i = 0; i < count; i++) {
if (orders[i].recipientName == recipientName) {
displayOrder(orders[i]);
cout << "确认要删除该订单吗?(Y/N)" << endl;
char c;
cin >> c;
if (c == 'Y' || c == 'y') {
for (int j = i; j < count - 1; j++) {
orders[j] = orders[j + 1];
}
count--;
deleteCount++;
}
}
}
if (deleteCount == 0) {
cout << "没有找到订单!" << endl;
}
else {
cout << "共删除了 " << deleteCount << " 个订单!" << endl;
}
}
else {
cout << "输入有误!" << endl;
}
}
// 浏览订单
void browseOrder() {
if (count == 0) {
cout << "系统中无订单!" << endl;
}
else {
cout << "所有订单信息如下:" << endl;
for (int i = 0; i < count; i++) {
displayOrder(orders[i]);
}
}
}
// 显示订单信息
void displayOrder(Order order) {
cout << "订单编号:" << order.orderNumber << endl;
cout << "商品编号:" << order.productNumber << endl;
cout << "商品名称:" << order.productName << endl;
cout << "商品单价:" << order.productPrice << endl;
cout << "商品数量:" << order.productQuantity << endl;
cout << "收件人地址:" << order.recipientAddress << endl;
cout << "收件人姓名:" << order.recipientName << endl;
cout << "收件人电话:" << order.recipientPhone << endl;
cout << endl;
}
// 运行订单管理系统
void run() {
cout << "请输入登录口令:" << endl;
string inputPassword;
cin >> inputPassword;
if (inputPassword != password) {
cout << "登录失败!" << endl;
return;
}
cout << "欢迎使用订单管理系统!" << endl;
while (true) {
cout << "请选择功能:" << endl;
cout << "1. 添加订单" << endl;
cout << "2. 查找订单" << endl;
cout << "3. 修改订单" << endl;
cout << "4. 删除订单" << endl;
cout << "5. 浏览订单" << endl;
cout << "6. 退出系统" << endl;
int choice;
cin >> choice;
switch (choice) {
case 1:
addOrder();
break;
case 2:
searchOrder();
break;
case 3:
modifyOrder();
break;
case 4:
deleteOrder();
break;
case 5:
browseOrder();
break;
case 6:
cout << "谢谢使用,再见!" << endl;
return;
default:
cout << "输入有误!" << endl;
break;
}
}
}
};
int main() {
OrderManagementSystem system("123456");
system.run();
return 0;
}
```
注意:这只是一个简单的实现,还有很多细节需要完善,比如输入的数据类型、错误处理等。