C++实现团购订单管理系统
概述
本团购订单管理系统有如下功能:
- 添加新订单
- 修改已有订单
- 删除已有订单
- 查看所有订单
- 根据订单号查看特定订单
实现步骤
步骤一:定义订单类
class Order {
public:
string orderNo; // 订单号
string productName; // 商品名称
int quantity; // 数量
double price; // 单价
double totalPrice; // 总价
string buyer; // 购买人
string contact; // 联系方式
public:
// 构造函数
Order(string orderNo, string productName, int quantity, double price, double totalPrice, string buyer, string contact);
// 显示订单详细信息
void showOrderDetails();
};
步骤二:实现订单类的构造函数和显示订单详细信息函数
Order::Order(string orderNo, string productName, int quantity, double price, double totalPrice, string buyer, string contact) {
this->orderNo = orderNo;
this->productName = productName;
this->quantity = quantity;
this->price = price;
this->totalPrice = totalPrice;
this->buyer = buyer;
this->contact = contact;
}
void Order::showOrderDetails() {
cout << "订单号:" << orderNo << endl;
cout << "商品名称:" << productName << endl;
cout << "数量:" << quantity << endl;
cout << "单价:" << price << endl;
cout << "总价:" << totalPrice << endl;
cout << "购买人:" << buyer << endl;
cout << "联系方式:" << contact << endl;
}
步骤三:实现订单管理类
class OrderManager {
private:
vector<Order> orders; // 存储所有订单
int getOrderIndex(string orderNo); // 根据订单号获取订单在vector中的下标
public:
// 添加新订单
void addNewOrder(Order order);
// 修改已有订单
void modifyOrder(string orderNo);
// 删除已有订单
void deleteOrder(string orderNo);
// 查看所有订单
void showAllOrders();
// 根据订单号查看特定订单
void showOrderDetails(string orderNo);
};
步骤四:实现订单管理类的成员函数
// 添加新订单
void OrderManager::addNewOrder(Order order) {
orders.push_back(order);
cout << "添加成功!" << endl;
}
// 修改已有订单
void OrderManager::modifyOrder(string orderNo) {
int index = getOrderIndex(orderNo);
if(index == -1) {
cout << "不存在此订单!" << endl;
return;
}
orders[index].showOrderDetails();
cout << "请输入修改后的信息:" << endl;
string productName, buyer, contact;
int quantity;
double price;
cout << "商品名称:";
cin >> productName;
cout << "数量:";
cin >> quantity;
cout << "单价:";
cin >> price;
cout << "购买人:";
cin >> buyer;
cout << "联系方式:";
cin >> contact;
double totalPrice = quantity * price;
orders[index] = Order(orderNo, productName, quantity, price, totalPrice, buyer, contact);
cout << "修改成功!" << endl;
}
// 删除已有订单
void OrderManager::deleteOrder(string orderNo) {
int index = getOrderIndex(orderNo);
if(index == -1) {
cout << "不存在此订单!" << endl;
return;
}
orders.erase(orders.begin() + index);
cout << "删除成功!" << endl;
}
// 查看所有订单
void OrderManager::showAllOrders() {
cout << "订单列表:" << endl;
for(int i=0; i<orders.size(); i++) {
cout << "------------------------------" << endl;
orders[i].showOrderDetails();
cout << "------------------------------" << endl;
}
}
// 根据订单号查看特定订单
void OrderManager::showOrderDetails(string orderNo) {
int index = getOrderIndex(orderNo);
if(index == -1) {
cout << "不存在此订单!" << endl;
return;
}
orders[index].showOrderDetails();
}
// 根据订单号获取订单在vector中的下标
int OrderManager::getOrderIndex(string orderNo) {
for(int i=0; i<orders.size(); i++) {
if(orders[i].orderNo == orderNo) {
return i;
}
}
return -1;
}
步骤五:实现主函数
int main() {
OrderManager orderManager;
while(true) {
cout << "请选择功能(输入1-5的数字):" << endl;
cout << "1. 添加新订单" << endl;
cout << "2. 修改已有订单" << endl;
cout << "3. 删除已有订单" << endl;
cout << "4. 查看所有订单" << endl;
cout << "5. 根据订单号查看特定订单" << endl;
int choice;
cin >> choice;
if(choice == 1) {
string orderNo, productName, buyer, contact;
int quantity;
double price;
cout << "请输入订单号:";
cin >> orderNo;
cout << "请输入商品名称:";
cin >> productName;
cout << "请输入数量:";
cin >> quantity;
cout << "请输入单价:";
cin >> price;
cout << "请输入购买人:";
cin >> buyer;
cout << "请输入联系方式:";
cin >> contact;
double totalPrice = quantity * price;
Order order(orderNo, productName, quantity, price, totalPrice, buyer, contact);
orderManager.addNewOrder(order);
}
else if(choice == 2) {
string orderNo;
cout << "请输入订单号:";
cin >> orderNo;
orderManager.modifyOrder(orderNo);
}
else if(choice == 3) {
string orderNo;
cout << "请输入订单号:";
cin >> orderNo;
orderManager.deleteOrder(orderNo);
}
else if(choice == 4) {
orderManager.showAllOrders();
}
else if(choice == 5) {
string orderNo;
cout << "请输入订单号:";
cin >> orderNo;
orderManager.showOrderDetails(orderNo);
}
else {
cout << "输入有误,请重新选择!" << endl;
}
}
return 0;
}
示例说明
示例一:添加新订单
- 用户输入1,选择添加新订单功能。
- 程序提示用户输入订单信息,如订单号、商品名称、数量、单价、购买人和联系方式。
- 程序根据用户输入的信息创建一个新的订单,并存储到订单管理类中。
- 程序显示“添加成功!”。
示例二:修改已有订单
- 用户输入2,选择修改已有订单功能。
- 程序提示用户输入要修改的订单号。
- 程序查找对应的订单,如存在则显示其详细信息,然后提示用户输入修改后的信息。
- 程序根据用户输入的信息更新订单。
- 程序显示“修改成功!”或“不存在此订单!”等提示信息。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C++实现团购订单管理系统 - Python技术站