Compare commits

...

2 Commits

Author SHA1 Message Date
ba0bdac7f0 再次简化校验部分代码 2025-09-29 14:53:03 +08:00
daee60c469 修复类型判定导致死循环的bug 2025-09-29 14:49:35 +08:00

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)) {
@@ -133,13 +139,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)) {