禁止添加重复的品牌名
This commit is contained in:
@@ -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<<"错误:品牌名已存在"<<std::endl;
|
||||
return false; // 品牌名已存在,添加失败
|
||||
}
|
||||
|
||||
if (count >= 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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
4
main.cpp
4
main.cpp
@@ -50,7 +50,11 @@ int main() {
|
||||
break;
|
||||
}
|
||||
manager.addCosmetic(Cosmetic(name, price, type, expirationDate));
|
||||
if (manager.addCosmetic(Cosmetic(name, price, type, expirationDate))) {
|
||||
std::cout << "添加成功!" << std::endl;
|
||||
} else {
|
||||
std::cout << "添加失败!原因请检查日志。" << std::endl;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 2: {
|
||||
|
||||
Reference in New Issue
Block a user