Compare commits

..

4 Commits

Author SHA1 Message Date
236cbb7740 删除多余代码,添加值得注意的注释 2025-09-29 15:04:16 +08:00
e21fae702e 全部显示接入msgbox 2025-09-29 14:55:11 +08:00
ba0bdac7f0 再次简化校验部分代码 2025-09-29 14:53:03 +08:00
daee60c469 修复类型判定导致死循环的bug 2025-09-29 14:49:35 +08:00
2 changed files with 22 additions and 22 deletions

View File

@@ -107,9 +107,13 @@ void CosmeticManager::displayAll() const {
for (int i = 0; i < count; ++i) {
std::cout << "品牌: " << cosmetics[i]->getName()
<< " | 价格: " << cosmetics[i]->getPrice()
<< " | 类型: " << (cosmetics[i]->getType() ? "国产" : "进口")
<< " | 类型: " << (cosmetics[i]->getType() ? "国产" : "进口")// 注意这里还为开放其他类型若需2种以上要新构建
<< " | 过期日期: " << cosmetics[i]->getExpirationDate() // 新增
<< std::endl;
launchWindow("化妆品信息", "品牌: " + cosmetics[i]->getName()
+ " | 价格: " + std::to_string(cosmetics[i]->getPrice())
+ " | 类型: " + (cosmetics[i]->getType() ? "国产" : "进口")// 注意这里还为开放其他类型若需2种以上要新构建
+ " | 过期日期: " + cosmetics[i]->getExpirationDate());
}
}
// 查找临期化妆品小于60天

View File

@@ -29,6 +29,18 @@ bool getAndValidateDate(CosmeticManager& manager, std::string& expirationDate) {
return true;
}
// 获取并验证类型输入
bool getAndValidateType(int& type, CosmeticManager& manager) {
std::cout << "输入类型 (1-国产, 0-进口): ";
std::cin >> type;
if (type != 1 && type != 0) {
std::cout << "类型输入错误请输入1-国产, 0-进口" << std::endl;
manager.launchWindow("类型输入错误","请输入1-国产, 0-进口");
return false;
}
return true;
}
int main() {
CosmeticManager manager;
manager.loadFromFile(); // 启动时加载数据
@@ -37,7 +49,7 @@ int main() {
int choice;
std::string name;
double price;
bool type;
int type;
std::string expirationDate;// 过期日期
std::string msgboxTitle, msgboxContent;// 消息框标题和内容
displayMenu();
@@ -48,13 +60,7 @@ int main() {
std::cin >> name;
std::cout << "输入价格: ";
std::cin >> price;
std::cout << "输入类型 (1-国产, 0-进口): ";
std::cin >> type;
if (type!=1 && type!=0) {
msgboxTitle="添加失败";
msgboxContent="类型输入错误请输入1-国产, 0-进口";
std::cout << msgboxContent << std::endl;
manager.launchWindow(msgboxTitle,msgboxContent);
if (!getAndValidateType(type, manager)) {
break;
}
if (!getAndValidateDate(manager, expirationDate)) {
@@ -104,17 +110,13 @@ int main() {
if (cosmetic) {
std::cout << "品牌: " << cosmetic->getName() << "\n"
<< "价格: " << cosmetic->getPrice() << "\n"
<< "类型: " << (cosmetic->getType() ? "国产" : "进口") << "\n"
<< "类型: " << (cosmetic->getType() ? "国产" : "进口") << "\n"// 注意这里还为开放其他类型若需2种以上要新构
<< "过期日期: " << cosmetic->getExpirationDate() << "\n"
<< std::endl;
manager.launchWindow("查询成功",cosmetic->getName() + "\n"
+ "价格: " + std::to_string(cosmetic->getPrice()) + "\n"
+ "类型: " + (cosmetic->getType() ? "国产" : "进口") + "\n"
+ "过期日期: " + cosmetic->getExpirationDate());
msgboxTitle="查询成功";
msgboxContent=cosmetic->getName() + "\n"
+ "价格: " + std::to_string(cosmetic->getPrice()) + "\n"
+ "类型: " + (cosmetic->getType() ? "国产" : "进口") + "\n"
+ "类型: " + (cosmetic->getType() ? "国产" : "进口") + "\n"// 注意这里还为开放其他类型若需2种以上要新构建
+ "过期日期: " + cosmetic->getExpirationDate();
std::cout << msgboxContent << std::endl;
manager.launchWindow(msgboxTitle,msgboxContent);
@@ -133,13 +135,7 @@ int main() {
std::cin >> name;
std::cout << "输入新价格: ";
std::cin >> price;
std::cout << "输入新类型 (1-国产, 0-进口): ";
std::cin >> type;
if (type!=1 && type!=0) {
msgboxTitle="类型输入错误";
msgboxContent="请输入1-国产, 0-进口";
std::cout << msgboxContent << std::endl;
manager.launchWindow(msgboxTitle,msgboxContent);
if (!getAndValidateType(type, manager)) {
break;
}
if (!getAndValidateDate(manager, expirationDate)) {