You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让程序在邮箱输入错误时回到输入邮箱步骤?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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 07:10:31