如何让程序在邮箱输入错误时回到输入邮箱步骤?C++开发问题
解决方案:用循环实现重复验证输入
你需要把邮箱输入和验证的逻辑放到循环里,直到用户输入有效的邮箱地址后,才继续执行后续的ID输入步骤。这里用do-while循环最直观,因为不管怎样先执行一次输入操作:
#include <iostream> #include <string> using namespace std; // 假设你的Email_check函数是这样的(示例逻辑) bool Email_check(const string& str) { // 这里写你的实际邮箱验证逻辑,比如判断是否包含@和有效后缀 size_t atPos = str.find('@'); size_t dotPos = str.find('.', atPos); return atPos != string::npos && dotPos != string::npos && dotPos > atPos + 1; } int main() { string str; string newid; do { cout << "\tEnter a new email address: "; cin >> str; if (!Email_check(str)) { cout << "\tEmail Address is not valid." << endl; } } while (!Email_check(str)); // 邮箱无效就重复循环 // 邮箱验证通过后,才执行ID输入 cout << "\tEnter a new ID number: "; cin >> newid; // 后续业务逻辑... return 0; }
关键调整说明:
do-while循环会先执行一次输入和验证,之后判断!Email_check(str),只要邮箱无效就重新进入循环,直到输入有效邮箱才跳出。- 把ID输入的代码移到循环外部,确保只有邮箱验证通过后才会执行这一步。
- 你原来写的空
cout<<"";可以直接删掉,验证通过不需要额外输出,直接进入后续流程即可。
内容的提问来源于stack exchange,提问作者christian romero
相关产品推荐
相关产品推荐

