diff --git a/main.cpp b/main.cpp index 7104f98..f81b8b9 100644 --- a/main.cpp +++ b/main.cpp @@ -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(); // 启动时加载数据 @@ -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)) {