From c5cd2f28e260f6c03b1d8f249b26a8418bf42222 Mon Sep 17 00:00:00 2001 From: MrJiaGe <3060669380@qq.com> Date: Mon, 29 Sep 2025 11:12:03 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A6=81=E6=AD=A2=E6=B7=BB=E5=8A=A0=E9=87=8D?= =?UTF-8?q?=E5=A4=8D=E7=9A=84=E5=93=81=E7=89=8C=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CosmeticManager.cpp | 10 +++++++++- CosmeticManager.h | 2 +- main.cpp | 6 +++++- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/CosmeticManager.cpp b/CosmeticManager.cpp index 43dd5e9..99fd57c 100644 --- a/CosmeticManager.cpp +++ b/CosmeticManager.cpp @@ -25,12 +25,19 @@ void CosmeticManager::resizeArray() { capacity = newCapacity; } -void CosmeticManager::addCosmetic(const Cosmetic& cosmetic) { +bool CosmeticManager::addCosmetic(const Cosmetic& cosmetic) { + // 先检查品牌名是否已存在 + if (findCosmetic(cosmetic.getName()) != nullptr) { + std::cout<<"错误:品牌名已存在"<= capacity) { resizeArray(); } cosmetics[count++] = new Cosmetic(cosmetic); saveToFile(); + return true; // 添加成功 } bool CosmeticManager::deleteCosmetic(const std::string& name) { @@ -146,3 +153,4 @@ bool CosmeticManager::isValidDate(const std::string& date) { return day <= maxDay; } + diff --git a/CosmeticManager.h b/CosmeticManager.h index 4b07258..6fb3977 100644 --- a/CosmeticManager.h +++ b/CosmeticManager.h @@ -10,7 +10,7 @@ public: CosmeticManager(); ~CosmeticManager(); - void addCosmetic(const Cosmetic& cosmetic); + bool addCosmetic(const Cosmetic& cosmetic); bool deleteCosmetic(const std::string& name); Cosmetic* findCosmetic(const std::string& name); bool modifyCosmetic(const std::string &name, double newPrice, bool newType, std::string string); diff --git a/main.cpp b/main.cpp index 91a59d9..6a3db06 100644 --- a/main.cpp +++ b/main.cpp @@ -50,7 +50,11 @@ int main() { break; } manager.addCosmetic(Cosmetic(name, price, type, expirationDate)); - std::cout << "添加成功!" << std::endl; + if (manager.addCosmetic(Cosmetic(name, price, type, expirationDate))) { + std::cout << "添加成功!" << std::endl; + } else { + std::cout << "添加失败!原因请检查日志。" << std::endl; + } break; } case 2: {