禁止添加重复的品牌名

This commit is contained in:
2025-09-29 11:12:03 +08:00
parent cb7d499189
commit c5cd2f28e2
3 changed files with 15 additions and 3 deletions

View File

@@ -25,12 +25,19 @@ void CosmeticManager::resizeArray() {
capacity = newCapacity; capacity = newCapacity;
} }
void CosmeticManager::addCosmetic(const Cosmetic& cosmetic) { bool CosmeticManager::addCosmetic(const Cosmetic& cosmetic) {
// 先检查品牌名是否已存在
if (findCosmetic(cosmetic.getName()) != nullptr) {
std::cout<<"错误:品牌名已存在"<<std::endl;
return false; // 品牌名已存在,添加失败
}
if (count >= capacity) { if (count >= capacity) {
resizeArray(); resizeArray();
} }
cosmetics[count++] = new Cosmetic(cosmetic); cosmetics[count++] = new Cosmetic(cosmetic);
saveToFile(); saveToFile();
return true; // 添加成功
} }
bool CosmeticManager::deleteCosmetic(const std::string& name) { bool CosmeticManager::deleteCosmetic(const std::string& name) {
@@ -146,3 +153,4 @@ bool CosmeticManager::isValidDate(const std::string& date) {
return day <= maxDay; return day <= maxDay;
} }

View File

@@ -10,7 +10,7 @@ public:
CosmeticManager(); CosmeticManager();
~CosmeticManager(); ~CosmeticManager();
void addCosmetic(const Cosmetic& cosmetic); bool addCosmetic(const Cosmetic& cosmetic);
bool deleteCosmetic(const std::string& name); bool deleteCosmetic(const std::string& name);
Cosmetic* findCosmetic(const std::string& name); Cosmetic* findCosmetic(const std::string& name);
bool modifyCosmetic(const std::string &name, double newPrice, bool newType, std::string string); bool modifyCosmetic(const std::string &name, double newPrice, bool newType, std::string string);

View File

@@ -50,7 +50,11 @@ int main() {
break; break;
} }
manager.addCosmetic(Cosmetic(name, price, type, expirationDate)); 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; break;
} }
case 2: { case 2: {