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: {